HDRPでオブジェクトの表示順を変えてみました。
ビルトインレンダーパイプラインでは、オブジェクトの表示順はレンダリンモードとレンダーキューで決まります。
しかし、HDRPではレンダーキューが直接公開されないので、代わりにマテリアルとレンダラーコンポーネントのプロパティで表示順をコントロールします。
マテリアルごとの表示順
通常は、カメラから近いオブジェクトが前面に表示されます。
赤と青の2種類のマテリアルの両方のSurface Typeを「Transparent」にしました。「Transparent」にすると、「Sorting Priority」プロパティが現れるので、赤いマテリアルの値を1に上げます。
すると、後ろにある赤いCubeが前面に表示されました。
しかし、青いマテリアルの「Depth Write」のチェックを入れると、表示順が元に戻ります。
これは、深度テストが「Sorting Priority」を上書きするからです。
レンダラーコンポーネントごとの表示順
同じマテリアルの表示順はレンダラーコンポーネントでコントロールできます。
後ろにあるCubeを選択して、インスペクタでメッシュレンダラーコンポーネントの「Priority」を上げました。
すると、表示順が逆になりました。
これも、マテリアルの「Depth Write」のチェックを入れると無効になります。
Surface Typeを「Opaque」に戻しても、表示順をコントロールできなくなりました。
マテリアルとレンダラーの表示順
マテリアルの「Sorting Priority」が赤いマテリアルより低い、青いCubeをカメラの最も近くに表示すると、赤いCubeの後ろに表示されます。
この「Sorting Priority」を赤いマテリアルと同じにすると、なぜかレンダラーの「Priority」が高い方だけが前面に表示されました。
「Sorting Priority」をもっと上げるか、メッシュレンダラーの「Priority」を上げると、青いCubeが前面に表示されます。