Unreal Blueprint 藍圖教學

使用 Unreal Engine 虛幻引擎可選擇使用 Blueprint 或 C++ 製作遊戲互動功能,對於初學者而言,使用 Blueprint 是比較容易上手的選擇,這次的 Unreal Blueprint 藍圖教學先從建立一個遊戲專案開始。

 

節點 (Nodes) 是圖表中的方塊,用於定義設定該圖表的藍圖功能,每個類型的節點可以執行特定功能,例如事件、變數、函數調用、流程控制。您可以在圖表編輯器中,使用相同的方式創建所有節點,並透過直覺的體驗,對節點圖表進行編輯操作。

建立節點

在圖表編輯器的空白處按滑鼠右鍵,將會彈出可增加的節點列表,若已選取 Actor 則列出的節點將是支援 Actor 的節點。

從節點的引腳按下滑鼠左鍵拖曳並在空白處放開左鍵,將會彈出節點列表,這些節點將是支援連接這個引腳的相容節點。

選擇節點

使用滑鼠點擊圖表編輯器的一個節點,即可選取該節點。

使用滑鼠點擊圖表編輯器的空白區域,可取消選取節點。

按住 Ctrl 鍵再點擊節點,可以增加或移除選取的節點。

滑鼠點擊空白區域並拖曳建立選取框,可選取多個節點。

按住 Shift 鍵再建立選取框,即可再增加圈選的節點。

 

引腳類型

有些節點的兩側有引腳,左側是輸入引腳,右側是輸出引腳。有些節點只有單側的引腳。

即點的引腳主要有以下類型: 執行引腳 (Execution pins) 、資料引腳 (data pins)

 

執行引腳用於連接節點,定義執行的流程,當輸入執行引腳本被啟用時,節點的功能將被執行,當此節點執行完成時,將啟用輸出執行引腳,繼續執行下一個節點的功能。

資料引腳用於將數據輸入節點,或是從節點輸出數據。

 

 

玩家在遊戲的互動操作上,可用鍵盤控制角色移動、滑鼠控制視角操作。

遊戲關卡的角色,滑鼠點擊 World Outliner 視窗 ThirdPersonCharacter 的編輯連結。首先看看角色的移動控制藍圖

Mouse input 是滑鼠移動控制視角,而 Jump 則是按下空白鍵控制玩家跳躍。

以上使用的 Input 輸入節點包括:

InputAxis MoveForward - 控制前後移動

InputAxis MoveRight - 控制左右移動

InputAxis Turn, InputAxis LookUp, InputAction Jump

這些常用的節點用於鍵盤與滑鼠的輸入控制遊戲角色,可參考 Unreal Character 角色設定

 

您也可以使用鍵盤上的按鈕觸發特定的動作,編輯器的空白處按滑鼠右鍵,可輸入關鍵字 Input Keyboard 搜尋

鍵盤數字

鍵盤英文

鍵盤上的任何按鍵或指定按鈕。

 

搭配鍵盤輸入,使用 Print String 將字串顯示於遊戲畫面。

Prints a string to the log, and optionally, to the screen If Print To Log is true, it will be visible in the Output Log window. Otherwise it will be logged only as 'Verbose', so it generally won't show up. [ unrealengine.docs ]

遊戲畫面的左上方將會出現 Print String 列印的訊息。

需要時可使用 GetWorldTransform 取得目標的座標位置、旋轉角度、縮放比例等資訊。

 

使用遊戲搖桿控制的藍圖。

使用行動裝置的觸控操作。

 

建立一個立方體 ( Cube ) 練習碰撞事件。

滑鼠雙擊內容瀏覽器 ( Content Browser ) 的藍圖類,即可開啟藍圖編輯器 ( Blueprint Editor )

點擊事件圖表 ( Event Graph ) 分頁,預設的情況,建立 Blueprint 時將會有 3 個預設的半透明事件節點:

Event BeginPlay 、 Event ActorBeginOperlap 、 Event Tick 這些節點 暫不使用,我們另外新增需要的節點。

滑鼠游標移到圖表中的空白位置,開啟選單即可在圖表中增加節點。

 

勾選 Simulate Physics 開啟此方塊的物理模擬,即可被玩家角色推動。

選取 StaticMeshComponent 元件,然後新增 Box (Box Collision) 用於簡單的碰撞。

選取 Box 元件並在 Details 點擊 On Component Begin Overlap 右側的 + 按鈕。

為此元件增加一個事件,展開為方盒新增事件 ( Add Event for Box ) 再展開碰撞 ( Collision ) 選擇 On Component Begin Overlap 事件節點,您也可以使用搜尋功能找到這個節點。

圖表上出現新增的 On Component Begin Overlap (Box) 節點,當某內容與此方塊元件重疊,將會執行與此事件連接的節點。

例如連接 DestroyActor 節點執行刪除。

需要時可以調整方塊的碰撞區域。

Unreal Blueprint 藍圖製作完成後,測試是否正常執行。

若將 Blueprint 藍圖的 Target 設為 Other Actor 會發生什麼事?

沒錯!DestroyActor 可以設定刪除的目標,目前的藍圖玩家角色將會被方塊吃掉!

 

 

相關藍圖教學

○ Unreal Blueprint 動畫蒙太奇 UnrealBlueprint_Animation.php

○ Unreal Blueprint 生成與銷毀 UnrealBlueprint_SpawnDestroy.php

○ Unreal Blueprint 測試純測試 TEST.php