グラフィクス
レンダリングにはUnityのBuilt-in Render Pipelineが使用されます。 そのため、多くのUnityアセットに付属しているシェーダーはそのまま動作します。
World Runtime Setting コンポーネントのグラフィクスの設定もご覧ください。
レンダリング
使用しているGraphics APIのバージョンは以下のとおりです。
- Direct3D 11 (Windows)
- Metal (iOS / Mac)
- OpenGL ES 3 (Android)
Metalではgeometry shader(#pragma geometry ...
)は動作しません。
このとき、マテリアルはMissing Materialと同じ紫色で表示されます。
ShaderLabのターゲットバージョンは #pragma target 3.5
以下を推奨します。
VRモードではMulti-Pass Stereo Renderingが使われます。
モバイルGPUはデスクトップ環境と比較して、GPU-メモリ通信帯域が小さいことが多いため、メモリ読み込みが追加で発生するAlphaBlendやGrabPassは特に遅くなる傾向があります。
不透明でも成立するエフェクトをデザインする、透過部分にはAlphaCutを使うなどで問題が緩和される場合があります。
ライティング
clusterが用いてるUnity Project Settingsは以下の通りです。
World Runtime Settingの"Use World Shadow"がOFFの場合
- Shadows: Disable Shadows
ONの場合
- Shadows: Hard and Soft Shadows
- Shadowmask Mode: Shadowmask
- Resolution: Medium
- Shadow Projection: Close Fit (Androidの場合はStable Fit)
ピクセルライトは2つまで反映されます (Project Settings > Quality > Rendering > Pixel Light Count は 2)。