鼠標(鏡頭)旋轉控制

首先,先明白左右旋轉是改變對象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軸是正值卻是往下旋轉,正好相反。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章