• 日本語
  • SkeletonGraphicCustomMaterialsの使い方について

  • Bearbeitet
Related Discussions
...

SkeletonGraphicCustomMaterialsの使い方についてお伺いしたいと思います。
リファレンスを見たのですが、ちょっと使いこなせず、相談させていただきたく思います。

例として
①スパインボーイをuGUIで実装したいとする
②スパインボーイの「銃」部分にのみ特定のシェーダーを対応させたい。

として、

SkeletonGraphicCustomMaterials
を使おうとしたのですが、銃部分に対応させるマテリアルの作成方法などがわからず、困っております。

どこかにサンプルプロジェクトや、詳しい実装方法の説明動画などございますでしょうか。
お手数ですがご確認いただけますと幸いです。

よろしくおねがいします。

現在の SkeletonGraphicCustomMaterialsコンポーネントはSkeletonRendererCustomMaterialsほど強力ではなく、ドキュメントにはまだ明示的に記載されていません。

残念ながら、 SkeletonGraphicSkeletonGraphicCustomMaterialsは、 SkeletonRendererのように、スロットごとのカスタムマテリアルをまだサポートしていません。

この機能の発行チケットをここに作成しました。
https://github.com/EsotericSoftware/spine-runtimes/issues/1982
残念ながら、レンダリング関連のコードにいくつかの変更が必要なため、4.1ベータブランチでの実装になります。

この機能が実装されるまでは、次の回避策のいずれかを使用できます。

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

  2. 非推奨:「セパレータースロット」機能を使用して、スケルトンを3つ以上の部分に分割します。そして、2番目の部分の CanvasRendererでマテリアルをオーバーライドできます。ただしこれには、SkeletonGraphic.OnMeshAndMaterialsUpdatedコールバックデリゲートを使用して、適切なタイミングでマテリアルを設定する必要がある場合があります。


We are sorry that the current SkeletonGraphicCustomMaterials component is not as powerful as SkeletonRendererCustomMaterials and that the documentation does not explicitly state this yet.

Unfortunately SkeletonGraphic and SkeletonGraphicCustomMaterials do not yet support custom Materials per Slot as SkeletonRenderer does.

I have created an issue ticket here for this feature:
https://github.com/EsotericSoftware/spine-runtimes/issues/1982
Unfortunately it will be implemented on the 4.1-beta branch, since it requires some changes to the rendering-related code.

Until the feature is implemented, you could use one of the following workarounds:

  1. Pack images that need a special material to a separate atlas texture. Then you use the SkeletonGraphicCustomMaterials component to override the Material at this texture.

  2. Not recommended: Use the Separator Slots feature to separate the skeleton into three or more parts. Then you can override the Material at the second part's CanvasRenderer, but this might require using the SkeletonGraphic.OnMeshAndMaterialsUpdated callback delegate to set the material at the right time.

4 Tage später

返信ありがとうございます。

4.1ベータを待ってみようとおもいます。
いつもありがとうございます、ハラルド!

Thanks for the reply.

I think I'll wait for the 4.1 beta.
Thanks again, Harald!

Sorry!
I had chosen the wrong Portuguese!

お返事ありがとうございます。 機能が実装され次第、ここに投稿します。

ちなみに、残念ながら私は英語とドイツ語しか理解できず、残念ながらポルトガル語は理解できません。 🙂私はその言語が英語の代わりに誤って選択されたと思います。 それでも、2つの言語で投稿していただきありがとうございます。


Thank you for getting back to us. We will post here as soon as we have implemented the feature.

By the way, unfortunately I only understand English and German, unfortunately not Portuguese. 🙂 I assume the language was selected accidentally instead of English. Nevertheless, thanks for posting it in two languages .

6 Monate später

お世話になっております。
すみません、こちらの件なのですが、なにか進捗とかございますでしょうか……?
いつ頃実装できそうかとか目処が立っていたら共有していただけますと幸いです。

申し訳ありませんが、まだこれを実装できていません。 issueチケットをサブスクライブして、進行状況に応じて更新を受け取ることができます。
Sorry, we didn't get to implement this yet. You can subscribe to the issue ticket to receive updates upon any progress.
https://github.com/EsotericSoftware/spine-runtimes/issues/1982