如何開啟CC字幕?
Unity導航系統中的移動範圍,會依照NavMesh導航網格來決定,所以在讓物件移動前需要生成NavMesh,而在Unity中生成NavMesh是透過烘焙。
首先點擊Window -> Navigation開啟導航系統視窗,開啟導航視窗後可以看到三個標籤,分別是Object、Bake、Areas。
在烘焙出NavMesh之前,我們必須告訴Unity那些物件是navigation static。
被設定navigation static的物件,代表著它具有不能移動而且可以行走的特性,通常是地板、牆壁或障礙物。
1. 選取一個希望它有上述特性的物件,並選擇Object標籤。
接著將Object標籤下的Navigation Static選項打勾,這樣就設定完成了。
或是在檢視視窗下,點擊Static下拉選單,將Navigation Static選項打勾。
接著看到Object標籤下方兩個選項。
Generate OffMeshLinks為分離網格連結的設定,這部分會在其他教學中做說明。
Navigation Area可以設定該物件屬於哪個區域,分別有Walkable、Not Walkable、Jump,細節會在Areas標籤的部分做說明。
2. 接著是Areas標籤。
Object標籤下設定過物件的Navigation Area後,可以在Areas標籤中設定各區域的Cost。
而Cost數值代表著"該物件行走的難易度",例如Walkable預設為1,表示該物件是容易行走的,而Jump預設為2,代表它相對於Walkable,是比較難行走的物件,所以在計算路徑時,會優先選擇Walkable,之後才是Jump。
開發者也可以在Areas標籤中自訂新的區域名稱和Cost,另外Not Walkable的Cost數值是不能調整的。
3. 最後是Bake標籤,可以調整NavMesh的參數。
Agent Radius:含有Agent元件的物件半徑,判定是否接觸到牆壁、障礙物或目標,同時也會影響到某些路徑是否會成立。
Agent Height:含有Agent元件的物件高度,如果是有天花板的環境下,有條路徑可通行但天花板低於移動物件,還是會被視為不可通行。
Max Slope:決定斜坡的最大角度,低於此數值可以被視為路徑,超過則不可通行。
Step Height:決定高度差在多少數值內,會被視為相連路徑,超過則不可通行。
Generated Off Mesh Links下的兩個參數,這部分會在其他教學中做說明。
最後是進階設定參數Advanced。
Manual Voxel Size:決定生成NavMesh的像素大小,會影響生成出來的NavMesh精確度。
Min Region Area:決定最小面積,物件的面積小於此數值,不會被視為可移動的路徑。
Height Mesh:會儲存原始高度的資訊,但會影響效能與記憶體。
設定好參數就可以按下Bake按鈕生成NavMesh。
NavMesh可行走的區域會像上圖呈現藍色,選取右下角的Show NavMesh可以決定是否要顯示NavMesh。
以上就是導航系統內可移動區域NavMesh的生成,這次就到這裡。註:Object標籤下的Scene Filter,也就是場景過濾器,開發者可以在這裡選擇All(全物件)、Mesh Renderers(網格渲染)、Terrains(地圖),方便開發者檢視各類型的物件。
沒有留言:
張貼留言