在这里找到这个答案: Rotate a gameobject in Unity
我发现这非常有用,但我想将旋转仅分配给Z轴,这是我无法工作的。
using UnityEngine;
using System.Collections;
public class Rotation : MonoBehaviour {
public GameObject Player;
public GameObject PlayerCube;
// Use this for initialization
void Start () {
var playerMapPos = Player;
var playerWorldPos = PlayerCube;
PlayerCube.transform.rotation = Player.transform.rotation;
}
// Update is called once per frame
void Update () {
}
}
答案 0 :(得分:1)
要限制旋转轴,需要使用欧拉角而不是四元数。首先,将旋转四元数转换为欧拉角,然后根据需要修改旋转(将除y以外的所有轴分配为0),然后将其转换回来。
答案 1 :(得分:1)
您也可以使用Quaternion,但需要具体说明要旋转的数量以及要应用的Vector3方向(即:Vector3.up)
PlayerCube.transform.rotation = Quaternion.AngleAxis(angle, Vector3.up);