• 日本語
  • [Unity]特定のアタッチメントのカラーを動的に変更する方法について

  • Editado
Related Discussions
...


私は現在、このような薄いグレーの髪をベースにした派生のモブキャラを作成しています。
そしてアタッチメントカラーを変更することによって、様々な髪色のキャラクターを表現できると考えました。
髪の色ごとにSpine上でスキンを分けるのは管理が大変なので、Unity上でアタッチメントカラーを動的に変更したいのですが、どのようにコードを記述すればよいでしょうか?
スケルトン全体の色変化はMaterialPropertyBlocksでできたのですが、髪や目のパーツなど、特定のアタッチメントだけ色変化をする方法を探しています。

こんにちは!

アタッチメントのカラー変更をご希望とのことですが、アタッチメントは直接色変更ができないため、特定のパーツの色だけを変えたい場合は、スロットでカラーを変更することになります。

スロットカラーの変更は以下のようなコードで実現できます。

var slot = skeletonAnimation.Skeleton.FindSlot("変更したいスロット名"); //カラー変更をしたいスロットを探す
slot.SetColor(new Color(1, 0, 0, 1)); //新しいスロットカラーを設定(r.g.b.a)

何かご不明な点がございましたらお気軽にご質問ください。どうぞよろしくお願いいたします。

  • A leru le gusta esto.

こんにちは! いつもお世話になっています。
アタッチメントではなくスロットカラーでの変更、了解しました!
詳しいコードを載せてくださってありがとうございます。こちらを参考に実装したいと思います