• Runtimes
  • URPだとキャラが白っぽくなる

UnityのSPINEで普通の2Dプロジェクトだと問題ありませんが、2DのURPのプロジェクトだとSPINEサンプルシーンのキャラが白っぽくなります。
URPでもキャラを正しい色で表示させたいです。

SPINEランタイムバージョンはspine-unity 4.2です。

Related Discussions
...
  • Изменено

URPプロジェクトでキャラクターが白っぽく表示される問題は、使用しているシェーダーが原因である可能性があります。URP環境では、適切なSpine URPシェーダーを使用する必要があります。特に、2D URPプロジェクトでは以下のシェーダーを使用してください:

  • Universal Render Pipeline/2D/Spine/Sprite
  • Universal Render Pipeline/2D/Spine/Skeleton Lit

これらのシェーダーは、2Dレンダラー用に設計されており、URPの設定に適合しています。以下のリンクから詳細な情報とシェーダーのダウンロードが可能です:

spine-unity Runtime Documentation: URP Shaders Extension UPM Package

Universal Render Pipeline/2D/Spine/Sprite
Universal Render Pipeline/2D/Spine/Skeleton Lit
のどちらとも選択できません。

Universal Render Pipeline/2D/Spine/Sprite-Lit-Default
が選べます。
これを選ぶと白っぽいままです。

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

    ITMON 確認しましたが、おっしゃっている状況が再現できません。スクリーンショットで示されているシーンのスケルトン(Doi)はデフォルトシェーダーであるSpine/Skeletonシェーダーを使用しており、これはビルトインレンダーパイプラインからURPに変更したとしても正常に表示されるはずです。
    また、URPシェーダー拡張パッケージに含まれているはずのシェーダーが選択できない理由も分からないため、現在のマテリアル設定、Project Settings -> Graphicsの設定やProject Settings -> Player ->Other Settingsで選択している色空間の設定など、描画に関する設定のスクリーンショットを投稿していただくか、または問題を再現できる最小限のUnityプロジェクトをメール経由で送ってください: contact@esotericsoftware.com
    (再現プロジェクトを送っていただく場合はメールの本文にこのスレッドのURLを含めてください)
    お手数ですがご確認いただけますと幸いです。

    Project Settings -> Player -> Other Settings -> Color Space をLinearから Gamma に変更しましたら、キャラの色が正しく表示されました。どうもありがとうございます。

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

      ITMON 原因が判明したようで良かったです!


      以下、検索からこのスレッドを見つけた方のために補足します:
      spine-unityのデフォルトマテリアルは全般的にプロジェクトのColor Space(色空間)がGamma(ガンマ)であることを前提とした設定になっているため、Linear(リニア)になっていると正しく表示されません。

      古いUnityバージョンでは新しく作成したUnityプロジェクトのColor SpaceはデフォルトでGammaになっていましたが、最近のUnityバージョンではデフォルトがLinearに変わってしまったせいで少し分かりづらくなってしまっています。しかし色空間とマテリアルの設定の組み合わせが正しくない場合、SkeletonAnimationなどスケルトンをGameObjectに追加するのに使用したコンポーネントに警告が表示されます:

      Color Spaceに限らず、プロジェクトの設定とマテリアル、またはコンポーネントの設定が期待される組み合わせになっていない場合にはこういった警告が表示されるようになっていますので、表示がおかしい場合にはこのような警告が出ていないかを確認してみてください。

      また何かご不明な点があればお気軽にご質問ください!

      ITMON Universal Render Pipeline/2D/Spine/Sprite
      Universal Render Pipeline/2D/Spine/Skeleton Lit
      のどちらとも選択できません。

      What problem did you encounter when selecting these shaders?

      Universal Render Pipeline/2D/Spine/Sprite-Lit-Default
      が選べます。
      これを選ぶと白っぽいままです。

      There is no Universal Render Pipeline/2D/Spine/Sprite-Lit-Default shader. Likely you accidentally used
      Universal Render Pipeline/2D/Sprite-Lit-Default, which is a standard Unity shader. Using this shader is ok, just be aware that you won't be able to use features like Tint Black.

      If you need more information, you can check out the Spine URP Shaders package documentation section here, or the English page here.