UE4新手之程式設計指南

2021-07-27 01:34:07 字數 3291 閱讀 8133

虛幻引擎4為程式設計師提供了兩套工具集,可共同使用來加速開發的工作流程。 新的遊戲類、slate和canvas使用者介面元素以及編輯器功能可以使用c++語言來編寫,並且在使用visual studio 或 xcode之一編譯後可以在虛幻編輯器中反映出全部變更內容。 藍圖視覺化指令碼系統是乙個強勁的工具,可以讓類通過連線函式區塊和屬性引用來在編輯器中進行建立。

c++類可以作為藍圖類的基類使用,並且這樣的話,程式設計師就可以設定基礎的遊戲類,隨後,它們由關卡設計師來進行子類和迭代處理。

虛幻引擎api引用

無論您使用c++、藍圖還是同時使用兩者來程式設計,底層的虛幻架構是相同的。

actor

虛幻架構

結構體

tarray:虛幻引擎中的陣列

tmap

tsubclassof 介面

遊戲模組 外掛程式

動畫節點用於在vim 藍圖

中執行 操作,比如混合姿勢或直接操作骨骼。雖然僅提供了幾個動畫節點, 但是您可以建立自定義節點來滿足任何遊戲的需要。

動畫節點由兩部分組成:

要想新增乙個新動畫節點,就必須建立這兩個部分內容。

儘管可以建立節點的層次結構,但任何在編輯器中使用的非抽象類都應該正確地包含 乙個執行時節點(當進行繼承時不要新增任何額外的節點,除非父類是抽象類且沒有包含任何節點)。 請參照uanimgraphnode_blendlistbase獲得示例。

執行時結構體繼承於fanimnode_base,負責初始化、更新及操作乙個或多個 輸入姿勢來生成期望的輸出姿勢。它還宣告了節點執行期望操作所需的 任何輸入姿勢連線和屬性。

在執行時節點中,通過建立fposelinkfcomponentspaceposelink型別的屬性來暴露姿勢輸入 。當在本地空間中應用姿勢時使用fposelink,比如 混合動畫。當在元件空間中應用姿勢時使用fcomponentspaceposelink。 比如,應用骨架控制器。

乙個節點可以具有乙個單獨的姿勢輸入:

本地空間

元件空間

元件空間姿勢引腳是藍色的。

或者,節點也可以具有多個輸入,用於混合多個動畫:

每個這樣的屬性都會導致顯示乙個姿勢連線。這種型別的屬性總是暴露為 輸入引腳。這些引腳不能進行選擇性地隱藏或僅用作詳細資訊面板中 的可編輯屬性。動畫節點可以有多個屬性(比如乙個alpha 或 變換資料),用於執行節點的操作 。這些屬性的宣告方式和其他屬性一樣,使用uproperty()巨集進行宣告。

通過使用特殊的元資料關鍵字,可以將動畫節點的屬性暴露為資料輸入,從而可以向該 節點傳入值。這允許節點的屬性使用在節點之外計算的值。 以下是可用的元資料關鍵字:

編輯器類繼承於uanimgraphnode_base,負責類似於顯示節點標題或 新增關聯選單動作這樣的事情。

在編輯器中使用的類應該包含乙個您的執行時節點的例項,且該例項暴露為可編輯狀態。

在角色編輯器內的 動畫藍圖 的圖表中顯示的動畫節點的背景顏色和標題文字, 是通過過載getnodetitle()getnodetitlecolor()函式定義的。

在角色編輯器中,當滑鼠懸停到節點上時顯示的工具提示資訊,該資訊是通過過載gettooltip()函式定義的。

關聯選單

每個動畫節點可以新增節點相關的選項到關聯選單中,當您右擊角色編輯器中的圖表中的節點時會顯示該 關聯選單。這些選項是通過getcontextmenuactions()函式新增的,該函式 是所有藍圖節點的成員函式。

比如,uanimgraphnode_layeredboneblend節點新增選單項,用於新增新的輸入或刪除現有輸入:

void uanimgraphnode_layeredboneblend::getcontextmenuactions(const fgraphnodecontextmenubuilder& context) const

context.menubuilder->endsection();}}

else

context.menubuilder->endsection();}}

}

UE4新手之程式設計指南

虛幻引擎4為程式設計師提供了兩套工具集,可共同使用來加速開發的工作流程。新的遊戲類 slate和canvas使用者介面元素以及編輯器功能可以使用c 語言來編寫,並且在使用visual studio 或 xcode之一編譯後可以在虛幻編輯器中反映出全部變更內容。藍圖視覺化指令碼系統是乙個強勁的工具,可...

ue4玻璃材質 UE4 材質

本文中,我們將首先討論基於物理的渲染,什麼是材質域,什麼是材質,什麼是材質例項,什麼是主材質,我們將討論材質的一些建議和禁忌。最後,我們將了解一些材質概念,你可以將其用於各類專案中的材質。pbr 表示基於物理的渲染,基於物理的渲染意味著我們根據現實模擬光線,而不是根據主觀想法模擬光線。光線的最終效果...

UE4之單播委託

參考 實現乙個簡單的demo,主要通過拉近拉遠來實現燈光的控制。實現邏輯如下 定義乙個委託 這裡我定義的是乙個有引數的委託 declare delegate oneparam mydelegate,bool uclass class tarraytest api atarraytestgamemod...