1. 程式人生 > >unreal engine 4學習筆記:變數概述

unreal engine 4學習筆記:變數概述

遊戲製作不免涉及到各種變數,本文對藍圖系統中的一些變數做下簡單敘述。

上篇文章已經講到了在藍圖中如何新增變數,在藍圖編輯器的左側Variables欄新增變數,再選擇變數型別。

在UE4的藍圖系統中,不同型別的變數由不同顏色來區分。

新建一個Boolean型別的變數,命名為var_Boolean,拖入藍圖。再在藍圖中新增一個integer+integer的函式。當我們試圖把Boolean型別的變數連線到整形加法函式的輸入端時,藍圖系統會提示變數型別轉換,並在連線之後自動增加型別轉換器:



同樣地,我們再新建一個Float型別的變數與輸出字串的函式,將兩者進行連線,藍圖系統會自動幫我們完成變數型別的轉換:


接下來我們看一下類(Class)與物件(Object)。這兩者的關係與JAVA中的概念很相似,一不一樣我不好說,反正幾乎很像。

類(Class)是形容一種事物的概念,而物件(Object)則是事物的實體。

比如說想新建一個球形天空,在選擇變數型別時,發現這一名稱同時具有Class與Reference屬性,這裡的Reference是指對這個類的引用,其實就是為這個sky類建立一個實體,也即是物件。


我們同時建立一個類與物件來看他們的區別。

對於天空實體(物件),我們可以由物件來建立一個獲取物體位置的函式:


而對於天空類來說,從輸出點引出連線線時並不能找到獲取物體位置的函式,而是隻能實現類似於“獲取這個類的所有物體”這樣的函式:


接下來要說的是結構體,與在C語言中的結構體一樣,UE4藍圖系統中的結構體其實就是把不同數量、型別的變數打包起來一起使用。

藍圖中的物體變換變數與打擊結果變數等等都是結構體。

新建一個Transform型別變數,引出連線線可以看到Break Transform的功能,選擇之後可以看到它將Transform型別變數分成了三個變數:Location,Rotation,Scale;

同理,新建一個Hit Result型別變數並將其打碎,發現它是由更多的變數組成的: