天天看點

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

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

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

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

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

    【Unreal Engine】191452043

<a href="http://www.himigame.com/wp-content/uploads/2016/04/1.png" target="_blank"></a>

先引用官方文檔的解釋:

虛幻引擎4為程式員提供了兩套工具集,可共同使用來加速開發的工作流程。 新的遊戲類、Slate和Canvas使用者接口元素以及編輯器功能可以使用C++語言來編寫,并且在使用Visual Studio 或 XCode之一編譯後可以在虛幻編輯器中反映出全部變更内容。 藍圖可視化腳本系統是一個強勁的工具,可以讓類通過連接配接函數區塊和屬性引用來在編輯器中進行建立。 C++類可以作為藍圖類的基類使用,并且這樣的話,程式員就可以設定基礎的遊戲類,随後,它們由關卡設計師來進行子類和疊代處理。

OK,說點通俗點:

  藍圖與C++是互相配合的,不論你通過哪種方式建立的工程,都可以在項目中建立所需的C++類或藍圖類。 針對藍圖來說:更傾向于項目前期快速建構進行試水看效果。 在Himi的了解來看,藍圖屬于主導,而C++屬于輔助。藍圖快速搭建架子,C++來進行重構、整理、補充!

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

<a href="http://www.himigame.com/wp-content/uploads/2016/04/7.jpg" target="_blank"></a>

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

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

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

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

Himi 這裡将此藍圖命名為:“BP_MyPawn”

三:輕按兩下打開進行編輯BP_MyPawn藍圖,編輯其Event Graph如下圖:

<a href="http://www.himigame.com/wp-content/uploads/2016/04/4.png" target="_blank"></a>

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

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

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

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

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

<a href="http://www.himigame.com/wp-content/uploads/2016/04/7.png" target="_blank"></a>

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

六:效果圖如下:(點選檢視動态效果)

<a href="http://www.himigame.com/wp-content/uploads/2016/04/jdfw.gif" target="_blank"></a>

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

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

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

本文轉自 xiaominghimi 51CTO部落格,原文連結:http://blog.51cto.com/xiaominghimi/1766948,如需轉載請自行聯系原作者

繼續閱讀