在Unity3D中,我正在努力控制球。我的目標如下:Unity3D控制球
- 讓球旋轉球面臨
- 確保球在視覺上旋轉的球的方向
- 移動正在
我我試圖做的幾乎完成了這個character controller
腳本我寫道:
transform.Rotate (new Vector3(-Input.GetAxis ("Horizontal") * rotationSpeed, 0, 0));
Vector3 forward = Input.GetAxis ("Vertical") * transform.forward * moveSpeed;
controller.Move (forward);
controller.SimpleMove (Physics.gravity);
M這個腳本的問題在於球不會在視覺上「滾動」。
我試圖用Rigidbody
來解決這個問題:
float movementHorizontal = Input.GetAxis("Horizontal");
float movementVertical = Input.GetAxis("Vertical");
Vector3 movementVector = new Vector3(movementHorizontal, 0.0f, movementVertical);
GetComponent<Rigidbody>().AddForce(movementVector * moveSpeed * Time.deltaTime);
但是在這種情況下,您將無法使用旋轉WAD像第一個例子了,然後180度。雖然它確實解決了視覺問題。
我怎麼能讓我的球隨着「A」和「D」鍵旋轉,然後以「W」的方向朝着球面對的方向旋轉,同時也可以在視覺上旋轉?
與*** transform.Rotate嘗試(Vector3.up * 2)***,我知道我有一個例子某處.... – HelderSepu
我有問題時,我使用第一個腳本旋轉我的球,當球滾動時它會垂直移動,因爲由於「轉換,向前」調用球將面朝上 – Ryan
請看這裏:https://github.com/ heldersepu/hs-unity/tree/master/Labyrinth – HelderSepu