unreal源碼分析
『壹』 如何學習Unreal Engine 4的材質系統源代碼
雙擊GenerateProjectFiles.bat文件,一分鍾後會生成一個UE4.sln
用Visual Studio 2013打開UE4.sln
進入後按F5進行編譯,時間較長請耐心等待
(外星人20分鍾,小編的機子1.5小時,聽說還有2小時的,心裡瞬間平衡多了……)
打開圖示目錄(Win32和Win64文件夾是按機子的信息打開)
找到UE4Editor.
看可以在桌面創建一個快捷方式。
打開中……
出現這個窗口後,可以選擇你想要的類型,下面的框是命名。
擴展後還可以更改文件目錄。
『貳』 同時看過 unreal4 和 Unity 源代碼的人覺得哪個引擎架構更好
blueprint我覺得是神器啊,可以給策劃拿來用(可視化編程),程序員也可以用的很開心~這個比你隨便寫幾行,就要重新編譯運行一遍強多了~
- FVector這個確實有union更方便,不過我覺得沒有也可以接受~
『叄』 同時看過 unreal4 和 Unity 源代碼的人覺得哪個引擎架構更好
要很清楚這些引擎是世界最頂尖的腦袋架構出來的,一些顯而易見的問題,比如用if是否很2b,難道你以為可以架構出blueprint、能夠做到c++hot load這種吊炸天的人,他們想不到?
不可能的事情!去看看Unreal4的Multicast delegate怎麼設計,怎麼構建,C++用的多好,多純熟,對語言的壓榨多極致,能夠有這種把握深度的人,會不知道用書本上寫的條條框框「千萬別用if啊」什麼的?不可能的事情!
Tim Sweeney這些人的腦袋太好用了,太厲害了。比如Component的結構,坑超級多,你想到的,別人不會沒想到。我遇到這種情況,不會第一時間想別人是否2b了,而會先考慮、是否自己沒想到更深刻的問題?或許還有其他坑?就連Voxel Cone Tracing這種屌炸天的演算法都能想到,不可能想不到你看出來的小問題。
『肆』 同時看過 unreal4 和 Unity 源代碼的人覺得哪個引擎架構更好
這個沒有什麼可比性。最符合業務需求的就是最好的架構。unity主要是適配移動手機的。而unreal,至少從目前來看,移動這一塊做的還是不大行。
『伍』 同時看過 unreal4 和 Unity 源代碼的人覺得哪個引擎架構更好
同時看過 unreal4 和 Unity 源代碼的人覺得哪個引擎架構更好
兩個引擎思路設計是不一樣的:
Unreal注重的是工業化流程, 強調整體性, 官方性. 所以你會發現Unreal很少會有那麼多的插件和擴展(普及程度是最大原因, 但還是和設計有關系).
Unity3D的思路就是全腳本化, 讓大家來給它做各種Mod, 可以說是用互聯網思想來做引擎. 有了流量和用戶, 普及就不是啥問題, 更可以說自己的哲學是正確的
題主所說的, 用帶反射的語言來做. Unity3D就是這么完成的編輯器. 可以說, 編輯器本身完完全全都是用引擎本體寫出來的. 但引擎本體本沒有編輯器支持.
而虛幻呢, 由於老的一些架構和思想下, 還是使用引擎本體糅合編輯器的功能, 通過宏控制來製作. 但多年的編寫經驗證明這么做其實也還好. 這是用C++做腳本這點. 我也感覺不大好, 至少來說, 開發效率和普及就受到很嚴重的牽制.
另外我覺得, Unreal這種整合方式的思想和Unity3D這種MOD開發的思想肯定會長期存在的, 各有各的好處. 有的人喜歡完善, 有的人喜歡自定義. 就像Windows和Linux一樣
『陸』 同時看過 unreal4 和 Unity 源代碼的人覺得哪個引擎架構更好
同時看過 unreal4 和 Unity 源代碼的人覺得哪個引擎架構更好
收到你的求助了。這2個都是游戲引擎,Unity3D引擎更適合獨立開發者,和小公司。Unreal更適合大的,有(經濟和研發)實力的公司,另外Unreal開放了一款用來和Unity3D競爭的叫UDK,他和正式版的Unreal的區別是沒有C++源代碼,無法深度定製
unity3D 目前是國內使用最多的,而且最易上手的。我是用Unity做開發的,安卓/IOS等等各個平台都能轉換。 UE4,平台限制太多,雖然說畫面渲染不錯,但是開銷大! 單純學習而言,先學習U3D才是王道。
『柒』 同時看過 unreal4 和 Unity 源代碼的人覺得哪個引擎架構更好
在有業務的背景前提下,根據業務需求,對所做產品做架構設計,程序的框架搭建及核心代碼編寫,同時根據搭建的架構撰寫詳細設計文檔(即代碼實現文檔,包括各個類得設計,類中的函數、類的功能,函數的輸入值、返回值等)其中包括部分偽代碼,所寫文檔來指導開發做代碼開發。
『捌』 為什麼unreal4免費開源後,在國內沒有火起來
這個問題可從幾個方面來看:
免費:不是真正的免費,而是盈利達到一定程度的比例分成,越是大的公司對這一點越不能容忍。
開源:整個unreal引擎非常巨大,不論是抄襲,還是修改,都需要巨大的學習付出,而且產出小,投入和付出不成正比。
新功能的藍圖和以前的腳本語言編寫習慣不一樣,大多數程序員是排斥的,意味著他們需要學習新的腳本語言
藍圖還取代了shader,牛逼的shader開發人員不會喜歡這種即時編譯shader,因為藍圖shader的編譯感覺上很慢
以3D為主打的unreal4功能高大全,國內短平快的項目用起來成本高,游戲公司支持的大型端游一般有自己的引擎
本來unity佔領的市場份額就高,unreal4也沒有積極的搶占市場(廣告宣傳)
沒有市場的unreal4沒有教程(完整的實戰教程,啟動器學習上的教程一般是例子,沒辦法拿來培訓),惡性循環
最後一點,unreal4有自己的啟動器,下載引擎需要登錄,登錄經常被牆,下載經常被牆
emmmm~
一不小心發現很久以前的回答,才疏學淺真的慚愧。就幾個答案的問題修正一下。
2.開源:感覺ue4現在在向全方面發展,所以系統多,學習曲線陡,開源不代表彩筆能看懂,emmmm,看懂了層次看不懂命名,看懂命名看不懂實現,看懂了實現看不懂設計的原理。
3.感覺因為藍圖太方便了,所以C++的文檔都不好好維護了(只有declaration沒有description)
4.這個是我孤陋寡聞了,現在VFX業界都是節點式編輯材質了,甚至更進一步houdini全節點流,真的香。
6.單從國內手游看貌似unity占優,再往大了看,ue4根本不是游戲引擎,而是實時3D項目的組裝器,各種目瞪口呆。
7.有教程,但是由於ue4實在太大,全面的教程講不深,單個的教程很零散,強大的教程多油管,方便的藍圖和國內unity開發習慣有相當的區別。地形系統很牛逼嗯,物理很牛逼嗯,API很牛逼嗯。。。。。額,玩了三個月是不是該找工作了
『玖』 同時看過 unreal4 和 Unity 源代碼的人覺得哪個引擎架構更好
很直接說一句,那都不是什麼問題,或者可以說,根本不是比較的重點。Unity那種寫法,上世紀就已經有人在用,不見得是什麼高明的寫法,這種c/c++的奇技淫巧,只有初學者或者剛剛學會一點兒的人會感興趣。我順手可以拈來好多類似的,比如gcc的tree node結構,初讀感覺那個精妙,後來發現也就那樣兒。這種union我大概10年前在寫高速raytrace引擎的時候已經用過,而且用在xmm上面,即現在DirectXMath的寫法。至於你說不明白為什麼Unreal這么寫,看不懂if。為什麼?很簡單啊,因為這是「歷史問題」。那個年代過來的代碼都是這么寫的,就一直這么寫了。
很多人搞錯了一點,以為數學庫要效率高,這也是我剛開始寫引擎和圖形程序時候的錯覺。後來發現,不是的,游戲引擎的數學庫,不是全都要求效率高的,數學庫最重要的是「穩定」。因為真正在跑的,AAA游戲,或者重度的MMORPG,最重要的,不是數學運算,而是「架構」。反而數學運算,需要穩。穩到什麼程度?havok曾經推銷他們的物理引擎,最引以為傲的的,並不是它有多快,而是它的所有物理運算在所有平台上的計算結果都完全一致(評論有朋友修正了這個說法,應該是同樣的計算在同一平台上每次計算都一樣)。這簡直吊炸天啊有木有!!!如果你不明白這句話背後的意義,那麼我想你沒必要討論數學庫