• International日本語
  • URPプロジェクトでの乗算カラーブレンドのシェーダ設定について

  • संपादित

お世話になっております。
Unity でSpine v4.1を利用させていただいております。

URPプロジェクトでの乗算カラーアニメーションのシェーダ設定について質問させてください。

以前、乗算のカラーブレンドを下記シェーダを表現しておりました。
Spine/SkeletonとSpine/Blend Modes/Skeleton PMA Multiply

この度、URPプロジェクトで乗算のカラーブレンドを表現する際、下記を参考にURPシェーダに置き換えを行なっております。
https://ja.esotericsoftware.com/blog/Unity-Universal-Render-Pipeline-support

Spine/Blend Modes/Skeleton PMA Multiplyはどのシェーダに置き換えればよいのかわからず、ご教授いただけましたら幸いです。
何卒よろしくお願い致します。

Related Discussions
...
jpjp ने शीर्षक को बदलकर URPプロジェクトでの乗算カラーブレンドのシェーダ設定について कर दिया है।
  • संपादित

We are sorry for the inconvenience! While the built-in render pipeline blend mode shaders display correctly in a URP environment, you are correct that there should be URP versions available to be sure everything displays correctly on all devices. We will create the URP blend mode variants and let you know here on the forum once the update is available. Thanks for reporting!


ご不便をおかけしてしまい申し訳ございません! ビルトインレンダーパイプライン用のブレンドモードシェーダーを使ってもURP 環境で正しく表示されますが、すべてのデバイスですべてが正しく表示されることを確認するには、おっしゃる通りURP バージョンが必要です。 URP ブレンド モード用のバリアントを作成し、更新が利用可能になったら、このフォーラムでお知らせします。 ご報告ありがとうございます!

  • संपादित

@jpjp このコミット に、URP 3D および 2D それぞれの Blend Mode シェーダー バリアントを追加しました。 これらは、それぞれUniversal Render Pipeline/Spine/Blend Modes/ および Universal Render Pipeline/2D/Spine/Blend Modes/ というシェーダー名で見つかります。

新しい Spine URP Shaders UPM 4.1 および 4.2-beta パッケージは、通常どおりここからダウンロードできます。
https://esotericsoftware.com/spine-unity-download
これで問題が解決したかどうかをお知らせください。 ご報告いただきありがとうございました。


We have just added the respective URP 3D and 2D Blend Mode shader variants in this commit. They can be found under shader name "Universal Render Pipeline/Spine/Blend Modes/" and "Universal Render Pipeline/2D/Spine/Blend Modes/" respectively.

New Spine URP Shaders UPM 4.1 and 4.2-beta packages are available for download here as usual:
https://esotericsoftware.com/spine-unity-download
Please let us know if this resolves your issue. Thanks for reporting.

Haraldさん

早急な対応ありがとうございます。
無事、URPシェーダを設定することが出来ました。

1点ほど追加で質問させてください。

Universal Render Pipeline/Spine/Blend Modes/Skeleton Additive
Universal Render Pipeline/Spine/Blend Modes/Skeleton Multiply
Universal Render Pipeline/Spine/Blend Modes/Skeleton Screen

