當前位置:
首頁 > 最新 > 學習UE4開發,為什麼要學習C+?

學習UE4開發,為什麼要學習C+?

小白做了一個不完全的數據統計,幾乎每一個過來學院這邊試聽的學生,都會問一個永恆的問題:(1)老師,我是過來學習UE4開發的,為什麼需要學習C++?(2)C++難嗎?我之前沒有任何編程基礎可以學會嗎?(3)聽說UE4藍圖開發不需要有任何編程基礎都可以上手哇,那麼老師我還有必要學習C++嗎?

所以本次我特意就這個話題寫一篇微信公號文章,下次再有學生困惑的時候,直接推薦他來看這篇文章!

首先想過來學習UE4開發的同學,想必已經對UE4有了一定的了解。UE4作為一款經典的遊戲開發引擎,本身就是基於C++作為其底層開發語言,對C++代碼一定是非常友好的。但是對於毫無編程經驗的學生,學習C/C++則是一件不太友好的事情了。我們開設課程的順序是先學習大約2個月的C++基礎,再去學習UE4。為什麼要這樣去設置呢?必然有它的合理性。先假設,如果直接去學習UE4,即使是單純地學習藍圖開發(下面我去打開一個UE4項目,打開關卡藍圖,如下圖)

什麼都沒做之前,就需要先糾結什麼是變數?什麼是函數?什麼是宏?又分別怎麼去使用他們?變數中的那些個類型又有什麼區別呢?什麼時候該用哪個?在學習到類藍圖的時候,什麼是類?為什麼要用類?繼承又是什麼鬼!?這些都是你在學習UE4之前需要了解的概念和基本知識(即使你只是想用藍圖進行開發也避免不了),教授UE4的老師可能會捎帶提一句,一般不會深入去講解這些概念。因此在學習UE4之前先要學習C++,即便你覺得自己並不擅長開發,數學不好,邏輯思維不強等等(以往學生給過的理由)。而我要說的是只要態度端正,上課認真聽講,課後能及時完成老師布置的作業,就已經夠了,能夠了解面向對象的編程思維最重要。

另外有對UE4中C++編程開發特別感興趣的學生,自然更有必要學習了,當然也遠遠還不夠,還需要進行進一步的學習。

那現在小白就給大傢伙展示一下,C++如何在UE4中起作用的。

Step1:新建項目:

安裝好之後,啟動UnrealEngine,選擇 新建項目-> c++ -> 基礎代碼。

Step2:等載入完之後,選擇文件->新建c++類,然後在如下界面選擇繼承actor。

Step3:進入到C++編輯界面,我們這次利用C++完成實現椅子在場景中旋轉的功能,並且在該myactor類中添加幾個公有變數並進行初始化,編譯一下,可以看見在UE4編輯器中將該myactor拖入場景選中在細節中,就可以看到新添加的變數已經顯示出來了。

在這裡大家就可以很明顯地看到C++是何如在UE4中起作用的了。

其實有很多的項目是完全可以用純藍圖開發的 - 如果你對性能要求沒那麼高的話,藍圖也能製作出足夠驚艷的畫面效果了。聽起來好像和C++完全沒關係了對吧!那麼藍圖的正確用法是什麼呢?就像剛才講到的,程序員都很懶,所以實際上藍圖是為設計師提供的,只有藍圖和C++配合使用才能最大化開發效率。有些邏輯用代碼寫很快,用藍圖連線很麻煩,有些東西用藍圖調很方便,用代碼調會要命,同時虛幻引擎為代碼和藍圖的通訊提供了非常好的支持,這兩樣東西是可以無縫結合在一起的。

所以為什麼說藍圖能讓程序員少寫點代碼這句話現在就可以理解了,我把核心用代碼封裝好,暴露給藍圖一個介面,設計師負責在合適的時候調用這個介面,代碼負責執行並且返回結果就行了。更形象一點,代碼更像是樂高中的各種積木,方的,圓的,長的,短的,藍圖更像是把這些積木組合成一輛車或一艘船。

你可以在學習初期,從藍圖開始上手比較容易一些。但非常不幸,你最終還是逃不過C++的魔爪。藍圖再厲害,它也是腳本生成的,最終還是要回歸到本質,那就是代碼。藍圖有的東西,代碼里都有,反過來可就不一定了。而且,想要深入的了解引擎的世界觀和工作原理,藍圖可是無法告訴你這些東西的。所以,少年,和我一起努力吧!

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 啟迪阿加教育 的精彩文章:

TAG:啟迪阿加教育 |