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