原创 “VR技術開放日”演講資料彙總

虛幻4開發搭積木的VR遊戲項目代碼:https://code.csdn.net/Neil3D/vrstarter演講PPT:在上述項目的Docs自目錄下感謝CSDN和全體到場的小夥伴們。

原创 深入Unreal藍圖開發:理解藍圖技術架構

前面幾篇博客談了幾種常用的藍圖擴展方式,其中也對藍圖的底層機制進行了部分的解析,但是還不夠整體。這篇文章談一下目前我對藍圖技術架構的系統性的理解,包括藍圖從編輯到運行的整個過程。 藍圖的發展歷程 藍圖是一個突破性的創新,它能夠讓遊

原创 Unreal Cookbook:創建對象的的幾種姿勢(C++)

DEMO源代碼 這個DEMO演示了在C++代碼中,創建UE4的常見類型的對象,包括Actor,ActorComponent,加載資源等。 源代碼請從這裏下載:https://github.com/neil3d/UnrealCookBook

原创 虛幻4與現代C++:使用TaskGraph實現Fork-Join模型

Fork-Join 模型簡介 Fork-Join 是一種並行編程的設計模式,通過下面這個圖片可以有一個直觀的理解: 圖片來自維基百科 在上圖中,不同顏色的方塊代表着可並行執行的“任務”,它們可以根據需要從主線程中“分叉(fo

原创 深入Unreal藍圖開發:自定義藍圖節點(中)

通過本系列文章上篇的介紹,我們已經可以創建一個“沒什麼用”的藍圖節點了。要想讓它有用,關鍵還是上篇中說的典型應用場景:動態添加Pin,這篇博客就來解決這個問題。 目標 和上篇一樣,我還將通過一個儘量簡單的節點,來說明"可動態添加P

原创 虛幻4插件:導入GIF動畫,作爲貼圖使用

GIF使用最多256色調色板,感覺和虛幻4的高大上定位頗爲違和,所以EPIC官方並沒有支持它;但是,偶爾在UMG或者材質中使用一下動畫的需求還是有的。這時候,如果能方便的導入GIF動畫文件,也不失爲一種便利。 基於上面的需求,開發

原创 Unity3D插件:導出 glTF 2.0 資源文件

最近不是一直在和 glTF 搏鬥嗎,現在很多引擎都已經支持了 glTF 2.0,特別是在 WebGL 領域,包括 Three.js 等流行的引擎都已經支持了 glTF 2.0 格式。 怎麼得到 glTF 2.0 格式的模型、動畫或

原创 Unreal Cookbook:數據驅動

在遊戲開發中經常要用到數據驅動,俗稱“策劃拉表”。在虛幻4引擎中,有多種方式處理數據,在這裏我就介紹最常用的兩種。 虛幻引擎內建的表格導入機制 假設策劃同學有以下這樣一個數據表,用來存儲道具相關的信息: | Name | Dam

原创 Unreal Cookbook:神奇的Spline Mesh

啥是Spline Mesh 虛幻4引擎和Unity3D一個主要的不同就是:虛幻4引擎提供了非常非常多的各種功能。這是因爲EPIC也開發遊戲,而且是很成功的大作。他們會把遊戲項目中一些驗證過、可被其他開發者重用的功能整合到引擎層。所

原创 虛幻4與現代C++:基於任務的並行編程與TaskGraph入門

基於任務的並行程序設計 基於任務(task-based)的並行編程可以說是現代 C++ 的一個重要發展方向。什麼是“基於任務的並行編程”呢?簡單來做個比較的話就很清晰了。 傳統的 C++ 並行編程是直接操作OS層面的線程(std:

原创 虛幻4與現代C++:Lambda好用也有坑

C++ Lambda 基礎知識 Lambda ,就是希臘字母“λ”,據說是代表着“λ演算(lambda calculus)”。C++11開始支持Lambda,可以說它只是一個便利機制。Lambda能做的事情,本質上都可以手寫代碼完

原创 Unreal Cook Book:動態改變材質的顏色等參數

項目常見需求之一就是在運行時,根據遊戲邏輯或者其他奇葩需求動態改變對象的外觀,其中一些需要動態改變材質的某些參數,例如顏色值,貼圖等。 在虛幻4引擎中完成這個非常簡便,主要分爲三步:   創建包含材質參數的Material   如上圖所

原创 虛幻4與現代C++:轉移語義和右值引用

所謂的“現代C++”,就是指C++ 11標準之後的C++語言,與之相對應的是“經典C++”,也就是C++ 98/03標準的C++語言。Unreal Engine 4使用C++14標準開發,用到了很多現代C++的特性,而且它不使用標

原创 Unreal Cook Book:創建對象的的幾種姿勢(C++)

DEMO源代碼 這個DEMO演示了在C++代碼中,創建UE4的常見類型的對象,包括Actor,ActorComponent,加載資源等。 源代碼請從這裏下載:https://github.com/neil3d/UnrealCookBook

原创 深入Unreal藍圖開發:將異步操作封裝爲藍圖節點

​ 在藍圖中我們可以使用一些異步節點,典型的就是“Delay”:它並不會阻塞當前的遊戲邏輯,而是在指定的時間之後,再執行後面的操作。 ​ "Delay"的實現是在class UKismetSystemLibrary中的 stat