• RuntimesUnity
  • spineの最新をunity6.000.52fに入れてURP Shaders UPM packageを入れたらエラーが出た

初心者です。
spineの最新をunity6.000.52fに入れてURP Shaders UPM packageを入れたらエラーが出た。
zipをダウンロードしてプロジェクトにいれてもshader errorがでて入りません。
gitもエラーがでて入りません。よろしくお願いします

Shader error in 'Universal Render Pipeline/2D/Spine/Sprite': Couldn't open include file 'Packages/com.esotericsoftware.spine.spine-unity/Runtime/spine-unity/Shaders/Sprite/CGIncludes/ShaderShared.cginc'. at /unityProjects/FightingFantasy/Library/PackageCache/com.esotericsoftware.spine.urp-shaders@258f42228ad0/Shaders/Include/SpineCoreShaders/ShaderShared.cginc(2)

Related Discussions
...

URP Shaders UPM packageを使用する際にエラーが発生するのは、パッケージのインストール方法に問題がある可能性があります。特に、URP Shaders UPMパッケージをgit URLからインストールする場合、spine-csharpとspine-unityのパッケージもUnity Package Managerを通じてインストールする必要があります。unitypackageを使用してAssetsフォルダにインストールすると、URP Shaders UPMパッケージのシェーダーのインクルードパスが存在しないディレクトリを指すことになり、シェーダーのコンパイルエラーが発生します。

この問題を解決するには、以下のいずれかの方法を試してください:

  1. URP Shadersとspine-unityの両方をUnity Package Managerを使用してgit URLからインストールします。
  2. spine-unityをunitypackageとしてインストールした場合は、URP Shaders UPMのzipファイルをダウンロードし、ローカルに解凍してからUnity Package Managerを使用してディスクからパッケージを追加します。

詳しい手順は、spine-unityのドキュメントをご覧ください。

ご回答ありがとうございます。
GITのURLから全部いれたらインストール成功しました。
しかし、2DのURPでプロジェクトを作ったらskeletonDataをHierarchyにドラッグして
SkeletonAnimationに変更してshadeerをuniversal render pipline->spine->skeletonに変更したところ
透明になりエッジがオレンジ色になりました。
3Dでプロジェクトを作りなおしてインポートしたところshaderをurpに変更しても表示はきちんとされました。
とりあえず3Dプロジェクトで作ってみます。ありがとうございました。

  • Misaki ответили на это сообщение.

    haruyou 混乱させてしまい申し訳ありません。
    URPシェーダーは2Dレンダラーを使用するものと3Dフォワードレンダラーを使用するもので2種類用意されており、2Dレンダラーを使用するプロジェクトではUniversal Render Pipeline/2D/Spine/Skeleton を使用する必要があります。
    (名称が非常に似ていますが、Universal Render Pipeline/2Dフォルダ以下にあるSpine/Skeletonシェーダーを使う必要があるということです。)

    Universal Render Pipeline/Spine/Skeleton は3Dフォワードレンダラー用に用意されているURPシェーダーですので、3Dプロジェクトでは正しく表示されます。

    各シェーダーについての概要はドキュメントの以下の章にまとまっていますのでご参考にしていただければ幸いです:
    spine-unityランタイム ドキュメント レンダリング | #URP Shaders 拡張パッケージ

    情報ありがとうございました。丁寧なご返答助かります.