對3D的理解
場景中的光線照射到模型的表面,經過反射、漫反射後被相機拍攝到構成了我們看到的畫面。
3D核心概念之模型
Creator 3D跟Laya一樣使用右手座標系,unity使用的是左手座標系。
3D場景編輯常用操作 https://docs.cocos.com/creator3d/manual/zh/editor/scene/
材質常用選項(檔案最下面部分) https://docs.cocos.com/creator3d/manual/zh/material-system/overview.html
如果要修改fbx裡的材質,需要先dump出來再修改。
平行光只支援一盞
場景裡面同一個物體出現多次,可以開啟材質裡的gpu instancing選項進行效能優化
開啟陰影會造成物體繪製的三角面數量翻倍,應該儘可能少的去開啟物體的陰影。
粒子數值太大會消耗大量記憶體
UI裡面顯示模型記得模型放大100倍,材質切換成不受光材質。相關檔案https://docs.cocos.com/creator3d/1.1/manual/zh/ui-system/components/editor/ui-model.html?h=uimodel
涉及到透明貼圖的材質注意切換到transparent,另外還可以通過修改材質的priority來調整透明物體的繪製順序.
四元數
cocos裡面每一個音訊、圖片、預製體、模型、動畫等資源都會對應生成一個json,構建後的將會導致檔案數量翻倍。如果資源是放在網路上將會導致大量資源下載請求從而大大降低載入速度。
正常打包後的setting檔案
執行指令碼後會產生一個unionPack.json檔案和另外一個無法被合併進去的json檔案,以及修改後的setting檔案。
3D場景裡面顯示UI是一個比較常見的需求,可以使用renderTexture來進行實現。
在資源管理器中新建一個renderTexture資源,根據需要設定寬高
在場景上新建一個canvas,並設定Canvas元件的targetTexture為剛剛新建的renderTexture。
場景中新建一個3D面片,面片材質選用unlit Effect,然後程式碼裡設定面片材質的紋理為renderTexture。
原理:簡單的法線利用
shader.rar (2.9 KB)
因為倒計時通常是個位數,此種方法就是通過找到單個數位在紋理中所在的位置,再設定uv偏移和縮放就可以了。另外計算位置的時候需要考慮到合圖後的旋轉。
原始BMFont檔案
打包合圖後