首先,先明白左右旋轉是改變對象Y軸的rotation的value,上下是改變X軸的rotation的值,所以旋轉控制實際上就是實時獲取Y軸和X軸的改變值。
首先,我們實現對一個人的身體的旋轉。
Vector3 Rotation = Vector3.zero;//先定義一個Vector變量
Rotation.y +=Input.GetAxis("Mouse X")*MouseSensitivity;//得到左右旋轉的角度的大小
Vector3 rotation = transform.eulerAngles;//獲得本身對象原來的角度。
rotation.y = Rotation.y ;//將Y軸角度改變爲我們獲得的左右旋轉的角度大小
transform.eulerAngles = rotation;//再講改變後的賦值回去
以上代碼完成了身體的左右旋轉,這裏沒有實現上下,因爲身體不可能有上下的旋轉 - 。-
這裏講一下左右旋轉的角度的獲取Rotation.y +=Input.GetAxis("Mouse X")*MouseSensitivity;
Input.GetAxis函數用來獲取我們鼠標在X軸上的旋轉距離(-1到1),再將這個數值乘上我們的鼠標靈敏度加上原來的y軸角度,就是鼠標旋轉後的角度。
再把身體原來的角度的y值改變,其餘不變就行。
那麼上下旋轉也很簡單
Vector3 Rotation = Vector3.zero;
Rotation.x -=Input.GetAxis("Mouse Y")*MouseSensitivity;
Vector3 rotation = transform.eulerAngles;
rotation.x = Rotation.x ;
transform.eulerAngles = rotation;
將Y改成X就行,這裏要特別注意,原來的+號改成-,因爲鼠標往上移動對於Y軸是正向的,但是物體的X軸是正值卻是往下旋轉,正好相反。