【发布时间】:2019-05-20 10:51:07
【问题描述】:
我在 3D 空间中有 3 个对象,但它们只是 3D 对象的 2D 表示。对象 A (Obj-A) 是父对象,还有 2 个不同的对象(Obj-B、Obj-C)作为子对象没有附加到 Obj-A,但我必须像它们的子对象一样移动。我正在移动和旋转 Obj-A,我正在基于 Obj-A 设置 Obj-B 和 Obj-C 的位置,偏移量如下:
objB.transform.position = objA.transform.position + offset;
objC.transform.position = objA.transform.position - offset;
当然,当 Obj-A 旋转时,我希望 Obj-B 和 Obj-C 的位置也受到其旋转的影响。 当我根据与 Obj-A 相同的逻辑旋转 Obj-B 和 Obj-C 时,它们仅在其本地轴上旋转。 基本上它应该是这样的:
我正在开发 Unity,但项目的这一部分是在独立于 Unity 的 C# 脚本上计算的。有了这个,我只能访问对象的变换位置和旋转角度,并且简单地将 Obj-B 和 Obj-C 作为子级添加到 Obj-A 是不可行的。
请帮忙!谢谢!
【问题讨论】:
-
在执行此操作的地方有很多移动脚本,例如,它会让相机跟随玩家而不是孩子。你不明白的究竟是什么
-
在右边的两张图片中,
C相对于A的位置不同,然后在左边的两张图片中......我猜这是一个意外?
标签: c# unity3d game-development