objective-c – 旋转后如何在SceneKit中获取子节点的实际位置?
发布时间:2020-12-16 03:45:22 所属栏目:百科 来源:网络整理
导读:我正在使用SceneKit开发一个场景.我有一个带有子节点的主节点: // Main nodeSCNNode* planet = [SCNNode node];planet.geometry = [SCNSphere sphereWithRadius:2];planet.position = SCNVector3Make(0,-3,5);// sub-nodeSCNNode* satellite = [SCNNode nod
我正在使用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); [planet addChildNode:satellite]; [scene.rootNode addChildNode:planet]; 我使用NSTimer来制作一些动作和一些动画.在计时器事件中,我这样做: planetRotation = 0.1; 但是,如果我试图获得卫星节点的位置,我总是得到相同的值. 当我改变父节点的旋转时,如何获得子节点的实际位置? 提前致谢 解决方法
节点的位置以其父坐标系表示.就像UIKIt / AppKit中的视图一样.如果更改视图的框架,则其子视图的框架不会更改.
你想要的是我们称之为子节点的世界变换(即它在场景的根节点的坐标系中表示的变换). 你可以看看 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ReactJS组件的生命周期
- c# – Marshal.GetActiveObject(“Outlook.Application”)在
- Oracle SQL – 在select中选择(在同一个表中!)
- 仿百度文库方案[openoffice.org 3+swftools+flexpaper](七)
- 关于oracle中时间查询的问题
- ruby-on-rails – 什么是omniauth和电子邮件密码注册最佳实
- c# – 将一些LINQ查询传递给函数的参数?
- Adroid----数据存储之SQLite(1)
- ruby-on-rails – 在Rails中从/ public目录提供字体的缺点?
- Oracle启动报错:ORA-03113: end-of-file on communication