目前, Unity3D已經(jīng)是一個(gè)具有強(qiáng)大功能的高度整合且可擴(kuò)展的編輯器。主要特性如下。
1)自動(dòng)資源導(dǎo)入
場景中的所有資源都在 Assets文件夾中,當(dāng)打開場景時(shí),不用再次導(dǎo)入資源,而且可以隨著場景資源的變化而在場景中同步更新資源。目前,很多虛擬現(xiàn)實(shí)軟件的導(dǎo)出格式能夠被 Unity3D支持,但主要針對(duì)3ds Max、Maya的支持是最好的。
2) Unity3D圖形引擎
Unity3D圖形引擎使用的是Direct3D( Windows)、 OpenGL(Mac, Windows)和自有的APIs(Wii),支持 Bump mapping、 Reflection mapping 、Parallax mapping、 Screen Space Ambient Occlusion,動(dòng)態(tài)陰影使用的是 Shadow Map技術(shù),并支持 Render-to-texture和全屏 Post Processing效果。
3)Unity3D著色器
Unity3D著色器采用的語言是ShaderLab著色器主要有3種:表面著色器(Surface Shaders)、頂點(diǎn)和片元著色器(Vertex and Fragment Shaders)固定功能著色器(Fixed Function Shaders),前兩種著色器是用Cg或HLSL語言編寫的,最后一種著色器是用 ShaderLab語言編寫。 Unity內(nèi)置了超過60個(gè)著色器,開發(fā)人員可以很方便地對(duì)其進(jìn)行擴(kuò)展。
4)Unity腳本的編寫環(huán)境
Unity腳本的編寫環(huán)境是基于Mono平臺(tái)的Mono是一個(gè)開源的.NET平臺(tái),此平臺(tái)可以支持多種語言,包括 JavaScript、C#和Boo語言,3種語言都可以訪問底層的NET庫。 Unity中專用的 JavaScript語言與通用的 JavaScript語言是有很大的區(qū)別的,比如用于網(wǎng)頁的 JavaScript庫的絕大部分都無法在 Unity中使用, Unity中專用 JavaScript語言具有速度更快、性能更優(yōu)異的特點(diǎn)。
內(nèi)容來源:張泊平《虛擬現(xiàn)實(shí)理論與實(shí)踐》