问题标签 [scnsphere]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
831 浏览

ios - SceneKit:使子球体在半透明父球体内可见?

在 SceneKit 中,假设您想在半透明节点 Parent 中嵌入一个节点 Child,这样 Parent 就像一个“笼子”,您可以看穿并查看 Child。

具体来说,Parent 是半径为 2 的 SCNSphere。 Child 是半径为 1 的 SCNSphere,是 Parent 的子节点。

Child 不可见,因为它在 Parent 内部。将 Parent 的不透明度设置为 0.3 或半透明的值也会影响 Child 的不透明度,让您看到 Child 但现在 Child 不再完全不透明。

您如何使 Child 完全不透明但仍然通过 Parent 可见?

一种选择是 Child 一个独立的节点,不再是 Parent 的子节点,而是手动计算将 Child “内部”Parent 居中所需的位置。但这需要在每次 Parent 移动时手动移动 Child,而当 Child 已经是 Parent 的子节点时,此移动会自动发生。

有更好的方法吗?

0 投票
1 回答
146 浏览

ios - SCNScene / SCNSphere 的可视区域

我有一个 SCNScene ,其中包含一个封装 SCNCamera 的 SCNSphere(相机位于 SCNSphere 的@中心内,在屏幕上显示其内壁)。

是否有查询方法或推断/计算该球体的可见区域的方法?我不想要以点为单位的屏幕区域或场景本身的区域,而是相机能够在给定设备的屏幕上从这个球体渲染的内容(ipad 和 iphone 确实显示了不同数量的 360 帧)

帮助表示赞赏。

0 投票
1 回答
1655 浏览

scenekit - 是否可以用鲜红色的 SCNSpotlight 画出清晰的 SCNSphere?

最近几天我在 SceneKit 上有点挣扎。我正在尝试绘制一个清晰/透明的 SCNSphere,带有红色聚光灯。如果我将 SCNSphere 设置为透明/清晰的颜色,我的红色聚光灯似乎也变得透明。是否可以取消 SCNLight 节点与 SCNSphereNode 的链接,以便在 SCNSphere 透明的情况下保留光斑的鲜红色?两个球体的图像都在代码下方。

我的代码:

带有亮红色聚光灯的较暗球体:

带有亮红色聚光灯的较暗球体

更透明的球体,带有柔和的红色聚光灯:

更透明的球体,带有柔和的红色聚光灯

0 投票
2 回答
156 浏览

ios - 访问 SCNSphere 属性

我正在尝试访问/修改SCNSphere我在SCNScene. 我将场景预设为一个名为“spaceScene.scn”的文件。我正在加载场景

我似乎无法通过阅读地球的材料属性。我不断收到一个实例错误:SCNSphere

-[SCNNode materials]: unrecognized selector sent to instance 0x1701c5550

对这个问题感觉有点傻,但请有人告诉我如何访问球体属性?谢谢

0 投票
0 回答
627 浏览

ios - SceneKit:自定义场景半个球体,但底部有黑点,如何细化这个点?

通过使用“geometrySourceWithData”代码,球体的一半,如:

在此处输入图像描述

但是中间有一个大黑点。

在此处输入图像描述

所有球体点都像这张图片:

在此处输入图像描述

或者我尝试使用 SYSTEM sphere: 并且喜欢:它比我创建更好(自定义球体)

在此处输入图像描述

---------------------更新001

设置为不喜欢:

在此处输入图像描述

设置为 YES LIKE:哦,天哪!!!

在此处输入图像描述

- - - - - - - - - - - - - - - - - - - - - - - - -更新20170116

原图:半个球体;

在此处输入图像描述

0 投票
1 回答
2803 浏览

ios - SCNGeometry 与多边形作为primitiveType

试图弄清楚我如何创建一个以多边形为primitiveType的SCNGeometry,我的目标是添加多边形节点作为球体节点的子节点,并使其看起来像地图套件的MKPolygon,就像在这个例子中一样。

MK多边形

我目前的代码是:

当像这样使用SCNGeometryElement时,我得到一个空节点。

0 投票
0 回答
287 浏览

rotation - 轴随 SCNNode 旋转

如果我将球体绕 x 轴旋转 90 度,轴也会随之旋转。因此,首先垂直的 y 轴现在在开始时具有 z 轴的位置。

我希望我的轴固定,这样如果我绕 x 轴 (1,0,0) 旋转,它总是从前/后和从左/右绕 y 轴 (0,1,0) 旋转。

因此我必须用法线计算它吗?投入赞赏。

0 投票
1 回答
41 浏览

scenekit - 用户旋转场景/相机时如何不旋转 SCNSphere 中的环绕文本

我使用上面的代码来创建一个几何图形,然后用下面的代码创建的文本图像包装它SCNNodeSCNSphere

除了当用户开始旋转场景时,这一切都有效,球体随着场景旋转并且文本移动到球体的后面,超出了用户的视野。

我怎样才能让文本始终在用户的视图中,即不让文本随着相机/场景旋转而旋转?

0 投票
0 回答
166 浏览

ios - 如何为 SCNSphere 选择合适的半径?

我正在开发 360 度图像查看器,为此我使用 SCNSphere。问题是创建球体时应该使用什么半径?

到目前为止,我注意到将半径设置在 10 到 100 之间的任何位置都可以在我的图像上正常工作。但是,假设图像环绕球体,半径不应该是 2*Pi / image.width (其中 C = 2*Pi*R)?不知何故,这在我使用的尺寸为 1600 x 800 的图像上根本不起作用。

这是我的代码:

为了澄清这个问题:如何为 SCNSphere 选择合适的半径,图像(比如尺寸为 1600x800)作为材料?

谢谢!

0 投票
1 回答
1042 浏览

ios - Getting location of tap on SCNSphere - Swift (SceneKit) / iOS

I want to create a sample application that allows the user to get information about continents on a globe when they tap on them. In order to do this, I need to figure out the location where a user taps on an SCNSphere object in a scene (SceneKit). I attempted to do it like this:

When I actually run this code however and click on an area on my sphere, it prints out the coordinates of the tap on the screen instead of where I tapped on the sphere. For example, the coordinates are the same when I tap on the center of the sphere, and when I tap it in the center again after rotating the sphere.

I want to know where on the actual sphere I pressed, not just where I click on the screen. What is the best way that I should go about this problem?