2017-05-08 90 views
-1

球員球體不會與牆壁相撞。Unity3D,滾球無誤地運行,'球員'球體穿過牆壁

除非剛體/約束條件/凍結位置/ Y軸爲'on',玩家在地平面上滾動一會兒,然後穿過地平面並下降到無窮。

public class BallControl 
    : MonoBehaviour 
{ 
    public float speed; 
    private Rigidbody rb; 

    void Start() 
    { 
     rb = GetComponent<Rigidbody>(); 
    } 

    void FixedUpdate() 
    { 
     float moveHorizontal = Input.GetAxis ("Horizontal"); 
     float moveVertical = Input.GetAxis ("Vertical"); 
     Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical); 
     rb.AddForce (movement * speed); 
    } 
} 

任何補救辦法將是最受歡迎的。謝謝

+4

任何努力的跡象?你的代碼在哪裏,是什麼導致了這種行爲,你試圖解決它,什麼......什麼? –

+0

作爲一個完整的新手,我遵循了教程中給出的指示。我花了4天閱讀相關問題的答案。我確信這是一種簡單的開關切換,可以將球體變成一個堅實的球體: –

+0

作爲一個精神力量和頭腦閱讀的完全新手,我不知道你到底做了些什麼。 **也許**如果你把你的代碼放在這個問題上會有所作爲...... –

回答

0

你的問題有點混亂。 雖然,如果你的球體在地面上滾動,它將會永遠不變。 如果你的球沒有碰撞你的「牆」,它應該是一個至少有一個箱對撞機的gameobject,這意味着你的「球員」沒有球對撞機。