Unity3D是由Unity Technologies開發的一個讓你輕松創建諸如三維視頻游戲、建筑可視化、實時三維動畫等類型互動內容的多平臺的綜合型游戲開發工具,是一個全面整合的專業游戲引擎。Unity類似于Director,Blender game engine, Virtools 或 Torque Game Builder等利用交互的圖型化開發環境為首要方式的軟件其編輯器運行在Windows 和Mac OS X下,可發布游戲至Windows、Mac、Wii、iphone、Windows phone 8和Android平臺。也可以利用Unity web player插件發布網頁游戲,支持Mac 和Windows的網頁瀏覽。它的網頁播放器也被Mac widgets所支持。
Unity3D,簡稱U3D,是德國UnityTechnologies公司所開發的中端游戲引擎。
U3D相對于虛幻3引擎,只能算是小弟級的游戲引擎,但是它在游戲制作上的高效率,以及對應多平臺的游戲開發,使得它在國外的獨立游戲制作小組中具有很高的人氣。
U3D的免費版和專業版的區別主要在于畫面濾鏡和底層類庫的使用權限,U3D免費版也是能制作完整游戲的,并且可以發布PC,MAC和Web平臺的游戲,移動平臺(IOS,Android)和次世代游戲機平臺(PS3,XBOX360,Wii)則需要另外的授權。
*Unity3D的開發公司和Adobe公司合作之后,從3.5版本起,U3D增加了Flash的發布功能(需另外授權)。
U3D借鑒了虛幻引擎和一些大型三維動畫軟件的操作理念,因此很容易入門,并且它和其他軟件的協作會很便捷。U3D的軟件界面布局很完善,用戶可以快速的選擇一個適合自己開發習慣的窗口排序。
Skybox天空盒的創建。游戲中的天空,就是一個包裹場景的幾何體貼圖。對于游戲引擎,是六張覆蓋立方體六個面的無縫天空紋理。U3D的天空盒需要和攝像機或者在渲染設置中進行關聯。
*渲染設置中加入天空材質,可以直接在場景中看到效果;攝像機中連接天空盒,只有執行游戲渲染時,才會在特定攝像機中看到。
U3D中有四種類型的燈光:PointLight,Spotlight,DirectionalLight,AreaLight,AmbientLight。其中,AmbientLight不是獨立的燈光元素,而是位于渲染設置中,可對場景中的背光進行色彩調節(通常是冷色系),用于模擬環境反射光(多為天光)。方向光常用于模擬陽光,燈光的所在位置不影響照明效果,因為它是基于朝向的。
目前U3D的光照系統和場景構建元素還沒有UDK(虛幻引擎開發套件)那么豐富,因此圖形的渲染效果上自然沒有UDK出眾,不過它已經足夠用來開發畫面強勁的次世代游戲,移動平臺和網絡游戲更不在話下。
renderPass渲染通道。在U3D中有三種重要的渲染通道,都是基于燈光材質產生的。目前U3D還沒有實現類似maya或者UDK那樣可對材質著色通道進行紋理動畫連接的功能,因此用戶需要自行編寫材質,這在一定程度上限制了創意的發揮。
lightmass質量的設置直接決定著游戲品質。場景中的燈光和陰影是實時計算的,這不會應用于游戲中,游戲會通過燈光貼圖和陰影貼圖來提高畫面的運行效率。對于場景中靜止的物體,我們可以采用各種全局光照明來將燈光效果烘焙到模型對應的貼圖中,這有兩種方法:一種是在繪制模型貼圖時,通過三維軟件的全局光系統(如FG最終聚集,GI全局照明),將燈光效果烘焙;另外就是直接在游戲引擎中烘焙(依賴于引擎的功能)。U3D的燈光系統并沒有UDK那么強悍,尤其在全局照明效果上。
OcclusionCulling是U3D中用于優化場景顯示效率的一個功能,可以很大的降低游戲對系統資源的消耗。它的原理是不繪制在攝像機范圍內看不到的被遮擋物體。
*U3D可以針對web和移動平臺做到很大的資源優化,這點是UDK不能比的。
U3D支持多種語言編寫腳本:C#,javaScript,Boo。Javascript腳本較容易上手,常作為初學者或JavaScript編程人員的首選,不過從長遠的擴展來看,C#則是用戶最佳的選擇方案。當然,你也可以在一個游戲設計過程中,同時使用幾種語言的腳本進行組合,因為U3D最終都會將這些語言轉為它內置的編譯語言。
*JavaScript不是Java。
Unity3D具有廣闊的發展前景:通用的軟件操作規范,高效的開發速度,多平臺的支持,以及廣泛的編程語言的兼容。
新聞熱點
疑難解答