我的問題是我無法弄清楚如何檢查一個對象,例如。玩家在某個位置與某人碰撞,例如。壁。Unity檢查一個對象是否在一個位置相撞
現在我的意思是,如果玩家的x比例可以說是5,那麼我將如何檢查玩家是否與玩家末端的牆相碰撞。如果我是正確的,我將不得不檢查它是否在2,5的位置相撞。
我的問題是我無法弄清楚如何檢查一個對象,例如。玩家在某個位置與某人碰撞,例如。壁。Unity檢查一個對象是否在一個位置相撞
現在我的意思是,如果玩家的x比例可以說是5,那麼我將如何檢查玩家是否與玩家末端的牆相碰撞。如果我是正確的,我將不得不檢查它是否在2,5的位置相撞。
您需要添加(例如)Box Collider
組件您的每一個GameObjects
然後,如果你想直觀地顯示檢測,可以在碰撞發生的調試:
對於例如,在Player
腳本:
void OnCollisionEnter(Collision collision)
{
Debug.Log("Collision!");
}
如果你想檢查是否有碰撞的精確點,你可以使用相同的技術,但使Box Collider
較小。
這是非常「有限」,因爲我需要檢查四面,並在每一面都必須做不同的事情。也許一個解決方案是在每一邊添加一個空對象併爲它添加一個對撞機,併爲每一個添加一個腳本? –
你可以在每一個上添加一個空的GameObject - 但我不會爲每一個創建一個腳本 - 相反,我會標記這些GameObject,併爲每個GameObject創建一個檢查 - if(gameobject.tag ==「1」) {做點事情} if(gameobject.tag ==「2」){do something}' – Tom
是的,我應該把這個腳本放在牆上,所以當我撞到牆上的時候它確實會這樣做。謝謝。 –
問一個遊戲開發SE。 – VSG24
[Unity中的觸發機制]的可能重複(http://stackoverflow.com/questions/25450414/trigger-mechanism-in-unity) – Fattie
您還可以使用對象的位置以及其對撞邊界來推斷近似值聯繫人的位置,但如果下面的答案適合你,那絕對是更簡單的方法。祝一切順利! – andeart