好久沒學東西并用博客記錄了,這個年過的很懶散,慢慢臨近開學了,也要提前適應一下,寫寫東西,這樣開學才能更好的進入狀態呀~~
本次筆記中,我們將來雕琢一個更加完善的Prefab,并添加一個第一人稱角色在場景中。
這一系列教程以及素材均參考自人人素材翻譯組出品的翻譯教程《Unity游戲引擎的基礎入門視頻教程》。下載地址附在第二篇筆記中。
? ? ?上一篇教程我們創建了一個Prefab,在最后我利用四個Prefab通多頂點捕捉建立一個簡易的隧道。這只是為了示意Prefab的便捷性,下面我們先把這個隧道刪除到只剩一個Prefab(在左側Hierarchy視圖中刪除),然后對我們的Prefab進行更細的雕琢。
? ?? 我們的Prefab四面是沒有物理體系的,沒有厚度,就不會存在物理碰撞等效果,放在地板上的東西會無限下墜。所以我們來為Prefab添加物理組件。
? ? ?首先從Hierarchy中展開當前場景中的PFB_Straight,選中MineShaft_Floor
? ? ?點擊系統菜單的Component,Physics,Box Collider,添加一個盒狀的碰撞器
添加后,地板上會有綠色的邊框,同時在右側Inspector視圖中會有新添加的Box?Collider組件。我們根據自己情況來定義碰撞器的厚度,我這里在Box Collider組件,Size中將Y改為0.01。這個是要看你導入模型的縮放比例,如果你導入的模型格式是3d max的,那應該0.1就可以了。這個自己觀察一下,調整一下數值,很薄的一層就可以了。
?建立了Box?Collider之后,物體接觸地面就不會掉下去。下面右鍵Assets文件夾,來導入系統自帶的package——Character Controller,這個包包含了第一人稱視角和第三人稱視角的小角色。
我們按默認的全部選中,不去動它,單擊Import就可以引入。
? ? ? ? 引入之后我們的Assets文件夾下會有一個名為Standard Assets的新的子文件夾。
接下來依次打開文件夾Standard?Assets——Character Controllers,我們可以看到一個第三人稱的礦工角色和一個第一人稱的形似膠囊的角色。
?????我們可以選中后在右下角的預覽界面拖動查看當前的模型,如下二圖。
然后我們要做的是,將第一人稱的控制器拖入到我們的Scene場景中,并向上拖動適當調整位置。
此時我們如果點擊上方的播放按鈕,就可以在我們的場景中自由移動和調整視角,效果如下圖。
因為我們沒有設置任何的燈光文理和背景顏色等,所以墻壁是黑色的,外面背景是藍色。如果你播放之后,一直往下掉,那是你的Controller位置太低了,向上平移一下就好。
接下來我們需要規范一下我們的Prefab,我們需要讓當前預設體的中心就是物理空間的正中心而且讓此Prefab建在坐標原點之上。實際上當前是有一些誤差的,點擊當前Prefab,在inspector視圖中是可以看到這些誤差的。所以我們調整一下,讓我們的預設體更加完美。
? ? ?第一步,先解除當前場景中的父子關系。即在Hierarchy視圖中選中PFB_Straight內四個子元素,拖出PFB_Straight的范圍。系統此時會提示你,這樣做會失去當前的父子關系,我們點擊Continue。Hierarchy視圖變為如下二圖的樣子,子元素和我們新建的游戲物體又全部變白。
接下來我們選擇空的游戲物體PFB_Straight。因為之前我們有建設隧道或其他之類的動作,所以現在無論地板還是天花板墻面,都不是在一開始我們引入后調整的基于0,0,0的位置了,所以我們首先,先要將四個小部分的坐標修改回去。
? ? ?首先選中MineShaft_Floor,我們將其坐標調整為0,0,0,然后按住V像一開始一樣把兩面墻拖過去,再把MineShaft_Ceiling改為0,0,0就可以了。然后把我們的First?person?Controller移動到空間內。
? ? ?接下來我們再選中那四個小部分,拖入到PFB_Straight中去,我們會發現這次預設體沒有變成藍色。
原因其實很簡單,以為我們已經打破了Prefab的父子關系,所以我們選中prefab之后,在inspector視圖中點擊apply,鼠標停留的時候,他會出現詳細的解釋。點擊apply之后,我們所做的改變會應用到默認的預設體中,即我們后面所拖出來的每個預設體,坐標位置都在物理中心。當然我們也可以點Apply旁邊的Revert撤銷。
?至此我們完善地創建了一個坐標值和坐標軸都很標準的,地板有物理模型的Prefab,并在Prefab的地板上添加了一個第一人稱控制器。
2015.2.27? ? ?0:03
By Mr.Losers