【发布时间】:2018-03-30 01:20:42
【问题描述】:
所以我正在创建一个 2D 项目。我希望我的 2D 精灵(一条蠕虫)在我的游戏平面中的特定点(例如足球精灵)的方向上旋转。我尝试使用LookRotation,但问题是蠕虫没有垂直于相机,因此它在 2D 视图中不可见。我的游戏在 X/Y 平面上。
当我运行它时,它看起来像这样; Image 1(注意看不到蠕虫了?)
这是 3D 视图; Image 2
这是代码;
Vector3 relativePos = target.transform.position - worm.transform.position;
Quaternion rotation = Quaternion.LookRotation (relativePos);
worm.transform.rotation = rotation;
另外,改变向上的方向,比如将其设置为vector3.forward 是行不通的。非常感谢。
【问题讨论】:
-
您应该将所有平面游戏元素组合在一起,然后将整个组旋转到面向相机,同时通过抑制其中一个坐标将元素视为 2D。
标签: c# unity3d rotation quaternions