所以我是Unity的新手,我確信我錯過了一個簡單的步驟,但在因某種原因在網上查找了一段時間後,我找不到解決方案。光線追蹤沒有正確響應
我在屏幕上有兩個物體,玩家和敵人。兩者均附有Rigidbody2D和Box Collider 2D。在Box Collider 2D上,我點擊了is triggered
在Rigidbody2D上,我點擊了Is Kinematic
。在球員上,我有一個簡單的動作腳本。對敵方目標我有這樣的:
void Update() {
RaycastHit2D hit = Physics2D.Raycast(transform.localPosition,transform.right,Mathf.Infinity);
Debug.DrawRay(transform.localPosition,transform.right);
if (hit)
Debug.Log(hit.collider);
}
現在,由於某種原因,當我移動玩家在對象if (hit)
是真實的,但如果我移動到任何地方播放器右側這是不正確的。這是什麼原因?謝謝。
我猜這種行爲的原因是因爲你只是在右邊進行光線投射,而當你去傳遞右邊的物體時,沒有任何東西可以讓光線投射。 –
我一定不理解光線投射的原理,我認爲這個代碼應該做的是發射一束光線到它的起源的右側,然後如果有什麼東西碰撞那條光線,命中就變成了真的。這是不是這是做什麼? – Beckley