koyu

rapture_20211223034001.jpg

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

Misaki

こんにちは!

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

スロットカラーの変更は以下のようなコードで実現できます。
var slot = skeletonAnimation.Skeleton.FindSlot("変更したいスロット名"); //カラー変更をしたいスロットを探す
slot.SetColor(new Color(1, 0, 0, 1)); //新しいスロットカラーを設定(r.g.b.a)
何かご不明な点がございましたらお気軽にご質問ください。どうぞよろしくお願いいたします。
User avatar
Misaki

Misaki
  • Posts: 844

koyu

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


Return to 日本のSpine ユーザー