2017-08-19 49 views
1

碰撞後忽略物理如何強制Unity在碰撞後不改變物體的速度和方向?我需要獲得OnCollisionEnter2d事件,但我不需要自動更改速度和方向;我想手動完成。unity3d(2d)

回答

2

我需要得到OnCollisionEnter2d事件,但我不需要 自動改變速度和方向,因爲我想這樣做 手動

如果您不希望影響對象時它與另一個對象相碰撞,您需要將Collider標記爲觸發器。

enter image description here

在此之後,使用觸發功能,而不是衝突的功能。

void OnTriggerEnter2D(Collider2D other) 
{ 

} 

它會檢測到對象碰撞它不會移動它們。然後,您可以手動移動它們,無論您想要。

+0

但我需要讓Collision2D手動建立反射向量,在OnTriggerEnter2D中沒有碰撞 - 只碰撞。 – DeRibura

+0

您不需要'Collision2D'手動建立反射矢量,爲什麼需要它?你可以在你的問題中編輯和發佈反射碼。 – Programmer

+0

我需要得到標準的Vector3.Reflect(oldVector,normalized)。但沒有Collision2D我沒有標準化的矢量 - 我怎麼能得到它? – DeRibura