23.3.25學習筆記(碰撞偵測、明天要做的事)

23.3.25 unity學習紀錄
老師指定絕對不要用的寫法
obj = GameObject.FindGameObjectWithTag("TypeA");
這個寫法用於直接搜尋Tag 類型為("TypeA")的物件
若有復數,則只會顯示一個
objs = GameObject.FindGameObjectsWithTag("TypeA");
這個寫法是建立一個List出來,也就是可以顯示"所有"的Type A物件
///<whyNotUseIt>
///這個寫法在運行時,會搜尋整個場景內的"所有"物件,之後才會將符合類型之物件歸類
///(這個作法被稱為遍歷)
///因此若製作大型專案時,場景內有幾千幾萬個物件時,每一偵都會搜尋一大堆物件
///所以這個寫法超級吃效能
///<whyNotUseIt>


遇到的白痴狀況:腳本寫完以後物件上的參數沒有變更
一開始為了測試方便直接public int atk;
後面要初始化設定public int atk = 10;
寫完以後發現物件內的atk沒變
//要對物件內有變更的腳本reset以後才會更新參數


今天學到了物體碰撞偵測
OnCollisionEnter、Stay、Exit
物體穿透偵測
OnTriggerEnter、Stay、Exit

明天先是試著用穿透寫一個muse dash那種打擊判定系統

預想:除了穿透偵測以外
如果是要對判定好壞做出great、perfect、miss等區別的話
great可能要使用pos座標相減取距離的機制下去判定
以距離差距來進行判定應該是比較方便的寫法
miss的話可能就要做一個miss區出來
物件生成還沒學的關係所以打擊點可能要自己先設好

(預計設計時間2hour)

留言

這個網誌中的熱門文章

關於Unity中動摩擦力與靜摩擦力的一些小實驗