一. 角色移動
經歷了漫長的學習之後終於可以開始控制角色了,我們真正在做遊戲的時候要解決角色移動有三種方案,第一種就是在應用商店下載角色控制的系統,裡面的系統很豐富而且很完善,第二種的就是如果要求不高的話,可以用unity提供的控制器,第三種則是在我們學完物理系統之後自己去做控制器。今天就選擇第二種來進行角色控制。
創建一個平面讓人行走,和一個膠囊當做人物,並且給膠囊命名“Player”,再給它加上“Character controller”,這裡可以看到很多欄位,要怎麼用它們呢?
建立一個空腳本“PlayerControl”,把腳本掛上膠囊。進入腳本後首先要得到它的元件,用player來獲取元件。
接下來宣告水平軸和垂直軸的變數,並且創建方向向量,控制它的移動,並把Z軸設為0讓它只在平面上移動,最後畫出一條線來判斷方向是否正確。
可以看到確實跑出來一條線,這代表移動的方向是沒錯的,並且可以斜向移動,接下來就可以正式的開始移動。
其實用Move方法就可以了,SimpleMove是帶有重力的移動,也就是跑到平面的邊緣或落下去,而後面的dir是可以做乘法來控制速度的。
這裡可以看到,圓柱體確實落下了。
二. 重力系統
不管玩什麼遊戲基本都會受到重力的影響,槍戰遊戲丟手雷,或是跑酷遊戲的自由落體,接下來我將介紹關於重力的特性。
先創建一個平面,放到世界的原點,並且建立一個球體,放在平面上,不過該怎麼讓球體受到重力影響?即便把球體放高一點,運行之後的球體是不會下落的,不夠只有給它添加一個“Rigidbody”的元件,它就會立刻往下掉。
還是同一張圖,看看上面的欄位,從上往介紹幾個比較重要的