• RuntimesUnity
  • Unity URP Outline設定でラインは表示されるが、テクスチャが表示されなくなる。

4.1
スパインユニティユニティパッケージ
URP シェーダー UPM パッケージ
をインストールしてアウトライン設定をするとアウトラインのみの表示になってしまうのですが、URPではなかった時の様に表示させることは可能でしょうか?

Related Discussions
...
  • Modifié

@Kono FAQのこちらのセクション にある、「URPプロジェクトでアウトラインシェーダーがアウトラインしか表示しません。なぜですか?」を参照してください。

Please see the FAQ section here, under "The Outline shader displays only outlines in my URP project. Why?".

ご返答ありがとうございます。
全てパッケージマネージャからインストールを行い、SpineのURP側のシェーダーでエラーが発生しているのですが、どうすれば宜しいでしょうか?

    Kono シェーダーのパスに混乱が生じているようです。一度Unityを終了し、プロジェクトフォルダ内のLibraryディレクトリを削除して再度Unityを起動してプロジェクトを開き、クリーンな状態からすべてを再インポートさせてみていただけますか?
    お手数ですがこれで問題が解決するか否かご連絡いただけますと幸いです。

    新規でプロジェクト作ってから試したのですが、再度試してみます。

    再度新規プロジェクトで発生していないことを確認致しました。
    インポートの順番が原因?

    URPのシェーダーではoutlineの切替は無い感じに思えます。
    パッケージマネージャ側のサンプルデータは編集できませんのでPlaneに新しく作成したマテリアルを設定して表示を確認出来ました。
    ありがとうございます。

      Kono ご報告いただきありがとうございます!問題が解決したとのことで良かったです。

      おっしゃる通り、インポートの順番が原因で誤ったインクルードパスが設定されてしまったのだと思われます。

      サンプルの編集に関しましては、お使いのシステムのファイルマネージャー(エクスプローラーまたはFinder)を使用してAssetsディレクトリにコピーすることで編集できるようになりますので、もしサンプルシーンを利用したテストが必要になりましたらそのようにしていただければ幸いです。
      また何かご不明な点や困ったことがありましたらお気軽にフォーラムに投稿してください。
      今後ともSpineをよろしくお願いいたします。

      はい 宜しくお願い致します。
      パッケージマネージャ側のインポートしたものを全てRemoveして今度はAssets側に
      インポートする為に「spine-unity-4.1-2023-11-02.unitypackage」をインポートした後に「com.esotericsoftware.spine.urp-shaders-4.1-Unity2019.3-2023-10-26.zip」を解凍したものを配置しました。

      URP環境でSkeletonAnimationでRenderExistingMeshでアウトライン表示出来ることを確認致しました。
      一つ気になるのは「Spine-Sprite-URP.shader」のみエラーが発生していることです。

        Kono スクリーンショットではエラー文が見切れてしまっているため、お手数ですがエラー文の全文を載せていただけますと幸いです。

        Shader error in 'Universal Render Pipeline/Spine/Sprite': Couldn't open include file 'Packages/com.esotericsoftware.spine.urp-shaders/Shaders/Include/SpineCoreShaders/Spine-Common.cginc'. at Assets/SpineURPShader/Shaders/Include/SpineCoreShaders/ShaderShared.cginc(10)

        Compiling Subshader: 0, Pass: ForwardLit, Vertex program with <no keywords>
        Platform defines: SHADER_API_DESKTOP UNITY_COLORSPACE_GAMMA UNITY_ENABLE_DETAIL_NORMALMAP UNITY_ENABLE_REFLECTION_BUFFERS UNITY_LIGHTMAP_FULL_HDR UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_PBS_USE_BRDF1 UNITY_SPECCUBE_BLENDING UNITY_SPECCUBE_BOX_PROJECTION UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS
        Disabled keywords: DIRLIGHTMAP_COMBINED FOG_EXP FOG_EXP2 FOG_LINEAR INSTANCING_ON LIGHTMAP_ON PIXELSNAP_ON SHADER_API_GLES30 UNITY_ASTC_NORMALMAP_ENCODING UNITY_ENABLE_NATIVE_SHADOW_LOOKUPS UNITY_FRAMEBUFFER_FETCH_AVAILABLE UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS UNITY_HARDWARE_TIER1 UNITY_HARDWARE_TIER2 UNITY_HARDWARE_TIER3 UNITY_LIGHTMAP_DLDR_ENCODING UNITY_LIGHTMAP_RGBM_ENCODING UNITY_METAL_SHADOWS_USE_POINT_FILTERING UNITY_NO_DXT5nm UNITY_NO_FULL_STANDARD_SHADER UNITY_NO_SCREENSPACE_SHADOWS UNITY_PBS_USE_BRDF2 UNITY_PBS_USE_BRDF3 UNITY_PRETRANSFORM_TO_DISPLAY_ORIENTATION UNITY_UNIFIED_SHADER_PRECISION_MODEL UNITY_VIRTUAL_TEXTURING _ADDITIONAL_LIGHTS _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHT_SHADOWS _ADDITIVEBLEND _ADDITIVEBLEND_SOFT _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON _ALPHAPREMULTIPLY_VERTEX_ONLY _ALPHA_CLIP _COLOR_ADJUST _DIFFUSE_RAMP _EMISSION _FIXED_NORMALS_MODELSPACE _FIXED_NORMALS_MODELSPACE_BACKFACE _FIXED_NORMALS_VIEWSPACE _FIXED_NORMALS_VIEWSPACE_BACKFACE _FIXED_NORMALS_WORLDSPACE _FOG _FORWARD_PLUS _FULLRANGE_HARD_RAMP _FULLRANGE_SOFT_RAMP _LIGHT_AFFECTS_ADDITIVE _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN _MIXED_LIGHTING_SUBTRACTIVE _MULTIPLYBLEND _MULTIPLYBLEND_X2 _NORMALMAP _OLD_HARD_RAMP _OLD_SOFT_RAMP _RECEIVE_SHADOWS_OFF _RIM_LIGHTING _SHADOWS_SOFT _SPECULAR _SPECULAR_GLOSSMAP _TEXTURE_BLEND _TINT_BLACK_ON

        Assets内なので専用のパスを書き換えればエラーは回避出来ます。
        エラーになっていたのは1つではなく「Spine-Sprite-URP.shader」と「Spine-Sprite-URP-2D.shader」の2つだったようです。

          Kono ご返信が遅くなってしまい申し訳ありません!エラーについて詳細をご共有いただき誠にありがとうございます。
          spine-unityランタイムの担当であるHaraldが現在休暇中のため、戻り次第このエラーについて調査し、結果をご報告させていただきます。
          恐れ入りますが、今しばらく回答をお待ちいただけますと幸いです。

          はい 宜しくお願い致します。

          長らく返信をお待たせしてしまい申し訳ありません。

          インクルード ディレクトリの問題について、
          あなたはどうやらMisakiが「サンプルを「Assets」ディレクトリにコピーする必要がある」と言ったのを誤解したのだと思います。
          あなたはシーンとスケルトン アセットだけが含まれるサンプル サブディレクトリだけをコピーするのではなく、Spine URP Shaders パッケージ全体をAssetsにコピーしてしまったようです。 シェーダーはデフォルトのパッケージの場所に残しておく必要があります。

          UPM パッケージのインストールは、spine-unityのドキュメント ページのこちらで説明されている通り、Package Managerを介して UPM パッケージをインストールするか、中身を <projectdir>/Packages/ にコピーする必要があります。 このようにすることで、インクルードされたファイルを#include "Packages/package-name/file"で参照することができます。 シェーダーファイルを含む UPM パッケージ全体を Assets のサブディレクトリにコピーしてしまうと、ディレクトリ Packages/.. を参照するインクルードはすべて壊れてしまいます。

          Spine URP Shaders パッケージは、最新バージョンから、Package Manager経由で UPM パッケージをインストールした場合にサンプルが直接インストールされなくなりました。 代わりに、Package Managerウィンドウからリスト中のSpine Universal RP Shadersパッケージを選択し、右側でSamplesを展開してImportをクリックすることでインストールできます。

          これにより、サンプル アセットがAssets/Samples/Spine Universal RP Shadersにインポートされ、アセットの変更や保存などの通常の変更が可能になります。

          もし私があなたの質問を誤解しており、上記では解決しない場合はその旨をお知らせください。



          Sorry for the long delay.

          Regarding the issue with your include directories:
          I think you misunderstood Misaki when she said that you should copy the samples to the Assets directory: You seem to have copied the whole Spine URP Shaders package to assets instead of only copying the examples subdirectory, which contains only scenes and skeleton assets. The shaders should be left in the default package location.

          As described here in the spine-unity documentation pages on installing the UPM package, you should either install the UPM package via the Package Manager, or by copying the contents into <projectdir>/Packages/. This way included files can be referenced by #include "Packages/package-name/file". Copying the whole UPM package including the shader files into a subdirectory of Assets will break any includes referencing the directory Packages/...

          Since the latest versions of the Spine URP Shaders package, the examples are no longer directly installed when installing the UPM package via the package manager. Instead, they can be installed via the Package Manager window by selecting the Spine Universal RP Shaders package in the list, then on the right expanding Samples and hitting Import.

          This will import the sample assets into Assets/Samples/Spine Universal RP Shaders and allow normal modification of the assets, like modifying and saving them.

          If I misunderstood your question and the above does not help, please let me know.