對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文件
打包合圖後