【UNREAL ENGINE 遊戲開發】開篇之UE4的BLUEPRINT(藍圖)與C++(新童鞋必看)

本站文章均爲 李華明Himi 原創,轉載務必在明顯處註明: 
轉載自【黑米GameDev街區】 原文鏈接: http://www.himigame.com/unreal-engine-game/2164.html


首先Himi在這裏解釋下,爲什麼還是開篇… 原因主要有兩點:

  1. 考慮到要寫也要寫點乾貨不是麼?!但是由於官方文檔寫的真的夠詳細了,對於提到的基礎知識我真的不想再贅述,因此希望各位新童鞋一定要先跟着文檔動手過一遍!!!很重要!!!!!!!!!!!

  2. 另一方面,本想拿着UE4寫點小項目練手,然後寫點官方文檔裏沒有的或項目中遇到的問題與重點。但是Himi最近在研究React Native,近期可能無法着手繼續研究UE4,因此本篇屬於開篇更合適一些。等回頭正式迴歸繼續學習研究UE4時,屆時正式開始教程系列。

大家可以先進羣進行交流學習,本羣的管理員都是超過2年以上虛幻引擎開發老手!

    【Unreal Engine】191452043

 

1

先引用官方文檔的解釋:

虛幻引擎4爲程序員提供了兩套工具集,可共同使用來加速開發的工作流程。 新的遊戲類、Slate和Canvas用戶接口元素以及編輯器功能可以使用C++語言來編寫,並且在使用Visual Studio 或 XCode之一編譯後可以在虛幻編輯器中反映出全部變更內容。 藍圖可視化腳本系統是一個強勁的工具,可以讓類通過連接函數區塊和屬性引用來在編輯器中進行創建。

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

OK,說點通俗點:

  藍圖與C++是相互配合的,不論你通過哪種方式創建的工程,都可以在項目中創建所需的C++類或藍圖類。

針對藍圖來說:更傾向於項目前期快速構建進行試水看效果。

在Himi的理解來看,藍圖屬於主導,而C++屬於輔助。藍圖快速搭建架子,C++來進行重構、整理、補充!

 

簡單來看下面這張圖,大家更容易理解:

7

如上圖所示,你總不想讓你的項目到後期如圖一樣吧。(笑哭)


好了,下面Himi簡單舉個例子來說:

一: 首先大家創建一個C++的項目,然後請按照官方文檔創建一個可移動的Actor。

鏈接: https://docs.unrealengine.com/latest/CHN/Programming/Tutorials/PlayerInput/index.html

二:在項目中創建一個藍圖類,並選擇我們第一步創建好的C++ Actor (MyPawn),如下圖:

2               3

Himi 這裏將此藍圖命名爲:“BP_MyPawn”

三:雙擊打開進行編輯BP_MyPawn藍圖,編輯其Event Graph如下圖:

4

這裏主要對此Actor進行了添加鍵盤Q和E的事件:

按鍵Q: 創建一個時間軸來循環打印一句話

按鍵E:利用(a+b)*c的公式來隨機打印出一個數值

四:將第一步驟的C++ Actor 與 我們新建的藍圖Actor ,都放在世界中。

五:打開關卡藍圖,編輯Event Graph,如下圖:

7

這裏主要添加按鍵1,2來在C++ Actor與藍圖Actor 之間進行切換控制權。

六:效果圖如下:(點擊查看動態效果)

jdfw

按下鍵盤2,控制藍圖Actor,然後Q和E按鍵都有事件觸發。

按下鍵盤1,切回到C++的Actor視角,按下Q和E沒有任何事件觸發。

          通過這個小例子,完成了C++與藍圖配合實現繼承關係的過程!當然至於如何能夠更好的配合使用,就交給各位了~ 發揮你的想象吧,希望本篇能爲新童鞋解惑C++與藍圖。(PS. 其中很多藍圖的操作或者哪些看不懂的地方,那麼請你先去好好擼一遍官方文檔後,再來看:so easy!)

Himi 在UE4上也是個萌新,希望大家【加羣 191452043】多多討論共同進步!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章