可以使用的著色器

可以在集群中使用的著色器

該集群使用 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 來緩解。