可以使用的著色器
可以在集群中使用的著色器
該集群使用 Unity 的內置渲染管道,許多資產附帶的著色器按原樣工作。但是,那些使用幾何著色器(通常用於顯著改變形狀的效果)在 iOS 和 Mac 上不起作用(顯示為與缺失材質相同的紫色)。
我們建議您檢查它,以便更多用戶可以使用世界。
製作自己的著色器
以下信息僅供參考,未來可能會因平臺本身的優化而有所變化。
該集群可在多個平台(Windows、Mac、Android、iOS)和不同的 UI(VR 和非 VR)上運行,一個好的世界有望在所有平台上正常運行。
集群使用的 Graphics API 是:
- Direct3D 11 (Windows)
- Metal (iOS / Mac)
- OpenGL ES 3 (Android)
這意味著不能使用幾何著色器(#pragma geometry …)。
因此,建議結合使用Unity動畫和頂點著色器來實現動態增加或減少頂點數量等效果。
我們建議將 #pragma target 3.5 或更低版本作為 ShaderLab 的目標版本。
由於集群的VR支持使用Multi-Pass Stereo Rendering,所以在寫廣告牌、水等受雙目視差影響的東西時請參考。
提速技巧
由於移動 GPU 通常具有比桌面環境更小的 GPU 內存帶寬,因此生成額外內存讀取的 AlphaBlend 和 GrabPass 往往特別慢。
這個問題可以通過設計一個即使不透明也能起作用的效果來緩解,或者通過對透明部分使用 Alpha Cut 來緩解。