はじめに 以前、ディファードで Raymarching をやる記事を書きました。 tips.hecomi.com 上記記事では画面全体での Raymarching でしたが、これを個別のオブジェクトとして分解できるようにしたオブジェクトスペースのレイマーチングについて以下の記事で解説を行いました。 tips.hecomi.com 上記記事で使用したディファードレンダリングでは、デプスバッファに対して直接 Raymarching で計算した深度を書き込むことができるため、ポリゴンで出来た世界とのマージが簡単でした。これまでは、Unity のフォワードレンダリングでは計算して求めた深度をデプスバッファへ書き込むことが出来ないと思っていたのですが、SV_Depth を使うと求めることが出来るようです。 本エントリでは _CameraDepthTexture の値と現在のレイマーチングの深度を比較