水平旋转和垂直旋转分别控制:
水平旋转通过playerhandle直接控制,然后在playhandle下面再建一个空对象cameraHandle控制垂直旋转(将空对象拉到脖子的位置),这样就通过两个点控制旋转。
在maincamera下面挂程式码(cameracontroll):
public class cameracontroller : MonoBehaviour {
public PlayerInput pi;//用来在update里面调整
public float horizontalSpeed = 20.0f;
private GameObject playerHandle;
private GameObject cameraHandle;
// Use this for initialization
void Awake() {
cameraHandle = transform.parent.gameObject;//找自己的父层转成gameobject
playerHandle = cameraHandle.transform.parent.gameObject;
}
// Update is called once per frame
void Update () {
playerHandle.transform.Rotate(Vector3.up, pi.Jright * horizontalSpeed * Time.deltaTime);//用rotate方法进行旋转
}
}