在Unity C中绕中心点旋转#

时间:2015-11-07 23:55:19

标签: c# unity3d

我想在z轴上旋转相机(颠倒),但白胶囊总是需要位于相机的中心(见图)。

enter image description here

提前致谢!

2 个答案:

答案 0 :(得分:3)

如果您不熟悉三角学,最简单的方法是使用LookAt方法。 http://docs.unity3d.com/ScriptReference/Transform.LookAt.html

将相机的位置设置到您想要的位置,然后使用LookAt旋转相机的变换。

答案 1 :(得分:3)

LootAt是一个选项,但您也可以使用Transform.RotateAround()。在你的情况下,它会是这样的:

Camera.main.transform.RotateAround(cubeTransform.position, Vector3.forward, angle);

这意味着立方体的变换将使用z轴(向前)以angle角度围绕胶囊的位置旋转。假设您的相机已经定位以观察胶囊,而相机的前轴恰好是z轴。

如果相机的前轴不是z轴,则可以使用Camera.main.position - capsuleTransform.main.position代替Vector3.forward作为轴。