• RuntimesUnity
  • Unityポストプロセスエフェクト『Depth of Field』を適用する方法について

OS:Windows10
Spine:4.1.24
Unity:2022.3.22f1(URP)

『Depth of Field』を正確に描画させる方法がありましたら教えていただきたいのですが。

■現在の状況、設定などは添付画像の通りです。


■理想の描画は画像を添付しました。

Spine、Unityのバージョンは適切なものに変更可能です。
どうぞ宜しくお願いします。

Related Discussions
...

Depth of Field (DoF) エフェクトを正確に描画するためには、Spineのシェーダーが深度バッファに書き込むように設定する必要があります。以下の手順を試してみてください。

  1. シェーダーの設定を変更:

    • Spineのシェーダーに ZWrite On を追加します。これにより、深度バッファに書き込むことができます。
    • 例えば、URP/Spine/SkeletonLit シェーダーを使用している場合、シェーダーコードに以下の行を追加します:
           Tags { "Queue"="AlphaTest" }
           ZWrite On
  2. レンダーキューの設定:

    • URP/Spine/SkeletonLit シェーダーのレンダーキューを AlphaTest に変更します。これにより、DoFエフェクトが透明オブジェクトにも適用されるようになります。
    • 具体的には、シェーダーのタグを以下のように設定します:
           Tags { "Queue"="AlphaTest" }
  3. DoFエフェクトの適用順序を変更:

    • DoFエフェクトが透明オブジェクトの後に適用されるように、レンダーキューの順序を調整します。Unityのフォーラムで詳細な手順が説明されています:
      Transparency and DoF post process in URP
  4. Spine URPシェーダーの更新:

    • 最新のSpine URPシェーダーを使用していることを確認してください。新しいバージョンでは、Depth Write プロパティが追加されており、これを有効にすることでDoFエフェクトが正しく適用されるようになります。
    • 最新のシェーダーパッケージは以下からダウンロードできます:
      Spine Unity Download

これらの手順を試して、DoFエフェクトが正しく適用されるか確認してください。

手順を試したところ、理想の表現になりました。

■結果

  • Misaki відповіли на це.
  • Misaki вподобали це.

    Adachi 結果をご共有いただきありがとうございます!
    Spinebotの回答がお役に立ったようで何よりです。
    また何かご不明な点がありましたらお気軽にご質問ください。