问题标签 [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.
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 的子节点时,此移动会自动发生。
有更好的方法吗?
ios - SCNScene / SCNSphere 的可视区域
我有一个 SCNScene ,其中包含一个封装 SCNCamera 的 SCNSphere(相机位于 SCNSphere 的@中心内,在屏幕上显示其内壁)。
是否有查询方法或推断/计算该球体的可见区域的方法?我不想要以点为单位的屏幕区域或场景本身的区域,而是相机能够在给定设备的屏幕上从这个球体渲染的内容(ipad 和 iphone 确实显示了不同数量的 360 帧)
帮助表示赞赏。
ios - 访问 SCNSphere 属性
我正在尝试访问/修改SCNSphere
我在SCNScene
. 我将场景预设为一个名为“spaceScene.scn”的文件。我正在加载场景
我似乎无法通过阅读地球的材料属性。我不断收到一个实例错误:SCNSphere
-[SCNNode materials]: unrecognized selector sent to instance 0x1701c5550
对这个问题感觉有点傻,但请有人告诉我如何访问球体属性?谢谢
ios - SCNGeometry 与多边形作为primitiveType
试图弄清楚我如何创建一个以多边形为primitiveType的SCNGeometry,我的目标是添加多边形节点作为球体节点的子节点,并使其看起来像地图套件的MKPolygon,就像在这个例子中一样。
我目前的代码是:
当像这样使用SCNGeometryElement时,我得到一个空节点。
rotation - 轴随 SCNNode 旋转
如果我将球体绕 x 轴旋转 90 度,轴也会随之旋转。因此,首先垂直的 y 轴现在在开始时具有 z 轴的位置。
我希望我的轴固定,这样如果我绕 x 轴 (1,0,0) 旋转,它总是从前/后和从左/右绕 y 轴 (0,1,0) 旋转。
因此我必须用法线计算它吗?投入赞赏。
scenekit - 用户旋转场景/相机时如何不旋转 SCNSphere 中的环绕文本
我使用上面的代码来创建一个几何图形,然后用下面的代码创建的文本图像包装它SCNNode
:SCNSphere
除了当用户开始旋转场景时,这一切都有效,球体随着场景旋转并且文本移动到球体的后面,超出了用户的视野。
我怎样才能让文本始终在用户的视图中,即不让文本随着相机/场景旋转而旋转?
ios - 如何为 SCNSphere 选择合适的半径?
我正在开发 360 度图像查看器,为此我使用 SCNSphere。问题是创建球体时应该使用什么半径?
到目前为止,我注意到将半径设置在 10 到 100 之间的任何位置都可以在我的图像上正常工作。但是,假设图像环绕球体,半径不应该是 2*Pi / image.width (其中 C = 2*Pi*R)?不知何故,这在我使用的尺寸为 1600 x 800 的图像上根本不起作用。
这是我的代码:
为了澄清这个问题:如何为 SCNSphere 选择合适的半径,图像(比如尺寸为 1600x800)作为材料?
谢谢!
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?