• 日本語
  • SkeletonGraphicで一部表示がおかしくなるようです

  • Đã chỉnh sửa
Related Discussions
...

お世話になっております。

エクスポート時の「テクスチャアトラス パック」に付いて質問です。

こちら、キャラの一部にマテリアル適応を行いたく、キャラの一部を分けました。

GameObjectとして配置すると正常に配置されるのですが、UIとしてSkeletonGraphicとして配置するとパック分けした部分がバグってしまうようです。
こちらご確認頂けますでしょうか。

下記スクリーンショットの左がGameObject、右がSkeletonGraphicです

こんにちは!

こちらバグではなく、SkeletonGraphicコンポーネントを使用してスケルトンを表示する場合、デフォルトでは使用できるテクスチャが1枚に制限されているためになります。InspectorウィンドウでSkeletonGraphicコンポーネントのAdvanced...を広げて表示されるMultiple CanvasRenderersを有効にすればテクスチャの枚数上限を上げることができ、正常に表示できるようになります。

ただし、パフォーマンス上の理由からこれを使用することは推奨されていないことにご注意ください。

その他ご不明な点がありましたらお気軽にご質問ください!

なるほど、設定ミスだったのですね、大変失礼いたしました。
また、こちら非推奨とのことですが、

SkeletonGraphicCustomMaterialsの使い方について

こちらのフォーラムにて「SkeletonGraphicの一部にマテリアルを反映するにはどうすれば良いか」質問させていただいた回答として

特別なマテリアルが必要な画像を別のアトラステクスチャにパックします。次に、 SkeletonGraphicCustomMaterialsコンポーネントを使用して、このテクスチャでマテリアルをオーバーライドします。

と回答を頂いております。

最終的に行いたいのは「SkeletonGraphicの一部にマテリアルを反映」なのですが、こちらSpine公式様の推奨する実装方法などございますでしょうか。

Multiple CanvasRenderersが有効な状態でSkeletonGraphicCustomMaterialsコンポーネントのCustom Material Overridesセクションの置き換えたいテクスチャが入っている要素のReplacement Materialを登録してください。
具体的には以下のような状態になります:

上の例では、銃のテクスチャのReplacement MaterialにOutlineシェーダーを使用しているマテリアルを指定してオーバーライドしました。(Override Enabledがfalseの場合は適用されません。デフォルトはfalseなのでご注意ください)

SkeletonGraphicCustomMaterialsコンポーネントでの設定が正しくても、Multiple CanvasRenderersが無効だと最初に添付いただいたスクリーンショットのような状態になってしまいますので、複数のテクスチャを使用したい場合は必ず有効にしてください。

その他ご不明な点があれば遠慮なくおっしゃってください!