藍(lán)圖總覽頁(yè)面包含藍(lán)圖剖析和可用的不同藍(lán)圖類(lèi)型。
虛幻引擎中的 藍(lán)圖可視化腳本 系統(tǒng)是一類(lèi)完整的游戲性腳本系統(tǒng)孵睬,此系統(tǒng)的基礎(chǔ)概念是使用基于節(jié)點(diǎn)的界面在虛幻編輯器中創(chuàng)建游戲性元素播歼。與諸多常用腳本語(yǔ)言相同,其用于定于引擎中的對(duì)象驅(qū)動(dòng)(OO)類(lèi)或?qū)ο箨痢J褂肬E4后便知秘狞,使用藍(lán)圖所定義的對(duì)象通常被直接稱(chēng)為"藍(lán)圖"。
該系統(tǒng)靈活而強(qiáng)大蹈集,使設(shè)計(jì)師能夠使用通常僅面向程序員的幾乎所有概念和工具烁试。此外,程序員可借助虛幻引擎C++實(shí)現(xiàn)中可用的藍(lán)圖特定標(biāo)記創(chuàng)建基線系統(tǒng)拢肆,而此系統(tǒng)又可被設(shè)計(jì)師加以拓展减响。
這是否意味著藍(lán)圖就是虛幻腳本的替代品靖诗?答案既肯定又否定。 之前利用虛幻腳本進(jìn)行的游戲性編程和其他操作仍然可以通過(guò)C++代碼進(jìn)行處理支示。 同時(shí)刊橘,藍(lán)圖并非刻意為替代虛幻腳本而生,但它們的許多用途確實(shí)和虛幻腳本相同颂鸿,例如:
擴(kuò)展類(lèi)
保存并編輯默認(rèn)屬性
管理類(lèi)的子對(duì)象(如組件)實(shí)例化
期望達(dá)到的結(jié)果是:gameplay程序員構(gòu)建基礎(chǔ)類(lèi)促绵,基礎(chǔ)類(lèi)則公開(kāi)一套有用的函數(shù)和屬性; 這些基礎(chǔ)類(lèi)形成的藍(lán)圖可使用這些函數(shù)和屬性并進(jìn)行延展嘴纺。
下表對(duì)虛幻腳本(出自虛幻引擎3)败晴、C++、藍(lán)圖中諸多要素處理方法進(jìn)行了比較颖医, 幫助舊版虛幻引擎用戶過(guò)渡到新版位衩, 并對(duì)本地代碼和藍(lán)圖進(jìn)行比較。藍(lán)圖類(lèi)型
藍(lán)圖有數(shù)種類(lèi)型熔萧,每種均有其獨(dú)特用法,包括創(chuàng)建新類(lèi)型編寫(xiě)關(guān)卡事件腳本僚祷, 或是定義其他藍(lán)圖使用的接口和宏佛致。
藍(lán)圖類(lèi)
Blueprint Class(藍(lán)圖類(lèi)), 一般縮寫(xiě)為 Blueprint(藍(lán)圖),是一種允許內(nèi)容創(chuàng)建者輕松地基于現(xiàn)有游戲性類(lèi)添加功能的資源。 藍(lán)圖 是在虛幻編輯器中可視化地創(chuàng)建的辙谜,不需要書(shū)寫(xiě)代碼俺榆,會(huì)被作為類(lèi)保存在內(nèi)容包中。 實(shí)際上装哆,這些類(lèi)藍(lán)圖定義了一種新類(lèi)別或類(lèi)型的Actor罐脊,這些Actor可以作為實(shí)例放置到地圖中, 就和其他類(lèi)型的Actor的行為一樣蜕琴。
純數(shù)據(jù)藍(lán)圖
Data-Only Blueprint(僅包含數(shù)據(jù)的藍(lán)圖) 是指僅包含代碼(以節(jié)點(diǎn)圖表的形式)萍桌、變量及從其父類(lèi)繼承的組件
的類(lèi)藍(lán)圖。僅包含數(shù)據(jù)的藍(lán)圖允許您調(diào)整及修改繼承的屬性凌简,但是不能添加新元素上炎。 從本質(zhì)上講,這些藍(lán)圖是原型的替代物雏搂,設(shè)計(jì)人員可以使用它們來(lái)調(diào)整屬性或者設(shè)置具有變種的項(xiàng)目藕施。
Data-Only Blueprints(僅包含數(shù)據(jù)的藍(lán)圖) 是在合并的屬性編輯器中進(jìn)行編輯的,但是也可以通過(guò)使用完整的 藍(lán)圖編輯器 來(lái)添加代碼凸郑、 變量或組件裳食,來(lái)將其轉(zhuǎn)換為完整的藍(lán)圖 。
關(guān)卡藍(lán)圖
關(guān)卡藍(lán)圖(Level Blueprint) 是一種專(zhuān)業(yè)類(lèi)型的 藍(lán)圖(Blueprint)芙沥,用作關(guān)卡范圍的全局事件圖诲祸。 在默認(rèn)情況下尘盼,項(xiàng)目中的每個(gè)關(guān)卡都創(chuàng)建了自己的關(guān)卡藍(lán)圖,您可以在虛幻編輯器中編輯這些關(guān)卡藍(lán)圖烦绳, 但是不能通過(guò)編輯器接口創(chuàng)建新的關(guān)卡藍(lán)圖卿捎。
與整個(gè)級(jí)別相關(guān)的事件,或關(guān)卡內(nèi)Actor的特定實(shí)例径密, 用于以函數(shù)調(diào)用或流控制操作的形式觸發(fā)操作序列午阵。 熟悉虛幻引擎3的人應(yīng)該非常熟悉這個(gè)概念, 因?yàn)樗cKismet在虛幻引擎3中的工作原理非常相似享扔。
關(guān)卡藍(lán)圖還提供了關(guān)卡流送和[Sequencer]的控制機(jī)制底桂, 以及將事件綁定到關(guān)卡內(nèi)的Actor的控制機(jī)制。
藍(lán)圖接口
藍(lán)圖接口(Blueprint Interface) 是一個(gè)或多個(gè)函數(shù)的集合 - 只有名稱(chēng)惧眠,沒(méi)有實(shí)施 -
可以添加到其他藍(lán)圖中籽懦。任何添加了該接口的藍(lán)圖都保證擁有這些函數(shù)。接口的函數(shù) 可以在添加它的每個(gè)藍(lán)圖中提供功能氛魁。在本質(zhì)上暮顺,這類(lèi)似于一般編程中的接口概念, 它允許多個(gè)不同類(lèi)型的對(duì)象通過(guò)一個(gè)公共接口 共享和被訪問(wèn)秀存。簡(jiǎn)單地說(shuō)捶码,藍(lán)圖接口允許不同的藍(lán)圖相互共享和發(fā)送數(shù)據(jù)。
內(nèi)容創(chuàng)建者可以通過(guò)編輯器以與其他藍(lán)圖類(lèi)似的方式創(chuàng)建藍(lán)圖接口或链, 但它們?nèi)杂幸欢ǖ木窒扌员鼓眨蛟谟谝韵虏僮鞑豢蓤?zhí)行:
添加新變量
編輯圖表
添加組件
藍(lán)圖宏庫(kù)
藍(lán)圖宏庫(kù)(Blueprint Macro Library) 是一個(gè)容器,它包含一組 宏 或自包含的圖表澳盐,這些圖表可以 作為節(jié)點(diǎn)放置在其他藍(lán)圖中祈纯。它們可以節(jié)省時(shí)間,因?yàn)樗鼈兛梢源鎯?chǔ)常用的節(jié)點(diǎn)序列叼耙, 包括執(zhí)行和數(shù)據(jù)傳輸所需的輸入和輸出腕窥。
宏在引用它們的所有圖表之間共享,但是它們會(huì)自動(dòng)擴(kuò)展到圖表中旬蟋, 就像它們?cè)诰幾g期間是一個(gè)折疊節(jié)點(diǎn)那樣油昂。這意味著藍(lán)圖宏庫(kù)不需要編譯。但是倾贰, 對(duì)宏的更改僅反映在重新編譯包含這些圖表的藍(lán)圖時(shí) 引用該宏的圖表中冕碟。
藍(lán)圖工具
藍(lán)圖工具(簡(jiǎn)稱(chēng) Blutility),是用于執(zhí)行編輯器行為或延展編輯器功能的純編輯器藍(lán)圖匆浙。 其可將不帶參數(shù)的[事件(Events)]作為 UI 按鍵公開(kāi)安寺, 并能執(zhí)行對(duì) 藍(lán)圖 公開(kāi)的任意函數(shù),同時(shí)對(duì)視口中當(dāng)前選定的 Actor 集產(chǎn)生作用首尼。
藍(lán)圖剖析
藍(lán)圖功能由諸多元素定義挑庶。 部分元素默認(rèn)存在言秸,其余可按需添加。 這些元素可用于定義組件迎捺、執(zhí)行初始化和設(shè)置操作举畸、對(duì)事件作出響應(yīng)、組織并模塊化操作凳枝, 以及定義屬性等行為抄沮。
組件窗口
了解組件(Components)后,藍(lán)圖編輯器(Blueprint Editor) 中的 組件(Components) 窗口允許您將組件添加到藍(lán)圖岖瑰。這提供了以下方法: 通過(guò)膠囊組件(CapsuleComponent)叛买、盒體組件(BoxComponent)或球體組件(SphereComponent)添加碰撞幾何體, 以靜態(tài)網(wǎng)格體組件(StaticMeshComponent)或金屬網(wǎng)格體組件(SkeletalMeshComponent)形式添加渲染幾何體蹋订, 使用移動(dòng)組件(MovementComponent)控制移動(dòng)率挣。還可以將組件(Components)列表中添加的組件 指定給實(shí)例變量,以便您在此藍(lán)圖或其他藍(lán)圖的圖表中訪問(wèn)它們露戒。
構(gòu)造腳本
創(chuàng)建藍(lán)圖類(lèi)的實(shí)例時(shí)椒功,構(gòu)造腳本(Construction Script) 在組件列表 之后運(yùn)行。它包含的節(jié)點(diǎn)圖表允許藍(lán)圖實(shí)例執(zhí)行初始化操作玫锋。 構(gòu)造腳本的功能可以非常豐富蛾茉,它們可以執(zhí)行場(chǎng)景射線追蹤、設(shè)置網(wǎng)格體和材質(zhì)等操作撩鹿,從而根據(jù)場(chǎng)景環(huán)境來(lái)進(jìn)行設(shè)置。 例如悦屏,光源藍(lán)圖可判斷其所在地面類(lèi)型节沦,然后從一組網(wǎng)格體中選擇合適的網(wǎng)格體, 或者础爬,柵欄藍(lán)圖可以向各個(gè)方向射出射線甫贯, 從而確定柵欄可以有多長(zhǎng)。
事件圖表
藍(lán)圖的 事件圖表(EventGraph) 包含一個(gè)節(jié)點(diǎn)圖表看蚜;節(jié)點(diǎn)圖表使用事件和函數(shù)調(diào)用來(lái)執(zhí)行操作叫搁,從而響應(yīng)與該藍(lán)圖有關(guān)的游戲事件。它添加的功能會(huì)對(duì)該藍(lán)圖的所有實(shí)例產(chǎn)生影響供炎。你可以在這里設(shè)置交互功能和動(dòng)態(tài)響應(yīng)渴逻。例如,光源藍(lán)圖可以通過(guò)關(guān)閉其 LightComponent 和更改其網(wǎng)格體使用的材質(zhì)音诫,來(lái)響應(yīng)傷害事件惨奕。光源藍(lán)圖的所有實(shí)例會(huì)自動(dòng)具備這個(gè)功能。
函數(shù)
函數(shù)(Functions) 是屬于特定 藍(lán)圖(Blueprint) 的節(jié)點(diǎn)圖表竭钝,它們可以從藍(lán)圖中的另一個(gè)圖表 執(zhí)行或調(diào)用梨撞。函數(shù)具有一個(gè)由節(jié)點(diǎn)指定的單一進(jìn)入點(diǎn)雹洗,函數(shù)的名稱(chēng) 包含一個(gè)執(zhí)行輸出引腳。當(dāng)您從另一個(gè)圖表調(diào)用函數(shù)時(shí)卧波,輸出執(zhí)行引腳將被激活时肿, 從而使連接的網(wǎng)絡(luò)執(zhí)行。
變量
Variables(變量) 是保存值或參考世界場(chǎng)景中的對(duì)象或Actor的屬性港粱。這些 屬性可以由包含它們的 藍(lán)圖(Blueprint) 通過(guò)內(nèi)部方式訪問(wèn)螃成,也可以 通過(guò)外部方式訪問(wèn),以便設(shè)計(jì)人員使用放置在關(guān)卡中的藍(lán)圖實(shí)例 來(lái)修改它們的值啥容。
藍(lán)圖模式
藍(lán)圖的 模式 決定其窗口中顯示的內(nèi)容锈颗。關(guān)卡藍(lán)圖僅包含一個(gè)模式(圖表模式),而藍(lán)圖類(lèi)包含三種不同模式:
默認(rèn)模式——可在此設(shè)置藍(lán)圖默認(rèn)選項(xiàng)咪惠。
組件模式——可在此添加击吱、移除和編輯構(gòu)成藍(lán)圖的組件。