问题标签 [scnnode]

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 回答
691 浏览

scenekit - 如何在 SceneKit 中将 allowCameraControl 与相机节点一起使用

我有一个相机节点,它已经设置了一个投影变换矩阵(不是身份),并且可以看到一些带有属性模型视图矩阵的 3D 模型。当我将 allowCameraControl 设置为 YES 时,如果做任何手势,我就看不到任何对象。

首先,是否需要设置任何属性才能让allowCameraControl可以用于用户定义的相机节点?

其次,我认为只是将相机节点设置为默认节点,并将最终模型视图矩阵设置为 SCNMatrix4Mult(modelViewMatrix,projectionTransformMatrix)。这样做之后,我可以看到 3D 模型,但它们看起来很奇怪。模型的比例不等于屏幕的。

有什么好的解决办法吗?

0 投票
2 回答
1032 浏览

ios - SceneKit:更改 SceneKit 文本的枢轴/轴

我通过使用 Interface Builder 将 3D 文本拖到场景中创建了这个 SceneKit 文本。

它是这样创建的:

在此处输入图像描述

轴位于左下方。有没有办法使用界面生成器使轴在该文本上居中?

0 投票
1 回答
270 浏览

ios - SceneKit:更改着色器参数对对象没有影响

我在 Maya 上创建了一个对象并导出到一个dae文件。该对象是一个包裹在纹理中的圆柱体。在 Maya 上创建并导入 SceneKit 的着色器是具有以下特征的 Phong:

在此处输入图像描述

我使用以下参数向场景添加全向光:

在此处输入图像描述 在此处输入图像描述

圆柱体似乎被灯光吹散,过度照明。但只是那个气缸。场景中的其他对象看起来很好。

当我尝试更改灯光和对象着色器上的任何参数时,我看到界面生成器预览发生了变化,但在 iPhone 上运行应用程序时没有效果。是的,我曾尝试在购买前清理 Xcode 缓存并从 iPhone 中删除该应用程序。没变。

有任何想法吗?

0 投票
1 回答
1143 浏览

ios - Changing the value of string on SCNText produces no change

I am reading the gyro and changing the string of a SCNText geometry to the gyro's yaw value. The change occurs inside the gyro handler that is called every 1/30 seconds. The SCNText geometry was created with Interface Builder.

I am using this code to retrieve a reference to the text:

Later on the gyro handle I do this:

NSLog prints the values correctly but there is no change on the SCNText.

Yes, I have tried to change the text on the main thread. No change.

0 投票
1 回答
1557 浏览

ios - 试图检测在scenekit上点击了什么节点

这是我的问题。我在 Maya 上创建了一个具有以下层次结构的对象:

我将其转换为 DAE 并将其导入 SceneKit。Xcode 将另外两个节点添加到层次结构中。现在的层次结构是:

现在我触摸按钮,我试图确定按钮是否被点击。对我来说唯一重要的节点是bigButton. 当我点击对象并使用此方法时:

result.node告诉我触摸的节点是polySurface1什么polySurface2。它永远不会告诉我bigButton被窃听了,因为那只是一个节点,而不是一个表面。

好的,我可以用它parentNode来检测父节点,但这很愚蠢,因为result.node可以在不同的层次结构级别上或下bigButton。这是唯一能做到这一点的蹩脚模式吗?横向搜索正确节点的层次结构还是有一种漂亮的方法?

谢谢。

0 投票
1 回答
545 浏览

ios - SceneKit 和 SCNBox:使用一种通用纹理但用不同颜色改变外观?

SCNBox 是否可以为材质使用不同的颜色,然后覆盖颗粒状纹理?净效果使您可以有效地创建无限数量的不同颜色的纹理,同时仅使用单个图像。

SceneKit 可以做到这一点吗?

这个问题与这篇文章不同,因为解决方案为不同颜色的纹理建议不同的图像。

0 投票
1 回答
893 浏览

ios - Anti-gravity physics in SceneKit

I am trying to make a simple app where if you tap the screen a box is switched from floating to affected by gravity. I can't seem to find a way to make the box float in the air though.

This code here takes care of half the problem:

This causes the box to drop out of the air and hit a floor I created. Is there anything in SCNPhysicsBody that would do the opposite of this? Say, perhaps, cause objects to float or just sail off toward a ceiling?

Also, I've written this code:

I'm not sure why the while loop doesn't work though. I was thinking it would detect that myBool has been changed and alter the physics of the boxNode, but it doesn't.

0 投票
2 回答
929 浏览

ios - LookAt相机方法?不是 SCNLookAtConstraint

我知道 SceneKit 中存在 SCNLookAtConstraint。但是,这种方法不是我想要的。

我需要的是能够在任何给定时刻将相机指向空间中的一个点(而不是一个节点)。

在世界坐标中有 X、Y、Z,我需要旋转相机以使其指向该点。

这些点会随着时间而改变(意味着不同的点被传递给一个方法,我需要从一个“跳转”到另一个)。

我宁愿跳过计算eulerAngles,我见过的一些解决方案是基于分母中的三角函数和cos(角度)。用户基本上可以通过拖动 cameraNode 来自由旋转。

我在 SceneKit 中缺少什么方法?

0 投票
0 回答
95 浏览

swift - SCNNode 不会低于 0.65

我有一个自定义 dae 文件,并且希望将其缩小以适应某些区域,不幸的是,我发现如果缩放因子低于 0.65,则由于某种原因不会渲染节点。我不确定我做错了什么。这是我目前正在使用的代码。

0 投票
2 回答
437 浏览

ios - 我在scenekit for iOS中编写了一个立方体在地板上滑动,但它沉入了地板

我目前有一个场景,其中一个立方体被放在场景包中的地板上。我为立方体设置了动画,使其在地板上的 x 轴上移动,当它移动时,它会稍微沉入地板,然后重新定位到地板的顶部。

这里只是一些代码:

有人可以帮我找出立方体下沉的原因吗?如果你不知道为什么,也许你可以提供一个角色可以走的工作地板的示例代码?(希望在目标 c 中,但如果需要,我可以从 swift 翻译)