当父母旋转时,孩子的位置不会改变
问题描述:
我觉得这很简单,但我一直在寻找一个在线解决方案,并且找不到合适的结果 - 如果它已被写入,则表示歉意。当父母旋转时,孩子的位置不会改变
我有一个球,它是在其上缓慢旋转是用一个简单的脚本,Y轴:transform.Rotate(0, Time.deltaTime, 0);
我有连接到这个领域,其与母公司旋转的子对象。到现在为止还挺好。
我已经把枢轴孩子的心,我试图让子对象的位置,因为它是使用父旋转:
void Update()
{
Debug.Log(this.transform.position);
}
然而,更新提供的位置孩子好像没有从父母那里得到。
你们是否可以指出我在获取儿童位置的方向,当它连接到球体父母更新时?
谢谢你的时间和耐心。
答
不确定要真正理解什么“孩子在附属于球体父母时的位置,因为它更新”意味着但我会试一试。
我想您的层次结构是这样的:
-- Sphere (rotating along its Y axis)
-- Child (that rotates with "Sphere" parent)
-- Pivot (in the center of the "Child" object and rotating along its Y axis)
-- Child2 (that rotates with "Pivot" parent)
如果你想获得CHILD2相对球的位置,你可以做这样的事情:Vector3 relativePosition = Child2.transform.position - Sphere.transform.position;
您也可以使用Transform.localPosition来获取对象相对于其父对象的位置。在这种情况下,你可以使用这种方式:Vector3 relativePosition = Child.transform.localPosition + Pivot.transform.localPosition + Child2.transform.localPosition
希望这有助于
你好Kardux,这是非常有用的故障排除 - 我这是位新秀的错误 - 枢轴的孩子在模特的中心。一旦我重置了这个数据透视表并重新导入它 - 它与你以前的一段代码一起工作。基本上我想更新孩子的位置,所以它的代码与线渲染器一起使用。感谢您的时间和耐心。 –
是的,当玩弄皮特对齐对象,错误放置枢轴可以搞砸你的头脑相当快:)很高兴它帮助! – Kardux