ios – 在SceneKit中将全局转移到本地节点位置

ios – 在SceneKit中将全局转移到本地节点位置,第1张

概述到目前为止,我想出了如何在 Swift(worldTransform)中将本地节点位置转换为全局值. 我的问题是:如何将其转换为另一种方式? (由于旋转,可能会改变子节点的x / y / z轴). 我知道它与convertPosition有关,但我找不到任何可以帮助我理解它的参考. 这就是我想要做的: 节点A是rootNode的子节点,位置为A. 节点B是rootNode的子节点,具有位置B和旋转 到目前为止,我想出了如何在 Swift(worldtransform)中将本地节点位置转换为全局值.

我的问题是:如何将其转换为另一种方式? (由于旋转,可能会改变子节点的x / y / z轴).

我知道它与convertposition有关,但我找不到任何可以帮助我理解它的参考.

这就是我想要做的:
节点A是rootNode的子节点,位置为A.
节点B是rootNode的子节点,具有位置B和旋转B.
节点B1是节点B的子节点,其中包含本地坐标.
我想将Node B1移动到Node A的位置并替换它.

如何将节点A的坐标转换为节点B的本地系统?

干杯

解决方法 你必须在nodeB1的父节点和坐标系中表达新的变换

> nodeA的父坐标系

nodeB1.transform = [nodeB1.parentNode converttransform:nodeA.transform fromNode:nodeA.parentNode];
>或世界坐标系

nodeB1.transform = [nodeB1.parentNode converttransform:nodeA.worldtransform fromNode:nil];

当然,您可以用nodeB替换nodeB1.parentNode,在这种情况下,nodeA的父节点是根节点

总结

以上是内存溢出为你收集整理的ios – 在SceneKit中将全局转移到本地节点位置全部内容,希望文章能够帮你解决ios – 在SceneKit中将全局转移到本地节点位置所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1060919.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-25
下一篇2022-05-25

发表评论

登录后才能评论

评论列表(0条)

    保存