1. 程式人生 > 其它 >虛幻4觸發盒子藍圖入門例項1:自動開關門

虛幻4觸發盒子藍圖入門例項1:自動開關門

一.準備階段

1.場景準備

1)首先我們先建立好一扇簡單的門(這裡的模型是從建立專案開始的初學者包中自帶的):

如圖,而此時第一次建立的我們可能會發現玩家角色是可以進行對門的穿模操作的,所以我們此時只需要對門進行碰撞設定

雙擊模型包進入模型修改介面

由於門的模型相對於比較規則的幾何形狀,所以我們只需在視窗工具欄中選擇“碰撞”並新增“盒體簡化碰撞”稍加調整即可

2)新增“事件盒子觸發器”

我們可以在左視窗欄的“放置actor”中直接搜尋“盒體觸發器”(Box Trigger)或在基礎選單項中找到它

之後我們拖進放置我們所想要的位置並調整大小(觸發器可以抽象為觸發區域:進入此區域才可以進行相應觸發)

2.藍圖準備

1)進入關卡藍圖設定介面

我們選中好“盒子觸發器”(Box Trigger)點選檢視工具欄的“藍圖”選擇關卡藍圖進入設定藍圖介面

2)準備所需藍圖材料

我們右鍵為觸發器盒子新增兩個事件如圖begin overlap 和 end overlap(這兩個分別表示為“開始重疊”和“結束重疊”),這也就意味著此時會產生兩個事件監聽,即進入此區域和退出此區域

我們再用同樣的點選選取門(SM_Door)後進入藍圖編輯事件並右鍵給門建立引用

3)新增門 的最終引用結果

右鍵點選拖動引用門的藍色小按鈕然後將其分開便得到引用動作結果的選擇提示,我們搜尋“設定actor相對旋轉”然後點選新增該動作結果

二、構思藍圖和實現

1.簡單構思和實現

首先我們要清楚門是如何旋轉的,將門正常放置在一個 三維空間並依據習慣給門分出x、y、z軸,不難看出門是繞著z軸進行旋轉的,所以我們在門的引用動作結果圖中將z軸設定成我們所想旋轉的角度即可這裡以87°為例子,之後再進行出入口的簡單連線,之後儲存檢視效果

我們的門確實被打開了,但是門卻是很唐突的開啟的,沒有一種動態效果,這顯然看著很不舒服,那有沒有改進方法呢?以下我們可以進行藍圖的改善和優化來達到更好的效果。

2.藍圖優化和完善

1)時間軸(timeline)的引入

  首先我們先清楚什麼是時間軸,簡而言之時間軸類似一個過度的快取,我們都知道1到10中之間不是直接從1跳到10,而是1、2、3.....10的一種遞進。再舉個例子:我們做一個簡單的90°旋轉,無論是向左或者是向右,我們都可以看到一個很完整的過程,而這一演變過程就可以是我們所謂的時間軸,這裡我們如果把門旋轉87°為結果的話,那時間軸便是從0°到87°到的一個過程,當過程少了我們就只能看到0°和結果87°,而加上後我們便可清楚的檢視整個演變。明白時間軸的概念後我們就可以再繼續優化例項藍圖了。

2)時間軸的建立

我們右鍵空白處搜尋timeline(時間軸)然後新增時間軸

3)時間軸的定義和設定

我們雙擊時間軸表後,進入時間軸設定介面,這裡我們選擇時間軸視窗檢視的新增浮點軌道(f*)

  進入軌道設定後如圖所示,我們右鍵開始新增關鍵幀1:時間為0,值為0(這裡表示初態)當然,如果你開始就想讓門有半開的狀態也可以將值調為你想要的半開值,之後我們再用同樣的方法新增關鍵幀2:時間設定為1,值為87(這裡表示終態)。在新增完關鍵幀2後我們可能在軌跡中找不到了關鍵幀2,這裡並非是新增失敗而是關鍵幀2跑到了一個很高的位置,我們點選世間左邊的“縮放進行垂直匹配”便可以找到它。順便一提,關鍵幀2這裡的時間是可以自我定義的,如果你想讓門開得慢一點那就可以將時間改為比1更大的數值,87就是我們所期望將門旋轉的角度也可以進行自行更改。而長度呢我們設定為終態的時間,不然這就顯得這門關上的時候有一種延遲效應,我們可以利用這種延遲效應去做一些其他效果,但是在此我們先讓門實現一個簡單的自動開關,因此我們先將其設定為狀態的時間1

我們可以美化我們的時間軸浮點軌跡曲線,這樣來就可以達到一個門從慢到快的一個開門,如上圖,我們右鍵點選初態點之後選取自動線來美化我們的軌跡線使其成為上圖所示,這樣我們的事件軸就設定好了

4)藍圖的最後實現

  之後我們回到事件藍圖,將begin overlap連線到時間軸的play(播放)再將end overlap時間軸連線到時間軸的reverse(回放),接著我們將時間軸的update(更新:更新到最新狀態)連線到門的最終動作結果,然後再右鍵點選門的結果動作旋轉軸(x,y,z)進行下一步操作

  我們將我們新建的軌道連線到門最終結果動作的Z軸上去,這裡就表示了我們在不斷的給門相對旋轉 的Z軸不斷的從0到1傳值從而讓門展現出旋轉的整個過程,這就是我們最終完善好的藍圖我們編譯儲存,然後到遊戲檢視視窗進行測試

我們這樣就可以看到門絲滑的打卡和自動關閉了,實現一個自動門的任務也就此完成了

三、總結

  具體整個自動開關門的藍圖便製作好了,而就從本次製作過程而言,如果我們要有100設定1000扇這樣的自動門呢?要給這個關卡藍圖塞滿嗎?這顯然行不通,那我們之後便可以進行一個開門藍圖的繪製,就類似建造一個可以一勞永逸的方法,我們僅需拖動使用到廠僅中即可。而開門關門的方式有多種,例如我們經常完遊戲碰到過的按鍵開門,這些則需要我們繼續往後學習其他的事件藍圖了。

  以上便為個人在初步學習藍圖的所得,文中如有不對和不足的地方還望請各位能不吝賜教,本人感激不盡!