可以使用的着色器

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

该集群使用 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 来缓解。