當我們的客戶在帶上 AR 眼鏡去體驗所展示的三維模型的時候,常會遇到這樣的問題:

模型內容幀率掉幀,動畫播放時有卡頓!

這無疑讓用戶體驗打了折扣。,在不受外界因素干擾的情況下,如何保證我們的虛擬模型內容在 AR 眼鏡端展示規避掉幀的問題,動畫“絲滑”播放呢?

其實一言以蔽之就是要降低耗能,把模型做的輕量化、標準化、精準化?

為了幫助大家更好地理解「AR-模型」的制作標準,我們首先“簡單圖說”Untiy 的渲染原理:

拒絕卡頓掉幀!9 條AR模型內容設計干貨一次給你!

圖 | Unity 渲染原理-穎慧

從上面這張導圖我們可以清楚地了解到,渲染效果的核心主要體現在 CPU 和 GPU 交流計算資源上。它使引擎中的內容可在預期的幀率和分辨率下工作。其中,CPU 主要負責保證幀率,GPU 主要負責分辨率相關的一些處理。

也就是說:

  • 針對 CPU:我們要在 Batches 過程中減少 draw call 數目;
  • 針對 GPU:我們要多做減法。盡量減少需要處理的頂點數目;減少需要處理的片元數目(警惕透明物體、減少實時光照);減少計算復雜度,優化代碼;減少紋理大小、利用分辨率縮放節省內存帶寬。

拒絕卡頓掉幀!9 條AR模型內容設計干貨一次給你!

依據以上理論,我們需要優化場景中的文件數量。那么,具體到場景中的三維模型,應該如何變地輕量化呢?

在「AR-模型」制作領域當前并沒有一個統一的標準,我們通過大量的,在 AR 端的工業模型制作逐步積累總結經驗,并最終通過大型項目而歸納總結了一套“干貨標準”。

拒絕卡頓掉幀!9 條AR模型內容設計干貨一次給你!

拒絕卡頓掉幀!9 條AR模型內容設計干貨一次給你!

拒絕卡頓掉幀!9 條AR模型內容設計干貨一次給你!

拒絕卡頓掉幀!9 條AR模型內容設計干貨一次給你!

拒絕卡頓掉幀!9 條AR模型內容設計干貨一次給你!

圖 |「國家電網項目」三維模型圖集

參照以下針對模型輕量化的 9 條標準,我們能夠有效優化及釋放算力,從而使得我們的模型在 AR 端播放的過程中“絲滑流暢”,不掉幀、不卡頓。

模型制作方面

關鍵詞:標準化

嚴格參照圖片制作設備外觀,如需實際比例 1:1 還原,請嚴格參照實際尺寸。模型制作過程中對于看不到的面做刪除,合并斷開的頂點。

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

模型面數方面

關鍵詞:輕量化

單個模型面數控制在 30 萬個面以內;1 個應用中的全部模型面數控制在 100 萬個面以內。優化頂點數,保證頂點法線 1 根;減少切割 UV 零散,按照物體結構拆分,刪除隱藏或被遮擋的面。

注意:設備測試加載的模型面數最高上限為 400 萬個面,但不夠為標準規范推廣使用,只作為設備性能測試反饋。

貼圖制作方面

關鍵詞:2 次方

1 個模型用 1 張貼圖(1024*1024,酌情可以 2 次方遞減),貼入 diffuse 通道,diffuse 貼圖包含 Color\AO\Roughness 信息(用 Ps 做信息疊加合成一張),格式 jpg,控制貼圖數量。

拒絕卡頓掉幀!9 條AR模型內容設計干貨一次給你!

圖 | 貼圖流程如圖所示

材質屬性方面

關鍵詞:材質節點

帶紋理無透明效果,材質屬性建議使用默認普通材質;帶透明效果,選擇默認材質中的透明效果。

注意:材質貼圖路徑不能是本地路徑,請以軟件工程路徑為準(防止導出 fbx 文件后貼圖丟失)

提示:優化材質節點(提倡材質球的供用,控質材質球數量,清除廢棄的材質節點,盡量優化、減少場景中透明、發光、高亮、折射、反射效果的材質)

命名方面

關鍵詞:規范化

模型文件——項目名(大寫首字母)+二級命名(課程名/二級類別,大寫首字母)+model+模型名稱(全拼)。

例:NW_GXRJ_model_bi.fbx

動畫文件——項目名(大寫首字母)+二級命名(課程名/二級類別,大寫首字母)+An+模型名稱(全拼)

例:NW_GXRJ_An_bi.fbx

輸出方面

關鍵詞:歷史記錄

清除歷史記錄、清除場景廢棄模型、節點;清除隱藏顯示模型;所有坐標參數歸零;模型的物體中心坐標點在世界坐標點上。

maya/3DMax 系統單位設置“cm”,動畫設置以 25/S,輸出格式 fbx。

動畫制作

關鍵詞:可循環

Unity 動畫統一使用 Unity 的 Animator 制作。(建議:設計可循環動畫,時長 2S,25/S)

特效制作要求

關鍵詞:粒子數

特效最好使用 Unity 自帶粒子系統制作(不使用任何插件及腳本控制),特效的坐標中心點要保持在物體中心點,粒子發射。

應用中所有模型最終輸出要求

關鍵詞:分類/層級

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

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

要求:在 Unity 中調好材質效果、動畫效果;方便直接對接開發使用內容)

拒絕卡頓掉幀!9 條AR模型內容設計干貨一次給你!

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

總結說明

最后,簡單總結一下模型輕量化的幾個要點:

  1. 優化模型的頂點數和面數;
  2. 控制貼圖的數量、像素和格式;
  3. 控制材質屬性和數量,燈光和陰影的數量,動畫時長和骨骼數量;
  4. 對模型文件進行輕量化處理。

歡迎關注作者微信公眾號:「聯想上研」

拒絕卡頓掉幀!9 條AR模型內容設計干貨一次給你!

收藏 1
點贊 10

復制本文鏈接 文章為作者獨立觀點不代表優設網立場,未經允許不得轉載。