今天,我們就來聊聊如何在Unity中使用CharacterController組件,讓角色能夠靈活移動,在游戲世界里像風一樣自由奔跑吧。
廢話不多說,走,讓我們馬上來一探究竟!
目錄:
1.準備模型
2.動畫的處理
3.為角色添加CharacterController組件
4.編寫移動功能的腳本
5.測試和運行
--------------------
一.準備模型
這里我已經搞定了模型和動畫,都準備好啦!要是有小伙伴還不太明白怎么操作,可以去看看我之前發的那個“導入模型”的視頻,視頻的鏈接我會放在文章最后,點擊連接打開在我的抖音或者其他平臺連接的個人主頁上能找到。好,我們先來第一步,把主角拖到我們的開發場景里去。
二.動畫的處理
1.剛弄進來的動畫可能得調調設置。我們先選中那個動畫,然后點一下“Rig”,接著把站立和跑步的動畫類型改成“人形”(Humanoid)的,這樣就能更貼合角色的動作了。
2.接下來,我們得把跑步動畫挑出來,然后點選“Animation”這個選項。記得把那個循環播放(Loop Time)的勾給打上,這樣動畫就能無限循環播放了。
3.我們先在Assets文件夾里頭新建一個空文件夾,給它起個名字叫做“Animation Controllers”,當然啦,你也可以按自己的喜好來命名。這個文件夾就是用來放動畫控制器的。
4.在Assets文件夾里,用鼠標右鍵點一下,然后找到“Animation Controllers”。接著點一下“Create”,在彈出的菜單里選擇“Animator Controller”,這樣就能創建一個新的動畫器了。
5.選好你剛剛創建的Animator Controller,然后按住鼠標左鍵,把它拖拽到我們的主角模型上面去。這樣就能將動畫控制器應用到角色上了。
6.雙擊打開你建好的那個動畫器。然后,把我們準備好的“站立動畫”和“跑步動畫”拖進去。這樣就能在動畫器里設置這些動畫了。
7.現在我們來設置動畫之間的過渡。分別選中“站立動畫”和“跑步動畫”,然后右鍵點擊它們,從彈出的菜單里選擇“Make Transition”。這樣就能創建一個動畫過渡了,也就是讓角色可以從站立狀態切換到跑步狀態,反過來也行。
8.接著為“站立動畫”和“跑步動畫”創建動畫過渡條件
首先,得給動畫創建一個布爾變量,這個變量就是用來控制我們啥時候切換動畫的。
接下來,選中動畫之間的過渡線,然后給這條線添加上剛才創建的變量。設置一下,當Run變量是true的時候,角色就切換到跑步動畫;當Run變量是false的時候,角色就變回站立狀態。
最后,記得把那個“Has exit time”(動畫退出時間)的勾去掉。因為我們需要的是實時切換動畫,不需要設置退出時間。
三.為角色添加CharacterController組件
我們先選中角色,然后給角色加上一個“CharacterController”組件。這個組件是用來控制角色移動和碰撞檢測的。加上組件之后,我們得調整一下它的參數,主要是那個碰撞框,要讓它盡量貼近角色的模型,這樣碰撞檢測才能更準確。
四.編寫移動功能的腳本
1.在項目的Assets文件夾內新建一個空文件夾,并將其命名為Scripts(你可以根據個人喜好來命名),這個文件夾將用于存放所有的腳本文件。
2.在Scripts文件夾中,創建一個新的C#腳本文件。
3.實現移動功能的代碼
代碼、模型和動畫都已經上傳到我的個人博客了,大家可以自行下載。
原創來源于-谷宇博客:https://www.biguyu.top/home
四.測試和運行
通過案例測試與運行,成功通過CharacterController組件的SimpleMove函數實現角色移動。