關於角色控制器 角色控制器 ( Character Controllers ) 是 Unity 內建的資源包,簡單的說就是遊戲中玩家可以操控的角色。建立新的遊戲專案時只要匯入 Character Controller.unityPackage 資源包,稍後就可以從專案視窗拖曳到場景中使用,或是將控制腳本套用到您製作的人物角色。 我們先學習使用 Unity 內建的角色控制器,稍後再介紹如何創造自已的 3D 遊戲角色。 建立一個新的遊戲專案,匯入 Character Controller.unityPackage 角色控制器資源包、Skyboxes 天空方塊資源包、Terrain 地形資源包。
Unity 內建的角色控制器可分為「第一人稱控制器」與「第三人稱控制器」:
First Person Controller 第一人稱控制器 第一人稱控制器是由攝影機與膠囊形狀的物件組成,用於製作以玩家為觀點的遊戲(第一人稱射擊遊戲、賽車競速遊戲等)。您可以使用滑鼠拖曳的方式,將角色控制器放到場景中。請注意角色控制器應該移到高於地面的位置,否則在遊戲中將會因為踩不到地面而往下掉落。 注意!遊戲角色如果不停的往下掉落,遊戲就無法繼續進行,您一定可以想像玩家接下來的表情加上摔鍵盤的聲音,所以您應該在地形適當的位置加上障礙物,例如圍牆、護欄、河流,或是使用看不到的隱形圍牆來阻擋遊戲角色。另一種常見的設計是讓玩家可以跑出邊界而掉下去,但是通常也會扣掉一些玩家的血量或隻數做為懲罰。
遊戲角色若是在有樓梯的建築物,如何讓角色能夠走上樓梯呢? Slope Limit : Taking into account uphill movement, 此參數允許您指定 How steep an incline can be before the character can no longer walk up the particular incline. By including this parameter, the Character Controller stops the player from simply walking up vertical walls or steep areas of land, which would of curse seem unrealistic。 Step Offset 樓梯(預設值 0.4? )。 Skin Width。 Min Move Distance 最小移動距離。 Center : Set as a Vector3 ( x,y,z 的值)通常是設定為 0 ,此參數較常使用於第三人稱控制器。 Radius。 Height。
3rd Person Controller 第三人稱控制器 第三人稱控制器可用於製作動作遊戲、角色扮演遊戲。Unity 預設的第三人稱控制器是個「工人」的角色。 什麼?你是說這個主角看起來太弱了?沒關係~ 我們只是用來練習而已,更厲害的等一下就出來了。
Animation 動畫。 Play Automatically 自動播放(預設啟用)。 Animate Physics(預設未啟用)。 Culling Type(預設 Based On Renderers)。 Height 高度。
選取第三人稱控制器後,從屬性編輯器找到 Third Person Camera (Script) 元件,這個腳本用於控制攝影機如何跟隨玩家操控的角色。 預設的情況,玩家停止操作時,攝影機會回到定位,也就是遊戲角色後方的位置。 Distance 攝影機與遊戲角色的距離。 Height 攝影機距離地面的高度。 Angular Smooth Lag 攝影機回到定位的延遲時間 Angular Max Speed 攝影機回到定位的最大速度,製作節奏較快的射擊遊戲時,應將數值加大(例如100),否則攝影機尚未回到定位時,玩家很容易因來不及反應而受到敵人的攻擊。
範例中是 3D Models 分類的 Base Male,這個人物與 Play Station 3 遊戲平台的 God of War 戰神系列遊戲主角 Kratos 克雷多斯長得有點像。 按下藍色 Download 按鈕,就會開始下載檔案,當檔案下載完成時,將會出現 Importing package 正在匯入資源包的對話框。
點選功能表 [ Component > Scripts > Third Person Controller ] 即可在人物角色加上 Character Controller 角色控制器與 Third Person Controller 第三人稱控制器,按播放鍵測試,人物角色會往下掉,這是因為 Character Controller 角色控制器的碰撞器中心位置低於地面的關係,請將 Center 的 Y 座標位置調高即可。
讓人物角色動起來 注意!遊戲專案需要匯入 Character Controller 資源包,否則將無法找到 Third Person Controller 第三人稱控制器腳本。 選取 baseMale 可以看到屬性編輯器的 Animation 元件,展開 Animations 後可以看到已經設定好的 No animation、Idle、Walk、Run、Sprint、Straft left、Straft right …共 13 組動作,預設的動作是 idle 閒置。 Third Person Controller 只有 Idle 閒置、Walk 走路、Run 跑步、Jump Pose 跳躍,共 4 組動作。