2014-12-03 44 views
-1

基本上我的問題如下:當玩家得到一條線時,我必須模擬玩家未來的移動,以檢測它是否會與某些「威脅」發生衝突。爲此,我以他/她的方式克隆玩家和威脅。例如,如果玩家在四車道的道路上行駛,我需要知道他/她是否會與他/她當前車道上的威脅發生碰撞。我需要玩家船上的一條線路,並檢查該線路是否會與某種威脅相沖突。使用觸發器是不可能的,因爲我只在一幀中進行模擬。在Unity3d中檢測不使用OnTriggerEnter的衝突

謝謝

+0

一個字「RayCast」 – Catwood 2014-12-03 17:30:58

回答

1

滿足您的要求雷射鑄造是解決方案。光線投射正在從3D平面中的特定點到另一個點形成一條線或矢量。射線(矢量)的目的是確定它是否與任何碰撞體或其他遊戲對象相交。

它簡直可以用像,

void Update() { 
    Vector3 fwd = transform.TransformDirection(Vector3.forward); 

    // parameters are origin, direction and length of the ray. 
    if (Physics.Raycast(transform.position, fwd, 10)){ 
     print("There is something in front of the object!"); 
    } 
} 

你可以在互聯網上找到更多的參考資料和教程。嘗試Unity官方教程Raycasting

+1

您可能也想看看光線投射的「層」方面,因爲您的gameobjects的「真實」和「臨時克隆」版本http ://docs.unity3d.com/Manual/LayerBasedCollision.html可能是一個很好的開始。 – Lefty 2014-12-04 09:10:25

+0

確定它會很有用! – Dinal24 2014-12-05 03:30:45