一、子彈的碰撞檢測:
因為子彈的移動速度非常的快,那麼如果為子彈新增乙個collider,就有可能檢測不到了。
因為collider是每一幀在執行,第一幀子彈可能在100公尺處,那麼下一幀就在900公尺處了,
那麼中間的障礙物就不能被檢測到了。
所以就需要射線檢測:
在每一幀的執行,都向上一幀發射射線,不斷地檢測射線中是否有穿過的障礙物體
1void
update ()
二、子彈的生成
首先想到的是在槍口生成子彈,然後使子彈發生移動
如果是這樣的話,玩家就不能指哪打哪
所以需要在螢幕的正**,來生成子彈
依舊運用射線,讓子彈延射線方向移動
獲得螢幕**作為射線原點
發射射線
如果射線碰撞到物體,返回該點,確定原點與該點的方向,子彈沿該方向移動
如果沒有,則目標點為從原點向前移動一定距離,作為目標點,確定方向,子彈沿該方向移動
1//開始射擊
2void
shoot() else
23 }
Unity3D 槍戰遊戲 發射子彈 射線檢測
一 子彈的碰撞檢測 因為子彈的移動速度非常的快,那麼如果為子彈新增乙個collider,就有可能檢測不到了。因為collider是每一幀在執行,第一幀子彈可能在100公尺處,那麼下一幀就在900公尺處了,那麼中間的障礙物就不能被檢測到了。所以就需要射線檢測 在每一幀的執行,都向上一幀發射射線,不斷地...
Unity3D遊戲開發
入門級unity安裝教程 一 unity五大面板 unity3d的介紹 1 介面 選單 面板 元件 unity5.x 編輯器介紹 unity開啟篇 一 滑鼠右鍵 wsadeq前後左右上下移動 shift加速移動 滑鼠右鍵旋轉檢視 滑鼠中鍵移動檢視 alt 右鍵縮放 alt 左鍵旋轉物體視角 q移動場...
Unity3D遊戲開發初探
1 如何在遊戲指令碼程式中建立物件而不是一開始就建立好物件?使用gameobject的靜態方法 createprimitive view code 其中在createcube方法中,使用gameobject.createprimitive方法來建立cube型別的遊戲物件例項,設定了它出現的座標並為它...