當(dāng)我們的客戶在帶上 AR 眼鏡去體驗(yàn)所展示的三維模型的時(shí)候,常會(huì)遇到這樣的問(wèn)題:
模型內(nèi)容幀率掉幀,動(dòng)畫(huà)播放時(shí)有卡頓!
這無(wú)疑讓用戶體驗(yàn)打了折扣。,在不受外界因素干擾的情況下,如何保證我們的虛擬模型內(nèi)容在 AR 眼鏡端展示規(guī)避掉幀的問(wèn)題,動(dòng)畫(huà)“絲滑”播放呢?
其實(shí)一言以蔽之就是要降低耗能,把模型做的輕量化、標(biāo)準(zhǔn)化、精準(zhǔn)化?
為了幫助大家更好地理解「AR-模型」的制作標(biāo)準(zhǔn),我們首先“簡(jiǎn)單圖說(shuō)”Untiy 的渲染原理:
圖 | Unity 渲染原理-穎慧
從上面這張導(dǎo)圖我們可以清楚地了解到,渲染效果的核心主要體現(xiàn)在 CPU 和 GPU 交流計(jì)算資源上。它使引擎中的內(nèi)容可在預(yù)期的幀率和分辨率下工作。其中,CPU 主要負(fù)責(zé)保證幀率,GPU 主要負(fù)責(zé)分辨率相關(guān)的一些處理。
也就是說(shuō):
- 針對(duì) CPU:我們要在 Batches 過(guò)程中減少 draw call 數(shù)目;
- 針對(duì) GPU:我們要多做減法。盡量減少需要處理的頂點(diǎn)數(shù)目;減少需要處理的片元數(shù)目(警惕透明物體、減少實(shí)時(shí)光照);減少計(jì)算復(fù)雜度,優(yōu)化代碼;減少紋理大小、利用分辨率縮放節(jié)省內(nèi)存帶寬。
依據(jù)以上理論,我們需要優(yōu)化場(chǎng)景中的文件數(shù)量。那么,具體到場(chǎng)景中的三維模型,應(yīng)該如何變地輕量化呢?
在「AR-模型」制作領(lǐng)域當(dāng)前并沒(méi)有一個(gè)統(tǒng)一的標(biāo)準(zhǔn),我們通過(guò)大量的,在 AR 端的工業(yè)模型制作逐步積累總結(jié)經(jīng)驗(yàn),并最終通過(guò)大型項(xiàng)目而歸納總結(jié)了一套“干貨標(biāo)準(zhǔn)”。
圖 |「國(guó)家電網(wǎng)項(xiàng)目」三維模型圖集
參照以下針對(duì)模型輕量化的 9 條標(biāo)準(zhǔn),我們能夠有效優(yōu)化及釋放算力,從而使得我們的模型在 AR 端播放的過(guò)程中“絲滑流暢”,不掉幀、不卡頓。
關(guān)鍵詞:標(biāo)準(zhǔn)化
嚴(yán)格參照?qǐng)D片制作設(shè)備外觀,如需實(shí)際比例 1:1 還原,請(qǐng)嚴(yán)格參照實(shí)際尺寸。模型制作過(guò)程中對(duì)于看不到的面做刪除,合并斷開(kāi)的頂點(diǎn)。
不做交互和動(dòng)畫(huà)的模型合并成一個(gè)模型,模型層級(jí)可分有一二,不可有第三層級(jí),模型命名用拼音全拼(不縮寫(xiě))。
關(guān)鍵詞:輕量化
單個(gè)模型面數(shù)控制在 30 萬(wàn)個(gè)面以內(nèi);1 個(gè)應(yīng)用中的全部模型面數(shù)控制在 100 萬(wàn)個(gè)面以內(nèi)。優(yōu)化頂點(diǎn)數(shù),保證頂點(diǎn)法線 1 根;減少切割 UV 零散,按照物體結(jié)構(gòu)拆分,刪除隱藏或被遮擋的面。
注意:設(shè)備測(cè)試加載的模型面數(shù)最高上限為 400 萬(wàn)個(gè)面,但不夠?yàn)闃?biāo)準(zhǔn)規(guī)范推廣使用,只作為設(shè)備性能測(cè)試反饋。
關(guān)鍵詞:2 次方
1 個(gè)模型用 1 張貼圖(1024*1024,酌情可以 2 次方遞減),貼入 diffuse 通道,diffuse 貼圖包含 Color\AO\Roughness 信息(用 Ps 做信息疊加合成一張),格式 jpg,控制貼圖數(shù)量。
圖 | 貼圖流程如圖所示
關(guān)鍵詞:材質(zhì)節(jié)點(diǎn)
帶紋理無(wú)透明效果,材質(zhì)屬性建議使用默認(rèn)普通材質(zhì);帶透明效果,選擇默認(rèn)材質(zhì)中的透明效果。
注意:材質(zhì)貼圖路徑不能是本地路徑,請(qǐng)以軟件工程路徑為準(zhǔn)(防止導(dǎo)出 fbx 文件后貼圖丟失)
提示:優(yōu)化材質(zhì)節(jié)點(diǎn)(提倡材質(zhì)球的供用,控質(zhì)材質(zhì)球數(shù)量,清除廢棄的材質(zhì)節(jié)點(diǎn),盡量?jī)?yōu)化、減少場(chǎng)景中透明、發(fā)光、高亮、折射、反射效果的材質(zhì))
關(guān)鍵詞:規(guī)范化
模型文件——項(xiàng)目名(大寫(xiě)首字母)+二級(jí)命名(課程名/二級(jí)類(lèi)別,大寫(xiě)首字母)+model+模型名稱(chēng)(全拼)。
例:NW_GXRJ_model_bi.fbx
動(dòng)畫(huà)文件——項(xiàng)目名(大寫(xiě)首字母)+二級(jí)命名(課程名/二級(jí)類(lèi)別,大寫(xiě)首字母)+An+模型名稱(chēng)(全拼)
例:NW_GXRJ_An_bi.fbx
關(guān)鍵詞:歷史記錄
清除歷史記錄、清除場(chǎng)景廢棄模型、節(jié)點(diǎn);清除隱藏顯示模型;所有坐標(biāo)參數(shù)歸零;模型的物體中心坐標(biāo)點(diǎn)在世界坐標(biāo)點(diǎn)上。
maya/3DMax 系統(tǒng)單位設(shè)置“cm”,動(dòng)畫(huà)設(shè)置以 25/S,輸出格式 fbx。
關(guān)鍵詞:可循環(huán)
Unity 動(dòng)畫(huà)統(tǒng)一使用 Unity 的 Animator 制作。(建議:設(shè)計(jì)可循環(huán)動(dòng)畫(huà),時(shí)長(zhǎng) 2S,25/S)
關(guān)鍵詞:粒子數(shù)
特效最好使用 Unity 自帶粒子系統(tǒng)制作(不使用任何插件及腳本控制),特效的坐標(biāo)中心點(diǎn)要保持在物體中心點(diǎn),粒子發(fā)射。
關(guān)鍵詞:分類(lèi)/層級(jí)
輸出模型文件為 unitypackage 文件,文件名(一級(jí)項(xiàng)目名稱(chēng)+二級(jí)類(lèi)別名稱(chēng)+三級(jí)模型名稱(chēng)首字母。
例:NanWang_lensson1_gxrjqx),并且兩個(gè)內(nèi)容無(wú)交叉公用的 material,shander,texture 等內(nèi)容,若有需要如圖中所示建立 Common 文件分類(lèi)存放。
要求:在 Unity 中調(diào)好材質(zhì)效果、動(dòng)畫(huà)效果;方便直接對(duì)接開(kāi)發(fā)使用內(nèi)容)
圖 | AR 課程制作的命名參考-穎慧
最后,簡(jiǎn)單總結(jié)一下模型輕量化的幾個(gè)要點(diǎn):
- 優(yōu)化模型的頂點(diǎn)數(shù)和面數(shù);
- 控制貼圖的數(shù)量、像素和格式;
- 控制材質(zhì)屬性和數(shù)量,燈光和陰影的數(shù)量,動(dòng)畫(huà)時(shí)長(zhǎng)和骨骼數(shù)量;
- 對(duì)模型文件進(jìn)行輕量化處理。
歡迎關(guān)注作者微信公眾號(hào):「聯(lián)想上研」
復(fù)制本文鏈接 文章為作者獨(dú)立觀點(diǎn)不代表優(yōu)設(shè)網(wǎng)立場(chǎng),未經(jīng)允許不得轉(zhuǎn)載。
發(fā)評(píng)論!每天贏獎(jiǎng)品
點(diǎn)擊 登錄 后,在評(píng)論區(qū)留言,系統(tǒng)會(huì)隨機(jī)派送獎(jiǎng)品
2012年成立至今,是國(guó)內(nèi)備受歡迎的設(shè)計(jì)師平臺(tái),提供獎(jiǎng)品贊助 聯(lián)系我們
AI輔助海報(bào)設(shè)計(jì)101例
已累計(jì)誕生 753 位幸運(yùn)星
發(fā)表評(píng)論
↓ 下方為您推薦了一些精彩有趣的文章熱評(píng) ↓