- Edited
SkeletonGraphicで一部表示がおかしくなるようです
お世話になっております。
エクスポート時の「テクスチャアトラス パック」に付いて質問です。
こちら、キャラの一部にマテリアル適応を行いたく、キャラの一部を分けました。
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
が無効だと最初に添付いただいたスクリーンショットのような状態になってしまいますので、複数のテクスチャを使用したい場合は必ず有効にしてください。
その他ご不明な点があれば遠慮なくおっしゃってください!