當(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 的渲染原理:

拒絕卡頓掉幀!9 條AR模型內(nèi)容設(shè)計(jì)干貨一次給你!

圖 | 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)存帶寬。

拒絕卡頓掉幀!9 條AR模型內(nèi)容設(shè)計(jì)干貨一次給你!

依據(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)”。

拒絕卡頓掉幀!9 條AR模型內(nèi)容設(shè)計(jì)干貨一次給你!

拒絕卡頓掉幀!9 條AR模型內(nèi)容設(shè)計(jì)干貨一次給你!

拒絕卡頓掉幀!9 條AR模型內(nèi)容設(shè)計(jì)干貨一次給你!

拒絕卡頓掉幀!9 條AR模型內(nèi)容設(shè)計(jì)干貨一次給你!

拒絕卡頓掉幀!9 條AR模型內(nèi)容設(shè)計(jì)干貨一次給你!

圖 |「國家電網(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)。

不做交互和動畫的模型合并成一個模型,模型層級可分有一二,不可有第三層級,模型命名用拼音全拼(不縮寫)。

模型面數(shù)方面

關(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ù)量。

拒絕卡頓掉幀!9 條AR模型內(nèi)容設(shè)計(jì)干貨一次給你!

圖 | 貼圖流程如圖所示

材質(zhì)屬性方面

關(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ā)射。

應(yīng)用中所有模型最終輸出要求

關(guān)鍵詞:分類/層級

輸出模型文件為 unitypackage 文件,文件名(一級項(xiàng)目名稱+二級類別名稱+三級模型名稱首字母。

例:NanWang_lensson1_gxrjqx),并且兩個內(nèi)容無交叉公用的 material,shander,texture 等內(nèi)容,若有需要如圖中所示建立 Common 文件分類存放。

要求:在 Unity 中調(diào)好材質(zhì)效果、動畫效果;方便直接對接開發(fā)使用內(nèi)容)

拒絕卡頓掉幀!9 條AR模型內(nèi)容設(shè)計(jì)干貨一次給你!

圖 | AR 課程制作的命名參考-穎慧

總結(jié)說明

最后,簡單總結(jié)一下模型輕量化的幾個要點(diǎn):

  1. 優(yōu)化模型的頂點(diǎn)數(shù)和面數(shù);
  2. 控制貼圖的數(shù)量、像素和格式;
  3. 控制材質(zhì)屬性和數(shù)量,燈光和陰影的數(shù)量,動畫時長和骨骼數(shù)量;
  4. 對模型文件進(jìn)行輕量化處理。

歡迎關(guān)注作者微信公眾號:「聯(lián)想上研」

拒絕卡頓掉幀!9 條AR模型內(nèi)容設(shè)計(jì)干貨一次給你!

收藏 1
點(diǎn)贊 10

復(fù)制本文鏈接 文章為作者獨(dú)立觀點(diǎn)不代表優(yōu)設(shè)網(wǎng)立場,未經(jīng)允許不得轉(zhuǎn)載。