資源描述:
《Unity3D自帶功能:燈光及光照烘焙.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、Unity3D自帶功能:燈光及光照烘焙這一篇比較偏重于功能介紹,具體的實(shí)例操作請(qǐng)參考其他文章:未完成游戲場(chǎng)景中燈光照明的構(gòu)成現(xiàn)實(shí)生活中的光線是有反射、折射、衍射等特性的。對(duì)這些基本特性的模擬一直以來(lái)都是計(jì)算機(jī)圖形圖像學(xué)的重要研究方向。在CG中,默認(rèn)的照明方式都是不考慮這些光線特性的,因此出來(lái)的效果與現(xiàn)實(shí)生活區(qū)別很大。最早期的時(shí)候,人們利用各種方式來(lái)模擬真實(shí)光照的效果,比如手動(dòng)在貼圖上畫上柔和陰影,或者用一盞微弱的面積光源去照明物體的暗部以模擬漫反射現(xiàn)象等等。然后出現(xiàn)了所謂的高級(jí)渲染器,用計(jì)算機(jī)的計(jì)算來(lái)代替我們的手工勞動(dòng)來(lái)進(jìn)行這個(gè)“模擬”的工作。在漫長(zhǎng)的發(fā)展過(guò)程中,出現(xiàn)過(guò)很多
2、很多計(jì)算方案,總體上分為這樣幾類:直接模擬光線從被光源發(fā)出到最終被物體完全吸收的正向過(guò)程,也就是常說(shuō)的GI(GlobalIllumination);不直接模擬光線,而是反向搜集物體表面特定點(diǎn)的受光照強(qiáng)度來(lái)模擬現(xiàn)實(shí)照明效果,也就是常說(shuō)的FG(FinalGathering);完全不考慮光線的行為,單純基于“物體上與其他物體越接近的區(qū)域,受到反射光線的照明越弱”這一現(xiàn)象來(lái)模擬模擬現(xiàn)實(shí)照明(的一部分)效果,也就是常說(shuō)的AO(AmbientOcclusion);將場(chǎng)景光照結(jié)果完全烘焙到模型貼圖上,從而完完全全的假冒現(xiàn)實(shí)光照效果,也就是我們所說(shuō)的Lightmap。不論是GI還是FG,計(jì)
3、算量都是非常大的,一幀圖片需要幾十分鐘甚至幾十小時(shí)來(lái)渲染,所以很難被應(yīng)用在游戲設(shè)計(jì)領(lǐng)域。因此在游戲設(shè)計(jì)領(lǐng)域,光照貼圖技術(shù)依然是目前的主流方式。由于光照貼圖需要事先烘焙(baking)出來(lái),且僅支持靜態(tài)物體(StaticObject),而我們的游戲場(chǎng)景中幾乎不可能全都是靜態(tài)物體,所以通常游戲場(chǎng)景中的燈光照明是多種照明方式的混合作用。對(duì)于靜態(tài)物體來(lái)說(shuō),大多使用光照貼圖來(lái)模擬間接光的照明效果,然后加上直接光源的動(dòng)態(tài)照明效果;對(duì)于運(yùn)動(dòng)物體來(lái)說(shuō),則僅用直接光源的動(dòng)態(tài)照明效果,或者使用光照探針來(lái)模擬間接光的照明效果。隨著技術(shù)的發(fā)展以及計(jì)算機(jī)計(jì)算能力的提高,也許在未來(lái),我們能夠直接在游戲
4、場(chǎng)景中進(jìn)行動(dòng)態(tài)的全局光照模擬也說(shuō)不定呢。新版Unity3D中就已經(jīng)出現(xiàn)了RealtimeGlobalIllumination,雖然這個(gè)技術(shù)還處于雛形階段,所需要的計(jì)算量依然龐大,但確實(shí)為我們展示了一個(gè)令人激動(dòng)的前景。當(dāng)然,技術(shù)是技術(shù),產(chǎn)品是產(chǎn)品。技術(shù)是為產(chǎn)品服務(wù)的,再先進(jìn)的實(shí)時(shí)全局光照系統(tǒng),對(duì)于像素風(fēng)格的游戲場(chǎng)景的提升也是幾近于0?!斑x擇合適的技術(shù)來(lái)完善我們的產(chǎn)品和制作流程”,以及“根據(jù)現(xiàn)有技術(shù)來(lái)設(shè)計(jì)產(chǎn)品和制作流程”,說(shuō)的其實(shí)是同一個(gè)意思。1.直接照明(DirectLighting)Unity3D中的直接照明主要來(lái)源于各種燈光物體,而燈光物體本質(zhì)上是空物體加上燈光組件。直接
5、照明可以產(chǎn)生陰影,但光線不會(huì)反射、也不會(huì)折射,但可以穿透半透明材質(zhì)物體。1.1燈光類型(Lights)Unity3D中默認(rèn)可以創(chuàng)建這么幾種燈光:聚光燈、點(diǎn)光源、平行光、面積光,另外還可以創(chuàng)建兩種探針(Probe):反射探針(ReflectionProbe)和光照探針組(LightProbeGroup)。Unity中可以創(chuàng)建的燈光類型物體平行光平行光通常用來(lái)做陽(yáng)光,Unity3D新建場(chǎng)景后會(huì)默認(rèn)在場(chǎng)景中放置一盞平行光。平行光不會(huì)衰減。unity_lighting04.pngType:燈光類型,所有類型的燈光都其實(shí)共用一個(gè)組件,本質(zhì)上是一樣的。Color:燈光顏色Mode:燈光
6、照明模式,每種模式對(duì)應(yīng)Lighting面板中一組設(shè)定Realtime:對(duì)應(yīng)RealtimeLightingMixed:對(duì)應(yīng)MixedLightingBaked:對(duì)應(yīng)LightmappingSettingRealtimeLighting是新出現(xiàn)的一種烘焙光照技術(shù),它并不像傳統(tǒng)的烘焙技術(shù)一樣直接烘焙間接光照顏色和亮度信息到光照貼圖上,而是烘焙物體和物體之間的關(guān)系信息,比如A面對(duì)B面有漫反射效果,B面對(duì)C面有漫反射效果等等。這樣一來(lái),只要物體之間的關(guān)系不變(也就是所有的靜態(tài)物體都不移動(dòng)位置),就不需要重新烘焙,從而使得我們可以在場(chǎng)景中隨意運(yùn)用動(dòng)態(tài)光源(dynamiclights)
7、。而傳統(tǒng)的Lightmapping光照貼圖方式則不支持動(dòng)態(tài)光源效果(改變光源不會(huì)改變場(chǎng)景光照)。RealtimeLighting比Lightmapping要更耗費(fèi)系統(tǒng)資源,所以手游上就不要考慮了。Intensity:燈光強(qiáng)度IndirectMultiplier:在計(jì)算該燈光所產(chǎn)生的間接光照時(shí)的強(qiáng)度倍乘ShadowType:陰影貼圖的類型NoShadows:無(wú)陰影貼圖HardShadows:硬陰影貼圖SoftShadows:光滑陰影邊緣(也就是陰影模糊效果)BakedShadowAngle:烘焙陰影的角度Realti