【发布时间】:2019-04-05 20:00:46
【问题描述】:
我正在开发一个塔防游戏的原型,我遇到了炮塔旋转的问题。我这样做是为了让每个炮塔都必须有一个旋转器部分,它可以水平旋转并用大炮支撑炮塔主体 strong> 垂直旋转。我为此想出了一个简单的脚本,但它似乎只适用于 rotator 而不适用于 cannon,至少不是它应该的方式。
这是脚本中的代码:
void Update () {
if (target != null) {
Vector3 tempRotatorRotation = rotator.transform.localEulerAngles;
rotator.transform.LookAt (target.transform);
rotator.transform.localEulerAngles = new Vector3 (tempRotatorRotation.x, rotator.transform.localEulerAngles.y, tempRotatorRotation.z);
Vector3 tempCannonRotation = cannon.transform.localEulerAngles;
cannon.transform.LookAt (target.transform);
cannon.transform.localEulerAngles = new Vector3 (cannon.transform.localEulerAngles.x, tempCannonRotation.y, tempCannonRotation.z);
}
}
这是结果的图片。 rotator 完美旋转,但正如您所见,cannon 出于某种原因正在向下看。 (蓝色是不动的底座。绿色是旋转器。红色是炮塔身。浅蓝色是大炮)
【问题讨论】:
-
问题中没有足够的信息来正确回答。在提供更多信息之前,它应该被搁置。
-
这就是所有的信息。你还需要什么?
-
请统一添加炮轴截图。
标签: c# unity3d rotation blender