旋转后如何获取SceneKit中子节点的实际位置?

用户名

我正在使用SceneKit开发场景。我有一个带有子节点的主节点:

// Main node
SCNNode* planet = [SCNNode node];
planet.geometry = [SCNSphere sphereWithRadius:2];
planet.position = SCNVector3Make(0, -3, 5);
// sub-node
SCNNode* satellite = [SCNNode node];
satellite.geometry = [SCNSphere sphereWithRadius:0.4];
satellite.position = SCNVector3Make(4, 0, 0);
[planet addChildNode:satellite];
[scene.rootNode addChildNode:planet];

我使用NSTimer进行一些动作和一些动画处理。在计时器事件中,我这样做:

planetRotation + = 0.1; planet.rotation = SCNVector4Make(0,1,0,planetRotation);

但是,如果我尝试获取卫星节点的位置,我将始终获得相同的值。我试图让positionnode知道卫星节点的真实位置,但是没有任何变化。

更改父节点的旋转角度时,如何获取子节点的真实位置?

提前致谢

手法

节点的位置以其父坐标系表示。就像UIKIt / AppKit中的视图一样。如果更改视图的框架,则其子视图的框架不会更改。

您想要的就是我们所说的子节点的世界变换(即,以场景根节点的坐标系表示的变换)。

您可以查看worldTransform-convertPosition:toNode:

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在SceneKit中按所需方向旋转后,如何转换相机节点位置?

来自分类Dev

旋转节点,使其指向SceneKit中的特定位置

来自分类Dev

旋转后如何获取元素(DIV)的原始位置?

来自分类Dev

在SceneKit中旋转节点

来自分类Dev

移动节点后获取位置

来自分类Dev

旋转过渡后如何将节点返回到其原始位置

来自分类Dev

旋转后获取div角像素位置

来自分类Dev

SceneKit节点旋转是否累积

来自分类Dev

SceneKit –获取节点的高度

来自分类Dev

SceneKit –获取节点的高度

来自分类Dev

旋转对象后如何调整鼠标位置?

来自分类Dev

更新后如何获取位置?

来自分类Dev

如何获取HTML中根节点的实际宽度和高度?

来自分类Dev

如何从XML获取基于XPath中子节点值的特定块(组)?

来自分类Dev

如何根据SceneKit中的某些变量控制3D对象的位置(或旋转)?

来自分类Dev

如何从Xpath中的父节点获取所选节点的位置

来自分类Dev

如何从Xpath中的父节点获取所选节点的位置

来自分类Dev

如何获取OpenGL ES 2.0中顶点的实际位置

来自分类Dev

如何计算树中子节点的路径?

来自分类Dev

旋转后的线位置-摆动

来自分类Dev

旋转后重新计算位置

来自分类Dev

滚动tableview后如何获取tableviewcell的位置

来自分类Dev

滚动tableview后如何获取tableviewcell的位置

来自分类Dev

CSS转换后如何获取元素位置

来自分类Dev

获取XML节点位置

来自分类Dev

获取实际的触摸位置LibGDX

来自分类Dev

围绕其中心旋转SCNText节点(Swift-Scenekit)

来自分类Dev

围绕其中心旋转SCNText节点(Swift-Scenekit)

来自分类Dev

如何获得VBA中子比赛的位置?