整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          Unity 3D初學入門教程,7天玩轉游戲開發VR虛擬現實1

          代碼也要讀書,愛全棧,更愛生活。每日更新原創IT編程技術及日常實用技術文章。

          我們的目標是:玩得轉服務器Web開發,搞得懂移動端,電腦客戶端更是不在話下。

          更多原創教程,請點擊上方關注或微信公眾平臺:做全棧攻城獅。

          技術交流群:高手群:538742639新手群: 572577013

          本文章由做全棧攻城獅,原創首發,如有轉載,請聲明出處。

          、2020年的Unity或Unreal

          在當下游戲開發中,使用游戲引擎來創建游戲或者AR、VR應用已變得越來越普遍。如今,有大量的游戲引擎可供開發人員選擇,但目前有兩個最受歡迎的兩個游戲引擎,非Unity和Unreal莫屬了。今天,我們將著眼于兩者的優缺點進行討論,以幫助大家確定哪一個最適合你。

          在開始之前,我需要聲明,我們并不是非要比出哪個更好,因為這是兩個截然不同的非常好的引擎,它們各有千秋。哪個更合適通常取決于你的個人喜好或所創建的游戲類型。此外,Unity和Unreal絕不是唯一的選擇,它們只是最受歡迎的兩個。

          2、兩個引擎的簡單概述

          Unity Engine

          Unity于2005年第一次作為一種商業產品開始銷售。當時,它與我們大多數人并沒有什么特別的關系……因為那是當時的Mac獨有的產品。但在2007年,Unity被帶到了Windows平臺,并真正開始發展起來。第二年,蘋果應用商店(Apple App Store)和隨之而來的手機游戲《淘金熱》(goldrush)問世。

          Unity一開始的定位就是:讓游戲開發更易于上手,并向更廣泛的受眾開放。毋庸置疑他們是成功的。隨后,他們還推出了一個非常成功的廣告平臺(Unity Ads),打造了一個面向Unity,iOS和Android開發人員的獲利平臺。

          從那以后,Unity繼續添加了許多新功能,更重要的是,Unity幾乎可以面向你聽過的任意一個平臺發布游戲。最近幾年,Unity更多地聚焦于提升引擎的性能和渲染技術,這使Unity成為一個真正的3A引擎。DOTS和可腳本化渲染管道之類的功能極大地提高了視覺質量。

          如果大家對Unity的發展歷史感興趣,可以看看這篇文章。

          https://web.wpi.edu/Pubs/E-project/Available/E-project-030614-143124/unrestricted/Haas_IQP_Final.pdf

          Unreal Engine

          Unreal的歷史要古老得多——它早在1998年就發布了。在當時,有幾家公司將他們的引擎技術許可給其他開發人員(如NetInvent、Renderware、LithTech,尤其是idTech)。在id Tech引擎中,開發者可以獲得代碼和工具,用來創建像id software公司的《雷神之錘》/《毀滅戰士》之類的游戲。與id Tech不同,Epic Games將更多資源放在在“產品化”他們的引擎上,并提供完善的工具和支持。值得注意的是,在當時,游戲引擎的許可費用是6-7位數。至此,Epic成為了一家游戲和游戲技術公司,一直到現在還是這樣。

          如果你看看二十幾年來用各種版本的Unral引擎制作的游戲,就知道誰是游戲宗師了。諸如《虛幻競技場》,《殺出重圍》,《生化奇兵1/2/3》,《細胞分裂》,《蝙蝠俠》阿甘系列,《無主之地》系列,《戰爭機器》系列,《質量效應》,《真人格斗》,《絕地求生》,《堡壘之夜》,當然還有《山羊模擬》等!這些大預算游戲沒有使用內部技術來創建,這讓Unreal輕松成為A-AAA游戲之王。然而你會注意到這其中少有手機游戲。直到《無限刀鋒》,Unreal在移動端還是一個相對未知的領域,但隨著時間的推移這種情況正在改善,《堡壘之夜》的巨大成功更是讓他們專注于改善Unreal對移動端的支持。

          隨著Unreal4的發布,Unreal的許可制度發生了很大變化。不像UDK 3(虛幻3引擎開發工具包)那樣需要幾十萬美元的前期投入,Unreal4改變了最初的小訂閱+版稅的結構,最終進入了直接版稅制。

          3、來自程序員的經驗

          兩個游戲引擎對開發者(特別是程序員)來說有不同的使用方法。一個主要的區別是Unreal的源代碼可以在GitHub上獲得(雖然在技術上不是開源的),這意味著你可以自己改變引擎的任何方面,包括從頭開始構建整個東西。另一方面,Unity是封閉源碼的,除非你為源碼許可證支付巨額現金(聽說是6位數)。之后,Unity慢慢地發布越來越多的東西,許多包是開源的,但是大部分只是為了參考而開放的(你仍然不能自己編譯引擎,也不能修復錯誤)。

          在游戲編程方面,Unreal有兩種主要的編程語言:C++和Blueprints。C++有一個完整的垃圾收集系統,現在有一個由Live++支持的實時重裝系統,這使得C++很像一種腳本語言。Blueprints是一個基于圖形的可視化編程系統,它可能是最好的可視化編程選項。它還能夠編譯成C++代碼,從而降低使用它的性能成本。Unreal的build時間不算太好。

          在Unity中,曾經有幾種支持的腳本語言,C#,Boo(類似Python),UnityScript(類似JavaScript/ECMAScript)。最近幾年Boo和UnityScript支持都不怎么用了,剩下C#作為開發主要語言。從好的方面來看,自從Mono免費以來,Unity現在有了C#的當前實現,而不是落后于語言開發近十年。Unity目前正在向DOTS或面向數據的技術堆棧遷移,這是C#、ECS或 Entity Component System的高性能子集與并行計算的結合,側重于Jobs系統,有望實現C++級別的性能。Unity中的Build時間非常快。

          這兩個游戲引擎都有應用商店,為第三方提供額外的游戲編程方式。

          4、特點

          在特點上,人們通常會做一個巨大的清單來羅列各自的特點,從而比較每個游戲引擎之間可用的功能。事實是,對Unity和Unreal來說,這可能完全是浪費時間。如果一個新的平臺推出,兩個引擎都將在一個版本中支持它。兩個引擎都包含了各種工具和功能…動畫工具,profilers,DCC導入工具,地形,物理,音頻,VR,過場動畫,版本控制集成等。就功能規格而言,Unity和Unreal無疑是目前功能最豐富和第二豐富的游戲引擎。

          然而,有兩個方面Unity比Unreal強——2D和Web。在上一個版本中,Unreal中的HTML平臺被剝離出來,成為一個社區項目。就2D而言,Unity在這方面投入了很多關注。Unreal有Paper2D,但Paper2D的發展似乎在幾年前就停止了。2D制作可以在任何一個引擎中完成,但在這方面Unity似乎是更好的選擇。

          Unreal最有優勢的特點仍然是視覺質量……它目前在渲染3A質量的圖形方面具有更好的性能。Unity正試圖迅速縮小這一差距,如轉向DOTS和引入可編程的高畫質渲染管線HDRP,它們目前正處于測試中。

          Unity平臺:

          Unreal平臺:

          Unreal4讓開發者可以將項目部署到Windows PC,PlayStation 4,Xbox One,Mac OS X,iOS,Android,AR,VR,Linux,SteamOS和HTML5。我們可以在Windows,OS X和Linux上運行Unreal編輯器。

          5、社區

          Unity和Unreal都有充滿活力的社區,除此之外,社區了還有大量的書籍、教程和其他資源。此外,Unity的社區要大得多,可能會有3-4倍的出版書籍,以及大量的社區內的各種教程。然而,這兩個引擎在提供學習材料方面都做得很好,所以學習任何一個引擎都不會有太大的問題。這兩個社區都足夠大,一般來說,我們可以很容易地找到一個技術問題的解答,盡管雇傭一個有經驗的Unity開發人員比雇傭一個Uneral開發人員更容易。

          社區的另一個方面是可用的開發商市場。Unity應用商店是這一概念的先驅,擁有免費或商用的腳本、模型、級別、圖形等的巨大資源。Unreal也有一個開發人員商店,但它的規模只有Unity的一小部分。此外,Unreal會在每個月的第一天贈送商店的東西給開發者,給開發者提供大量高質量的免費資產。

          6、發行游戲

          兩種游戲引擎都有大量已發布的游戲。虛幻引擎主導著大預算的3A領域,并試圖越來越多地進軍獨立和移動領域。Unity則相反,發布了大量的手機游戲,是中小型開發者的首選引擎,尤其是幾個備受矚目的專業KickStarter游戲。

          有名的Unreal游戲:

          ? 堡壘之夜

          ? 真人快打系列(UE3衍生引擎)

          ? 王牌實戰7

          ? 方舟:生存進化

          ? 蝙蝠俠:阿卡姆城/庇護

          ? 戰爭機器4/5

          ? 王國之心3

          ? PUBG

          ? 盜賊之海

          ? 街頭霸王V

          ? 無主之地3

          ? 染血:夜晚的儀式

          有名的Unity游戲:

          ? 爐石傳說

          ? 杯頭

          ? 永恒之柱1和2

          ? 火警

          ? 暗影奔跑

          ? 戰技

          ? 奧里和盲人森林

          ? 喀布爾太空計劃

          ? 復核

          ? 城市:天際線

          可以肯定地說,發布的Unity游戲比Unreal游戲要多,但是Unreal在大預算大市場3A游戲方面處于領先地位。

          7、價格

          Unity和Unreal采用了非常不同的方法來賺錢,每種方法都有優勢和劣勢,這取決于游戲的最終規模、范圍和總銷售額。

          Unreal

          我們將從Unreal的定價方案開始,因為它是最直接的。在你獲得一定的收入后,Unreal的作品采用了直接的版稅方案:

          UE4是免費使用的,在每個季度每場游戲從商業產品中獲得首筆3000美元收入后,才需要支付收入中的 5% 版權費用給 Epic Games。如果你預計你的游戲會有絕對驚人的銷量,你也可以和Epic協商固定的前期許可費。

          Unity

          Unity有一種更傳統的訂閱的方法,有多種計劃可供選擇。Unity剛剛在2020年1月1日提價,并取消了年度計劃定價。

          對于年收入或資金不超過10萬美元的開發商來說,有個人或免費層。接下來是PLUS層,每月40美元。這一層為用戶提供了額外的功能,如訪問他們的高級學習、分析、云托管等。最大的不同是你可以用這個許可證每年賺20萬以上。

          然后是專業層,每個開發人員每月150美元。同樣,這款產品附帶了許多附加功能,但完全消除了收入限制。

          最后,還有一個選項是與Unity協商源代碼許可證,其條款不公開。

          8、利弊

          以下是每個引擎的主要優點和缺點的簡要概述:

          Unity –優點

          ? 支持每個主要平臺

          ? 龐大的社區和支持網絡(書籍教程等)

          ? 迄今為止最大的開發商市場

          ? 最容易找工作,且易于獲得的認證和培訓課程

          ? 更好地支持2D游戲開發

          ? 與引擎無關的類型,非常適合策略類游戲,RPG等。

          ? 更快的開發周期,更快的構建時間

          ? 廣告網絡,Unity廣告對于移動開發人員而言意義重大。

          ? 開放且快速的開發迭代,對于常規的alpha和beta版本非常透明

          ? 引擎的模塊化重新設計加快了發行新版本的速度

          Unity–缺點

          ? 視覺效果不如Unreal

          ? 性能問題

          ? 無法從源代碼構建或修復錯誤

          ? 沒有用Unity制作的代表性的3A游戲證明“我們可以做到!”

          ? 剛開始支持可視化腳本

          ? 模塊化的開發方法使項目更容易遭到破壞

          ? 引擎還處于中間狀態……新的UI慢慢推出,新的代碼架構慢慢推出,一些新功能取決于尚不可用的其他新功能。

          ? 新的編程架構(DOTS / ECS)將需要現有開發人員重新學習,并且目前比GameObject / MonoBehaviour工作流程復雜得多

          ? C#…C#或C#。想使用C#嗎hhh?


          Unreal–優點

          ? 支持每個主要平臺

          ? 提供源代碼,完全公開的開發周期

          ? 極佳的圖形渲染效果

          ? 更現代的編輯器,更少的遺留問題

          ? 出色的性能,經常開箱即用

          ? 非凡的戰績。事實上,已經有數百種專業游戲使用虛幻引擎在各種流派和風格中發布。

          ? 每月贈送免費資產

          ? 如果游戲在Epic Game商店上發布,則可以免費使用

          虛幻引擎–缺點

          ? 2D已幾乎被遺棄

          ? 引擎的設計非常關注第三人稱和第一人稱的游戲。

          ? 極慢的構建時間

          ? 資產導入可能會非常緩慢

          ? 買賣雙方的資產交易市場較小

          ? 不支持C#

          ? 較小的開發人員社區,很難找到經驗豐富的開發人員

          9、結論

          Unreal和Unity是兩種產品,隨著時間的推移,它們在許多方面變得越來越相似,而不是越來越不同。兩者最大的區別是它們的起點。Unity最初針對業余愛好者市場的生活,并在那里取得了巨大的成功。現在,圍繞Unity的許多發展都是圍繞著將其升級到3A級別進行的。比如支持更大的項目、更高的圖形保真度和更嚴格的性能控制。

          然而,Unreal從它啟動的第一天起,就是一個3A游戲引擎,專注于高性能和圖形保真度。隨著Unreal4的發布,人們更關注讓它更易于使用、更好地記錄和更容易上手。

          每當一個新功能發布出來,你可以很快看到另一個引擎也緊跟著發布。他們背后都有巨額資金支持,而且兩家公司都不太可能倒閉。兩者都在以驚人的速度增加功能,盡管這些功能通常還需要幾年才能穩定到足以在生產環境中工作。兩家公司都在大舉進軍服務市場。目前,Unity提供的一個Unreal沒有的主要功能是廣告貨幣化服務,該功能在移動領域很重要,但在桌面和控制臺平臺上不太重要。

          .什么是游戲工程?

          工程:Project,工程文件是組織項目的基本方式,基本通過文件夾分類來達到合理整合、分類、維護所需要的資源,另外工程只能被開啟在編輯模式下,因此它面向的是編輯者。

          2.如何打開與創建工程?

          如果是首次安裝 Unity3D 引擎,通過點擊 Unity3D圖標將會打開一個默認的工程,通過點擊菜單欄的文件(File)下拉菜單框中的New Project、Open Project、Save Project 來新建,打開及保存一個工程。

          3.工程文件目錄下的文件用途

          每創建一個新的工程以后,在指定的工程目錄下會產生四個子文件夾。以Windows系統為例:

          4.文件用途解析

          資源(Assets)文件夾:將會儲存我們用到的所有的資源文件,如紋理(Texture)、腳本(Script)、模型(Model)等等。

          資源庫(Library)文件夾:用來儲存那些記錄文件之間連接和資源設置的文件。

          工程設置(Project Settings)文件夾:用于放置一些關于當前工程的一些全局設置文件。

          臨時(Temp)文件夾:用來存儲我們在編輯過程中,引擎所產生的一些臨時的中間文件,如操作歷史記錄等。

          5.特殊文件夾

          Editor:下面放的所有資源文件或者腳本文件都不會被打進發布包中,并且腳本也只能在編輯時使用。

          Plugins: Plugins文件夾用來放native插件。它們會被自動包含進build中去。

          StreamingAssets:這里的文件會被拷貝到build文件夾中,不會修改。它們的路徑會因平臺而有差異,但都可以通過Application.streamingAssetsPath來訪問。

          Resources: Resources文件夾允許在腳本中通過文件路徑和名稱來訪問資源。

          6.什么是應用程序?

          應用程序:Application, 應用程序是指為了完成某項或某幾項特定任務而被開發運行于操作系統之上的計算機程序。綜上所述,每一個應用程序都有一個它所對應的工程項目。應用程序被運行在用戶模式, 它可以和用戶進行交互,一般具有可視化的用戶界面。

          7.什么是場景?

          場景:Scene,場景被應用于影視、戲劇、小說、動畫、游戲等領域,但是,在各個領域中對場景的概念并非完全一致,例如,在影視劇中,場景是指在一定的時間、空間內發生的一定的任務行動或因人物關系所構成的具體生活畫面。然而,在這里討論的游戲場景通常可以 理解為根據策劃的要求還原出游戲中的建筑物、樹木、天空、道路等可用元素(包含圖形用戶接口元素等) 。

          8.什么是游戲對象?

          游戲對象:GameObject,是指 3D 場景中所存在的所有物體,他包括有建筑、角色、道具、 載具等。當然除了在場景中可見的物體以外,還存在著一些不可見的游戲對象,例如光源、音源等都屬于是游戲對象。

          9.什么是組件?

          組件:Component,組件是對數據和方法的簡單封裝,屬性是組件數據的簡單訪問者。方法則是組件的一些簡單的而可見的功能。

          在 Unity3D 引擎中,組件是用來綁定到游戲對象上的一組相關屬性。本質上每個組件都是 一個類的實例。引擎中常見的組件有:變幻(Transform)、網格適配器(MeshFilter)、網格渲染 器(MeshRenderer)、動畫(Animation)等等。

          10.什么是 Unity 資源?

          資源:Source,是指工程中所需要使用的,能被引擎所識別并通過編譯的素材文件統稱Unity3D 資源。Unity3D 的資源的種類非常多,例如:模型(Models)、材質(Materials)、2D紋理(Texture2D)、音頻文件(Audio Files)等等。

          11.如何導入外部資源?

          通過點擊菜單欄中的 Assets 下拉菜單欄中的 Import New Asset 選項,如下圖所示。

          直接將一個資源文件拖拽至 Project 窗口中所對應的文件夾中。

          也可以在資源管理器中找到工程中的 Assets 文件夾,將外部的資源直接復制至 Assets 文件路徑下。

          12.什么是腳本?

          腳本:Script, 腳本簡單的地說就是一條條的文字命令,這些文字命令是可以看到的,可 以使用文本編輯器打開查看、編輯,腳本程序在執行時,是由系統的一個編譯器將一條條的翻譯成計算機可識別的指令,并按程序順序執行。

          Unity3D 引擎所支持的腳本語言有三種,分別是 JavaScript、C#、Boo。這三種語言都簡單 易用,在開源.NET 平臺、Mono 上運行,編譯迅速。

          13.簡述場景、資源、游戲對象、組件間的關系

          一個游戲工程可以由一個或數個場景組成,場景是由許許多多的游戲對象組成,這其中包括有我們可見的游戲對象,如角色,建筑等,以及那些不可見的游戲對象,例如聲音,而組件 正是通過組織相關的資源來賦于這些游戲對象以不同的功能及屬性。


          主站蜘蛛池模板: 人妻体内射精一区二区三四| 国产AV午夜精品一区二区三| 亚洲日韩一区二区三区| 美女视频免费看一区二区 | 夜夜爽一区二区三区精品| 国产精品亚洲专区一区| 亚洲视频在线一区二区| 国产高清视频一区三区| 97久久精品一区二区三区| 亚洲区精品久久一区二区三区| 无码中文字幕一区二区三区| 国产精品无码一区二区三区在| 久久影院亚洲一区| 水蜜桃av无码一区二区| 国产高清一区二区三区视频| 国产精品无码不卡一区二区三区| 亚洲色大成网站www永久一区| 午夜DV内射一区二区| 日本一区二区三区久久| 国模大尺度视频一区二区| 国产对白精品刺激一区二区| 麻豆一区二区三区蜜桃免费| 国产一区二区女内射| 日本精品一区二区在线播放 | 成人乱码一区二区三区av| 色老头在线一区二区三区| 国产一区视频在线免费观看| 无码人妻精品一区二区| 卡通动漫中文字幕第一区| 奇米精品一区二区三区在| 亚洲欧洲无码一区二区三区| 人妻免费一区二区三区最新| 中日韩精品无码一区二区三区| 成人国产一区二区三区| 无码国产精品久久一区免费| 国产免费一区二区三区在线观看| 天天综合色一区二区三区| 久久4k岛国高清一区二区| 激情久久av一区av二区av三区| 免费无码一区二区三区| 久久AAAA片一区二区|