索南尖措 陳碩 何琪芳 隗立志
摘 要: 渲染是一種計(jì)算機(jī)圖形圖像生成技術(shù),它以存儲(chǔ)在計(jì)算機(jī)中的幾何場(chǎng)景模型為基礎(chǔ),經(jīng)過附加色彩、紋理及材質(zhì),并根據(jù)設(shè)定的光照條件及場(chǎng)景光照關(guān)系,計(jì)算生成具有高真實(shí)度的視景圖像。實(shí)現(xiàn)3D動(dòng)畫渲染十分消耗計(jì)算機(jī)的性能,為了減少3D動(dòng)畫渲染所花費(fèi)的時(shí)間,利用德國(guó)maxon公司Cinema 4D軟件的Cinema 4D Team Render 對(duì)3D動(dòng)畫進(jìn)行分布式渲染測(cè)試。結(jié)果表明,此種方法確實(shí)可以成倍地減少3D動(dòng)畫渲染所花費(fèi)的時(shí)間。
關(guān)鍵詞: 3D動(dòng)畫渲染; Team Render; 集群; 分布式渲染
中圖分類號(hào):TP37 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2016)01-63-03
Construction and realization of Cinema 4D Team Render
Suonan Jiancuo1, Chen Shuo1, He Qifang2, Wei Lizhi1
(1. The Research Center of Tibetan Information Technology, Tibet University, Lhasa, Tibet 850000, China; 2. Management College, Beijing Union University)
Abstract: Rendering is a computer graphic image generation technology, which takes geometric scene model stored in the computer as the foundation, through addition of colors, textures and materials, and according to the set of lighting conditions and the scene illumination relationship, computes and generates the high-fidelity visual images. Rendering 3D animation is very consumption of computer performance. In order to reduce the time spent on 3D animation rendering, the software Cinema 4D Team Render is used to test distributed rendering of 3D animation. The results show that this method can exponentially reduce the time spent on 3D animation rendering.
Key words: 3D animation rendering; Team Render; cluster; distributed rendering
0 引言
計(jì)算機(jī)3D動(dòng)畫在當(dāng)今各行各業(yè)的應(yīng)用有很多,無論是成熟的動(dòng)畫行業(yè),還是廣告、商業(yè)演示、醫(yī)療影像和各類仿真,都涉及到3D動(dòng)畫[1]。3D動(dòng)畫制作的最后一步是渲染,用3D動(dòng)畫軟件進(jìn)行渲染需要功能強(qiáng)大的計(jì)算機(jī)支撐,這需要購(gòu)置大量的專業(yè)工作站,其代價(jià)是十分昂貴的。所以,對(duì)于任意一個(gè)公司或團(tuán)隊(duì)都特別需要一套價(jià)廉質(zhì)優(yōu)的快速渲染解決方案,而分布式渲染就是解決3D動(dòng)畫的一個(gè)有效辦法[2-3],Cinema 4D Team Render便可以實(shí)現(xiàn),只要是能夠運(yùn)行CINEMA 4D客戶端(Team Render Client)的計(jì)算機(jī),其本機(jī)的計(jì)算能力都能夠支持分布式集群式渲染,這是通用性、廉價(jià)性和靈活的渲染方式。無論是初創(chuàng)的小公司或小團(tuán)隊(duì),還是財(cái)力雄厚的大公司,毫無疑問,Cinema 4D Team Render都是優(yōu)秀的集群渲染解決方案[4-5]。
筆者以一段1分鐘的動(dòng)畫進(jìn)行了實(shí)驗(yàn),渲染的幀率為每分鐘24幀,需要渲染的圖片數(shù)量是1440張,在開啟環(huán)境吸收(Ambient Occlusion,AO)和全局光照(Global Illumination,GI)狀態(tài)下,通過實(shí)驗(yàn)得出每張圖片的渲染平均需要花費(fèi)10min,通過計(jì)算得出單臺(tái)計(jì)算機(jī)總共需要10天時(shí)間,可見時(shí)間成本是相當(dāng)可觀的。接下來用Cinema 4D軟件的Cinema 4D Team Render,加入其中20臺(tái)相同配置的計(jì)算機(jī),最終只花費(fèi)了12個(gè)小時(shí),便將一分鐘的3D動(dòng)畫成功渲染出來,具體如表1所示。
我們可以得出結(jié)論:使用Team Render技術(shù)能夠大大節(jié)省時(shí)間,也能在最短的時(shí)間內(nèi)渲染出最好的動(dòng)畫質(zhì)量。這就是研究Team Render的動(dòng)機(jī)。
1 Team Render的介紹
1.1 Team Render的簡(jiǎn)介
MAXON公司是專業(yè)三維建模、繪制、動(dòng)畫和渲染解決方案的開發(fā)商。旗下備受稱贊的Cinema 4D是一套整合3D模型、動(dòng)畫與算圖的高級(jí)三維繪圖軟件,一直以高速圖形計(jì)算速度著名,并有令人驚奇的渲染器和粒子系統(tǒng),其渲染器在不影響速度的前提下,使圖像品質(zhì)有了很大提高,可以面向打印、出版、設(shè)計(jì)及創(chuàng)造產(chǎn)品視覺效果。同時(shí)也用來制作令人驚嘆的視覺特效,其運(yùn)用領(lǐng)域涉及優(yōu)秀故事片、電視秀和商業(yè)廣告、頂尖游戲影視藝術(shù)、醫(yī)學(xué)科技展示、建筑和工業(yè)設(shè)計(jì)運(yùn)用。
而Team Render便是這款優(yōu)秀軟件下的一個(gè)功能,其類似于BitTorrent系統(tǒng)的解決方案,可以在混合型網(wǎng)絡(luò)中使用(不同的CPU,計(jì)算結(jié)果可能會(huì)不同)。任何參數(shù)都可以在Team Render管理器里調(diào)整,同時(shí)其提供了一個(gè)在局域網(wǎng)內(nèi)直接的計(jì)算機(jī)整合方式,渲染的時(shí)候,即使其中一臺(tái)計(jì)算機(jī)出現(xiàn)了故障,原本分配的任務(wù)會(huì)重新分配至局域網(wǎng)內(nèi)其他計(jì)算機(jī)。
1.2 Team Render的優(yōu)勢(shì)
Team Render通過集群計(jì)算機(jī)共同渲染一個(gè)動(dòng)畫,其具有很多的優(yōu)勢(shì)。
首先,可以實(shí)現(xiàn)對(duì)所有的資源一鍵聯(lián)網(wǎng)渲染,即整體分布式渲染,還可以通過網(wǎng)絡(luò)連接的數(shù)臺(tái)計(jì)算機(jī)來對(duì)靜幀圖片進(jìn)行分布式渲染,即單幀分布式渲染。
其次,Team Render可以使局域網(wǎng)內(nèi)所有獲得Cinema 4D許可的或者已經(jīng)安裝了渲染客戶端(Team Render Client)的計(jì)算機(jī)都可以參與到渲染中去,無論是功能強(qiáng)大的工作站還是一般的辦公計(jì)算機(jī)都有能力參與到渲染中去。此外,各計(jì)算機(jī)都是自動(dòng)化的配置,不需要人工進(jìn)行配置,而且不需要管理員權(quán)限或者專用的服務(wù)器。
最后,Team Render會(huì)將環(huán)境吸收(Ambient Occlusion,AO)和全局光照(Global Illumination,GI),以及表面緩存分布至 Team Render中的每臺(tái)計(jì)算機(jī)上[6],有效的避免了計(jì)算機(jī)運(yùn)行緩存過大而導(dǎo)致死機(jī)等問題。
2 Team Render的實(shí)現(xiàn)
任何安裝了Cinema 4D的計(jì)算機(jī)都可以作為渲染服務(wù)器(Team Render Server),同時(shí)也可以作為渲染客戶端(Team Render Client),渲染服務(wù)器(Team Render Server),就是負(fù)責(zé)為局域網(wǎng)內(nèi)的客戶端分發(fā)相關(guān)文件和收集合成。
在有了渲染服務(wù)器之后,就需要客戶端在局域網(wǎng)內(nèi)從服務(wù)器(Team Render Server)下載相關(guān)數(shù)據(jù)段,進(jìn)行計(jì)算合成并反饋給服務(wù)器(Team Render Server)。通過Cinema 4D客戶端,可以設(shè)置本地計(jì)算機(jī)是否啟用Team Render、電腦名稱、安全驗(yàn)證碼以及端口、渲染線程數(shù)量和是否總是從服務(wù)器(Team Render Server)獲取資源以及存儲(chǔ)路徑。
在對(duì)需要加入混合組網(wǎng)進(jìn)行分布式集群式渲染的電腦上安裝好所需要的客戶端之后,便可以通過交換機(jī)(Switch)或者路由器(Route)和服務(wù)器進(jìn)行連接,其連接簡(jiǎn)明原理圖如圖1所示。然后服務(wù)器分發(fā)數(shù)據(jù),當(dāng)在客戶端上選擇項(xiàng)中勾選“總是從服務(wù)器獲取數(shù)據(jù)”時(shí),客戶端總是從服務(wù)器下載數(shù)據(jù),客戶端對(duì)相關(guān)數(shù)據(jù)進(jìn)行計(jì)算然后返回給服務(wù)器。
在服務(wù)器(Team Render Server)里點(diǎn)擊添加機(jī)器,使用程序控制臺(tái),輸入ipconfig/all命令查詢客戶端計(jì)算機(jī)IP,輸入相應(yīng)客戶端計(jì)算機(jī)的IP+端口,輸入驗(yàn)證碼,如此便可以添加到Team Render機(jī)器中。
添加Team Render機(jī)器成功后,在服務(wù)器端即可看到相關(guān)計(jì)算機(jī)的配置信息和連接狀態(tài),在Team Render機(jī)器界面中,勾選的方框意味著此臺(tái)計(jì)算機(jī)將參與渲染,否則不參與渲染,如圖2所示。通過Team Render機(jī)器,相關(guān)計(jì)算機(jī)的配置信息和狀態(tài)都一目了然,具體如表2所示。
綜上所述,當(dāng)所有計(jì)算機(jī)都處于同一局域網(wǎng)內(nèi)并在服務(wù)器(Team Render Server)里通過IP+端口的方式添加并驗(yàn)證了客戶端(Team Render Client)機(jī)器后,只要單機(jī)鼠標(biāo)“Team Render到圖片查看器”即可開始渲染視頻或是單幀圖片,十分簡(jiǎn)單快捷。
3 結(jié)論及展望
通過實(shí)驗(yàn)證明,Cinema 4D Team Render分布式集群式渲染只需簡(jiǎn)單幾步,便可成功布置Team Render進(jìn)行分布式集群式渲染工作。由Cinema 4D Team Render實(shí)現(xiàn)分布式集群式3D動(dòng)畫渲染,不但可以體驗(yàn)簡(jiǎn)便與快捷操作,還節(jié)省了大量寶貴的時(shí)間。所以,不論是小團(tuán)隊(duì),還是資金雄厚的大公司,Cinema 4D Team Render都有很大的使用價(jià)值,都可以節(jié)省更多的時(shí)間成本,提升項(xiàng)目推進(jìn)速度。所以說,Team Render所代表的分布式集群式渲染將是3D軟件及渲染軟件的未來發(fā)展趨勢(shì)。
參考文獻(xiàn)(References):
[1] 熊西滿.基于3D圖形引擎的霧化渲染方法及實(shí)現(xiàn)[D].電子科
技大學(xué),2010.
[2] 鄒平吉.VRay分布式渲染的實(shí)現(xiàn)[J].甘肅科技縱橫,
2013.12:42-44
[3] 梁志遠(yuǎn).分布式渲染系統(tǒng)架構(gòu)研究與優(yōu)化[D].華南理工大學(xué),
2010.
[4] 解讀并行集群渲染系統(tǒng)[J].CAD/CAM與制造業(yè)信息化,
2004.10:55-59
[5] 李樹聲.網(wǎng)絡(luò)集群渲染在3D動(dòng)畫制作中的應(yīng)用[J].廣播與電
視技術(shù),2004.9:63-64
[6] 程龍,郭立,袁紅星,陳曉琳.基于光場(chǎng)渲染的動(dòng)態(tài)3D目標(biāo)重
構(gòu)技術(shù)[J].中國(guó)科學(xué)院研究生院學(xué)報(bào),2009.6:781-788