今後、こちらのシェーダでTint Blackが使えるようになる対応予定はございますでしょうか?
既存のSpine/Blend Modes/Skeleton PMAの3種類のシェーダでもプロパティがなかったので質問させていただきました。

  • इस पर Harald ने जवाब दिया।

    @Harald san
    対応していただいたURPシェーダを利用していて不具合を発見しました。
    Inspectorよりシェーダ内のOutlineのチェックボタンを押すとHidden/InternalErrorShaderにシェーダが切り替わります。
    URPではないSpine/Blend Modes/Skeleton PMA Multiplyのシェーダでは、Spine/Outline/Blend Modes/Skeleton PMA Multiplyに切り替わりました。
    既知の不具合でしたら申し訳ございません。
    何卒よろしくお願い致します。

    • इस पर Harald ने जवाब दिया।
      • संपादित

      jpjp 今後、こちらのシェーダでTint Blackが使えるようになる対応予定はございますでしょうか?
      既存のSpine/Blend Modes/Skeleton PMAの3種類のシェーダでもプロパティがなかったので質問させていただきました。

      申し訳ありませんが、かなり珍しい組み合わせであるため、「Tint Black」機能を「Blend Modes」シェーダに含める計画はまだありません。 ブレンド モード シェーダーで「Tint Black」を使用するユースケースについてお聞きしてもよろしいでしょうか?

      一般に、シェーダのコピーを自分で作成して、そのシェーダのBlend One OneMinusSrcAlphaの行を変更すれば、どんなシェーダでもブレンドモードが加算、乗算、またはスクリーンのシェーダに簡単に変えることができます。例えば Blend One One に変更すれば加算ブレンドを実現できます。 また、これを行う際はファイルの最初の行にある、コピーしたシェーダの名前も必ず変更するようにしてください。


      I'm sorry, we have no plans yet to include Tint Black functionality in the Blend Modes shaders, since it's a rather rare combination. May I ask what your use-case is to use Tint Black with a blend mode shader?

      In general, you could quite easily turn any shader into a blend mode additive, multiply or screen shader by creating your own copy of the shader and changing the line Blend One OneMinusSrcAlpha in the shader to e.g. Blend One One to achieve Additive blending. Also be sure to change the name of the copied shader, located in the first line of the file.

      • इस पर jpjp ने जवाब दिया।
      • jpjp ने इसे लाइक किया।
        • संपादित

        jpjp @Harald san
        対応していただいたURPシェーダを利用していて不具合を発見しました。
        Inspectorよりシェーダ内のOutlineのチェックボタンを押すとHidden/InternalErrorShaderにシェーダが切り替わります。

        あ、見落としがあって申し訳ありませんでした。 報告してくれてありがとうございます!

        残念ながら、URP シェーダは現在、単一マテリアルのアウトライン レンダリングをサポートしていません。 したがって、当面は URP シェーダーからアウトライン関連のコードを削除する必要があると思います。

        アウトラインを追加するには、Spine URP Shaders UPM パッケージに付属のOutline Shaders URPサンプル シーンで示されているように、アウトラインを別個の GameObject として追加する URP シェーダー ワークフローを使用する必要があります。


        Oh, I apologize for the oversight. Thanks for reporting!

        Unfortunately the URP shaders currently don't support single-material outline rendering. So I'm afraid I will have to remove the outline-related code from the URP shaders for now.

        To add outlines, you will need to use the URP shaders workflow of adding outlines as a separate GameObject as demonstrated in the Outline Shaders URP example scene that comes with the Spine URP Shaders UPM package.

        • संपादित

        @jpjp さん

        このコミット でブレンド モード URP シェーダーで表示されるアウトライン パラメーターの問題を修正しました。 これにより、誤解を防止し、無効なフォールバック シェーダーの表示を回避できます。

        新しい 4.1 および 4.2 ベータ版の Spine URP Shaders UPM パッケージは、通常どおりここからダウンロードできます。
        https://esotericsoftware.com/spine-unity-download
        改めてご報告いただきありがとうございました!



        We have just fixed the issue of the Outline parameter being displayed at the Blend Mode URP shaders in this commit. This should prevent false expectations and avoid seeing the invalid fallback shader.

        New 4.1 and 4.2-beta Spine URP Shaders UPM packages are available for download here as usual:
        https://esotericsoftware.com/spine-unity-download
        Thanks again for reporting!

        • इस पर jpjp ने जवाब दिया।

          Harald
          Haraldさん

          リプライありがとうございます。
          Spineツール上での表示表現がUnityエディタ上でも同等に表現することが可能か調べておりました。

          まずSpineツール上では、アタッチメントを含むスロットに対して
          ブレンドモードの設定とティントブラックを使用するかのチェックを同時に設定することが出来ました。
          また、この状態でドープシート上でスロットカラーのアニメーションを作ることが可能でした。

          JSONファイルを出力しUnityエディタ上でスケルトンを表示する際
          ブレンドモードシェーダーでもTintBlack機能を有効にしないとSpineツール上と同じ表示表現が出来ないのではないかと考えました。

          Haraldさんのリプライより自分でシェーダーを作成することで解決できそうですが、対応可否を質問させていただきました。
          今回、URPでのブレンドモードシェーダーの実装対応をとても感謝いたします。

          Harald

          お世話になっております。
          最新のSpine URP Shaders UPMパッケージを取得して問題が修正されていることを確認しました。
          ご対応ありがとうございます。

          • संपादित

          @jpjp さん
          Outlineオプションに関する問題が更新されたパッケージで修正されていることを確認していただきありがとうございます。

          また、すべての URP 「ブレンド モード」シェーダーにTint Black機能も追加しました (このコミットです。)

          新しい Spine URP Shaders UPM 4.1 および 4.2 ベータ パッケージがダウンロードできます。
          https://esotericsoftware.com/spine-unity-download
          これが希望どおりに機能するかどうかをお知らせいただければ幸いです。



          @jpjp san
          Thanks for confirming that the issue regarding the Outline option is fixed with the updated package.

          We have now also added Tint Black functionality to all URP "Blend Mode" shaders (in this commit).

          New Spine URP Shaders UPM 4.1 and 4.2-beta packages are available for download:
          https://esotericsoftware.com/spine-unity-download
          Please let us know if this works as desired for you now.

          • इस पर jpjp ने जवाब दिया।

            Harald さん

            お世話になっております。
            最新のSpine URP Shaders UPMパッケージを取得してURP(ブレンドモード)シェーダーのTintBlack機能を確認しました。
            とても素早い対応をありがとうございます。

            お役に立ててよかったです。すぐに確認していただきありがとうございました。
            Glad it helped, thanks for checking it so quickly.

            • jpjp ने इसे लाइक किया।