包含15節(jié)視頻教程
關(guān)注21.1萬次
讓你全面了解和掌握udk虛幻編輯器的教程。包含次世代制作技術(shù)。各種腳本的應(yīng)用。各種操控器的詳細(xì)講解。讓你也可以獨(dú)立制作有趣的游戲場(chǎng)景!
krakatoa是一套volumetric粒子渲染器, 也是第一個(gè)實(shí)現(xiàn)讓粒子以像素的大小來進(jìn)行高速細(xì)節(jié)算圖的外掛. 但其實(shí)在krakatoa推出以前, 有另外一種作法可以渲染粒子, 用在電影超人再起(superman returns)里面. 在場(chǎng)景里面粒子在水晶中必須要進(jìn)行光跡追蹤計(jì)算, 光跡追蹤計(jì)算極小的點(diǎn), 是一項(xiàng)極為困難的工作, 必須要利用特殊的作法---稱為voxel grid計(jì)算法. 新版的krakatoa 1.5.0 把當(dāng)時(shí)電影里的作法重新呈現(xiàn), 用voxel grid來計(jì)算粒子, 這個(gè)方法有其優(yōu)缺點(diǎn), 請(qǐng)看以下:
voxel rendering會(huì)產(chǎn)生實(shí)體的渲染效果, 不會(huì)像一般的點(diǎn)云渲染出來容易出現(xiàn)的錯(cuò)誤(例如摩爾紋). 只需要用較少的數(shù)量就能產(chǎn)生密度狠高的點(diǎn)云, 只要在每個(gè)voxel至少有一顆粒子, 而算出來的結(jié)果voxel之間不會(huì)有縫隙. 渲染的細(xì)節(jié)與平滑度可以用voxel size與filter半徑來控制, 可以得到和預(yù)設(shè)的point rendering相當(dāng)品質(zhì)的渲染效果. 然而, 當(dāng)voxel size設(shè)定太高, filter半徑太大時(shí), 容易計(jì)算出模糊的結(jié)果. 跟point rendering 比較起來, voxel rendering的方法比較適合多核心運(yùn)算, 讓你更能享受到多核心cpu的優(yōu)勢(shì).
至少在目前的版本 通常voxel rendering要比particle rendering算圖時(shí)間要更久. 儘管算圖品質(zhì)與細(xì)節(jié)狠接近 point rendering 還是沒辦法達(dá)到跟particle rendering那樣一顆一顆粒子的感覺, 因此voxel rendering還是比較適合用來渲染云, 煙與其他細(xì)節(jié)較少的自然現(xiàn)象2 而particle rendering就適合表現(xiàn)細(xì)砂, 塵土與泥沙.
particle 與 voxel rendering的比較
如上圖, 你看到同樣的幾何體利用krakatoa prt volume object充滿了粒子 而voxel length為0.5, 1, 2 與 3 第一排影像顯示particle rendering的效果, 當(dāng)粒子密度減少時(shí), 粒子的間距就變寬松了
上圖中顯示利用voxel rendering的效果, 而voxel size分別為0.5, 1, 2與 3 filter radius設(shè)定為1 (1代表沒有filter)
這個(gè)范例里 當(dāng)算圖的細(xì)節(jié)減小時(shí)voxel rendering方法算出來的密度還是可以維持住, 只是說整體而言變得比較模糊的粒子云. 以particle方法算圖時(shí)間分別為10.938 | 1.484 | 0.547 | 0.454秒
以voxel的算圖時(shí)間分別為6.109 | 3.734 | 1.829 | 1.422秒
voxel rendering的參數(shù)設(shè)置
以下范例渲染兩萬顆粒子, 用兩盞燈照明, 白色光源在右, 藍(lán)色光源在左下.
左圖與右圖的密度分別為5.0/-1, 5.0/0.
算圖時(shí)間都是0.2秒
改變voxel size
上面三張圖顯示用5.0/-1密度 voxel filter radius為1 而voxel size分別為0.5, 1.0 與 5.0來渲染
當(dāng)voxel size等於0.5時(shí), 算出來的結(jié)果十分接近particle rendering的效果. 因?yàn)樵谶@個(gè)范例里面,voxels十分接近particle的算圖顆粒大小, 但是就算圖時(shí)間上缺要花費(fèi)狠久.
當(dāng)把voxel size增大時(shí), 結(jié)果變得狠平滑 而算圖時(shí)間也變短了
算圖是用dual-quadcore xeon 2.5ghz的cpu 算圖時(shí)間分別為6.641 | 4.953 | 2.843秒
改變出圖大小
voxel rendering跟particle rendering的效能不同, 出圖大小對(duì)算圖時(shí)間有狠大影響
當(dāng)解析度比超過一個(gè)像素時(shí) voxel renderer就必須要多計(jì)算像素
以下是用voxel sizes分別為0.5, 1, 2 與 5計(jì)算的結(jié)果, 但是用不同的解析度出圖krakatoa會(huì)用接近線性的方式縮放. 實(shí)際上, 因?yàn)槎嗪诵挠?jì)算的關(guān)系, 儘管解析度增大讓圖面積增加了四倍, 算圖時(shí)間還是少於原本的四倍, 通常是三倍多.
640x480 : 13.922 | 11.141| 3.484 | 2.578 秒.
1280x960 : 31.874 (2.289x) | 27.391 (2.458x) | 9.718 (2.789x) | 7.532 (2.921x)
2560x1920 : 103.078 (3.233x) | 90.890 (3.318x) | 33.906 (3.488x) | 27.015 (3.586x)
改變voxel filter radius
上面三張圖顯示用密度為5.0/0 voxel尺寸為5 但是voxel filter radius分別為,2 和 5
當(dāng)voxel filter增加時(shí)voxels變得越來越平滑, 導(dǎo)致計(jì)算結(jié)果越模糊, 而算圖時(shí)間也會(huì)拉長(zhǎng).算圖時(shí)間分別為2.843 | 3.656 | 7.294秒
voxel rendering 與 particle rendering
以下的box包含了一百萬個(gè)粒子 其中在diffuse map里面用了cellular map 以particle mode算圖
第二排顯示一樣的粒子, 但是把cellular map放在opacity map里面
第三排則是同時(shí)開啟diffuse 與 opacity map
第四排則是一百萬個(gè)粒子分割成10個(gè)partition然后分別用particle mode 與voxel mode兩種模式來算圖
如果是用particle mode方法的算圖時(shí)間是2.687 | 2.703 | 2.797 | 26.421秒
用voxel mode的算圖時(shí)間分別為8.829 | 8.782 | 8.86秒
經(jīng)由這些比較, 你會(huì)發(fā)現(xiàn)一般來說particle rendering算圖比較快, 需要相當(dāng)多數(shù)量的粒子才能維持跟voxel rendering一樣的密度. 某些情況下voxel rendering即便是用了較少的粒子, 還是能達(dá)到跟particle rendering一樣的算圖效果.
朱峰社區(qū)網(wǎng)頁版(手機(jī)掃描-分享-添加到屏幕)
朱峰社區(qū)微信公眾號(hào)(微信掃一掃-關(guān)注)
未知用戶
2005-2024 朱峰社區(qū) 版權(quán)所有 遼ICP備2021001865號(hào)-1
2005-2024 ZhuFeng Community All Rights Reserved
VIP