Unreal教學(8)——藍圖學習快速開始(Blueprints Quick Start Guide)

之前幾個篇章中主要講到如何使用C++的代碼實現相關遊戲的相關功能,我們已經學習到了Actor是什麼東西,

經常會使用Empty Actor這個東西,那麼它到底是什麼,我們可以這樣假設Actor是我們定義一個物體,這個物體但是現在看不到,也摸不着,但是有些整體的屬性,相當於於一個人的靈魂嗎,有靈魂之後纔能有物體,有感知,有行動,已經對外界做出相關的反應,不知道這個比喻恰不恰當。^_^

這篇中我們將講述如何使用Blueprint製作一個發射臺,當玩家(遊戲裏指的player,使用的pawn類,這個類具體的用法可以自己查閱,不過我們現在應該更關心Actor類。)跑到這個發射臺之後,就會被彈起,應該彈3000高吧,估計是3m的樣子,這裏的單位不知道是什麼,反正從圖形上來看是挺高的。

這個工程只是添加了一個發射臺,其餘的什麼其它事情都沒有幹。

玩家是模板已經建立好的,可以通過A, D鍵控制左右的移動。

(1)新建一個藍圖的工程,這裏使用的Side Scroller 模板進行建立。

英文講述在

https://docs.unrealengine.com/latest/INT/Engine/Blueprints/QuickStart/1/index.html

命名,然後就會打開UEditor4進行編輯。

首先選擇一個Actor拖到Level Editor界面中,然後添加兩個Component, 一個是Cube,一個是Box.

增加cube可以讓它顯示出來,這裏的通過Basic Shapes裏的cube進行添加。

另外一個是Box,可以理解爲檢測碰撞的盒子,就是其它的物體和這個盒子碰撞之後就會被彈起來。

通過縮放,可以將它們的cube設計稱(1, 1, 0,1), 將box設計稱(1.25, 1.25, 1.5),就會顯示稱下面的樣式。

(2)到這裏我們的彈跳臺就設計完成了,那麼接下來的工作就是設計它的工作邏輯,我們這裏使用的是blueprint,在Add component的右邊有ADD blueprint接口,將這個actor轉換爲blueprint,保存,打開命令新的文件。

我們要畫的藍圖是下面這個樣子的

是不是看起來很有趣?

那麼爲什麼要畫成這個樣子呢?

首先點我們的Event Graph界面,然後點擊Box component,那麼會彈出下面的圖譜。


首先給Box 增加一個OnComponentBeginOverlap node(節點),任何聯繫上這個時間的node, 當有東西和這個Box 組件接觸的時候會被執行。


然後從other actor中拉出一條線出來,會有一個提示框,我們選擇等號。

選取另外一個Actor爲pawn,那麼執行會生成下面的圖形

這裏的意思就是GetPlayerPawn函數的返回值是另外一個Actor。

然後我們拖拽出執行的線條,我們通過Branch關鍵字進行搜索。可以收縮到branch分支。

然後把equal分支和Condition分支連上,也就是說只有是pawn類的時候,這個纔會執行,當然選擇的條件應該是true。

我們的發射臺的功能執行是通過一個調用Launch Character函數工作的,Launch Charactor函數,它會在你制定的Character上增加速度,允許你任意方向。它作用於Charactor類,我們應該確保我們的Pawn(avatar)是一個Character(humanoid avatar).

我們通過類型轉換做到這點。類型轉換允許你將你的輸入轉化爲不停的類型,因此你可以使用特別類上的一些功能函數。如果你的輸入的基類是那個類型,那麼就會成功。

任何在level上的物體都是Actor,因此可以轉換,但是任何在Level上的物體不一定是pawn,所以不能隨意轉換。

通過拖拽Get Player Pawn函數的Return Value接口,我們敲一下Cast,就會有提示Cast to Character。

然後我們選擇As Character,然後進行拖拽,選擇Launch Character函數,那麼就會執行相關的功能。

最後我們設置Z軸的座標爲3000.

然後編譯,拖拽幾個去相關的接口,然後play,可以看到我們的玩家在接觸到LanuchPad的時候被彈得很高。


最後佈置了幾道習題,目前只會做第一道,看起來效果還挺不錯的。

  • Play a sound when your Character is launched using an Audio Component.

  • Create a variable to store your Launch Velocity, and expose it so you can set it on each copy in the level.

  • Add a Particle System Component to your Blueprint and use one of the Particle Systems from the Starter Content.

  • Add an Arrow Component and use its rotation to define the direction to launch the character.

  • Using Timelines, add some animation to the Box Mesh to represent it launching the character.


就是在跳起來的時候加一個聲音Sound Component,這個還比較好實現,

藍圖長下面這個樣子的。

還是挺好實現相關的邏輯的。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章