Unreal Engine Bluprint 教學 (二)
Blueprint 入門教學-跳跳板教學
從這篇開始,會著重介紹Unreal Engine的Blueprint系統,如果沒看過上一篇的,可以點選這裡做查看。
透過Unreal Engine的官方文件,我們可以更有效率的了解Blueprint的使用,這裡也會透過官方文件,轉換成繁體中文版本。
接下來,開始介紹基礎的Blueprint使用,而要使用就需要對製作有一些想法,比如遊戲中的跳跳板、開箱等等觸發型事件,這裡就以官方文件的跳跳板(Launch Pad)做解說。
首先要製作跳跳板,最好要有一個型體給玩家看,目的是在遊玩時可以得知位置,製作上也不會混亂,打開Unreal Engine的專案後,就可以開始製作跳跳板的Blueprint了。
先到Content Browser,點選右鍵新增一個Blueprint Class,選擇Actor,並進行命名,這裡稍微解說Blueprint的規則,不建議使用中文命名,可能在編譯上會出問題,也不可以含有空格、特殊字符如`!@#$%^&*().,等,這裡命名「LaunchPad」做示範。可參考以下圖片操作。
新增好後,打開Blueprint,開始製作目標的跳跳板物件。
首先要在Blueprint視窗左上角,Components設定新增一個立方體(Cube)元件(Component),這個是作為玩家在遊玩時可視的物件,再來新增一個方塊碰撞體(Box Collision),可參考以下圖片操作。
點選立方體元件,在看到最右邊的詳細參數(Details)設定,從最上面數來第二個變換參數(Transform),裡面有三個參數。分別為位置(Position)、旋轉角度(Rotation)、大小比例(Scale),這三個參數都可以根據XYZ三軸做調整,X軸是可依左右做改變,Y軸是可以依前後做改變,Z軸則是依上下做改變,這裡需要調整的是立方體的高度,所以對比例的Z軸進行參數調整,這裡以0.1做示範。可參考下圖操作。
調整完立方體的參數後,再來調整方塊碰撞體的參數,這邊要調整的稍微多一點,先調整比例大小的Z軸,為的是能即時確認碰撞體的厚度有無符合設計目標,這裡以0.35做示範。
確認好厚度後,調整長寬,也就是XY軸,這裡均以1.5做示範,厚度寬度調整好後,會注意到,位置感覺不好,在這邊可以在位置的Z軸,增加高度,這裡以10.0做示範。可參考下圖做參考。
立方體和方塊碰裝箱都調整好後,請先編譯(Compile)以及存檔(Save),位置在Blueprint視窗中的中間上面,可參考下圖操作。
接下來就是要進行Blueprint的程式編輯了,在這裡可以從預覽介面(View Port)分頁切換至事件圖表(Event Graph)分頁,這裡是Blueprint強大的地方,無須編寫代碼,即可運行程式。可參考下圖操作。
首先,在Event Graph按住滑鼠左鍵,將看到的三個方塊選取,之後按下Delete鍵,因為目前不會用到這三個方塊,不過還是來說明一下這三個是什麼。
要了解這三個方塊,要先知道一個方塊是一個節點或是多個節點組成,這就是Blueprint重要的元素之一,接下來說明這三個分別是什麼,有什麼作用,從上到下一一說明。
Event Begin Play,看它定義的名字,我們可以瞭解到,它是遊戲或是多媒體,開始播放或是遊玩時即刻執行,不過他只能執行一次,所以通常是拿來固定初始變數用,或是定義其他變數指定的參數。
Event Actor Begin Overlap,Actor在先前有提到過,也就是我們現在正在編輯的Blueprint,是同一種類別,當其他Actor經過(Overlap)這個Launch Pad,就可以觸發這個事件。
Event Tick,Tick的意思為「刻」,是電腦運算時間的一種方式,這個事件的運作規則,就是每一刻就會執行一次,可運用在設計時間或是設計天氣等,提高每刻的隨機性及穩定性。
接下來,我們要來新增新的事件方塊,與上述三個的條件不太一樣,是根據元件的事件觸發,我們需要用到方塊碰撞體的其中一個事件做使用,先點選方塊碰撞體元件,以開啟詳細參數設定,可參考下圖操作。
這個事件方塊,與上面第二個Event Actor Begin Overlap相似,不過通常會On Component Begin Overlap居多,功能性較Event Actor Begin Overlap更多樣性。可參考下圖操作。
新增好後,可以在介面中透過按住滑鼠右鍵移動畫面;左鍵可以點選方塊或節點,按住則可以選取範圍內的節點及方塊,這些操作會在另一篇再做詳細說明。可參考下圖檢查是否新增正確。
這裡會用到的節點只有最上面無文字說明的執行節點(Execution Pin),這個節點是針對事件觸發後,繼續執行下一個節點的重要節點,再來是第三個節點其他物體(Other Actor),這個節點可以幫助我們在使用上偵測到其他物件或是元件。
要使用到這個節點,我們要先叫出玩家所使用的角色,所以要先在空白處按滑鼠右鍵或是Tab叫出搜尋選單,再來搜尋「Get Player Character」並點選,這個是取得玩家角色所要用的方法,而我們要取用這個來判斷玩家是否與跳跳板有接觸,取出之後,從Return Value拉出節點新增「Equal(Object)」的方塊,可參考下圖操作。
接下來要新增一個方塊,此方塊與程式語言中If/Else相似,在Unreal Engine中稱作Branch,可以在空白處按B叫出或是一樣透過按Tab或是滑鼠右鍵叫出搜尋選單,搜尋Branch。可參考下圖操作。
接下來將Event On Component Begin Overlap的執行節點(Execution Pin)拉至Branch的執行節點。可參考下圖操作。
現在要讓程式可以執行讓玩家跳起來的感覺,所以我們要在玩家與跳跳板接觸的時候,增加他的Z軸加速度,我們可以從Get Player Character的Return Value再新增一個「Launch Character」方法,這個方法可以幫助我們簡單增加玩家的加速度。可參考下圖操作。
記得將Branch的True連接至Launch Character的執行節點,再來只要修改Launch Character的Launch Velocity中的Z軸,修改成想要的數值即可,這裡以600.0做示範。可參考下圖操作。p.s.請輸入正浮點數,Z軸的負浮點數在這邊並無效果。
這樣一來,跳跳板的Blueprint就完成了,再來就是將跳跳板放置到地圖上,Compile及Save後,回到主介面,直接將Launch Pad拖曳至地圖上即可。可參考下圖操作。
最後就可以執行(Play)遊戲來測試有沒有成功囉!下圖為最終結果參考示意圖。












.gif)






留言
張貼留言