こんにちは。いつもSpineにお世話になっております。
素晴らしいツールをありがとうございます。
キャラクターの肌や髪といった一部のパーツをUnity上で色変更したいです。
同時にSpineアニメーション上でSlotカラーの変更を両立する方法を探しています
URL
Unity上で髪や肌など特定のパーツを色変更するには、スロットカラーの操作を推奨しているとのことでした。
しかし、Slotの色変更を使用すると、Spineエディタで制作したアニメ上のSlot操作とバッティングするため、アニメ上でSlotの色操作ができなくなってしまいます。
■具体例
肌の色が異なる3種のゴブリンは、異なるスキンを用意するのではなく、
白い肌色でゴブリンを作成し、コード上で肌のSlotカラーを変更することで実現できました。
彼らを消滅させたり出現させる際、瞬間表示ではなくフェードで出現させたいです。
そこでSlotカラーをフェードするアニメを作ったのですが、動画のように、設定していたカラーがデフォルトの白に戻ってしまいます。
Spineエディタ上ではゲーム上のキャラクターがどの肌色に設定されるか知りようがないため、FFFFFFFFを基本として操作するしかありません。
キャラクター全体をフェードさせるだけであれば、MaterialPropertyBlocksなど代替方法がありますが、
アタッチメントを切り替える際にフェードで瞬間表示のチラつきを軽減させる等、アニメでSlotカラー変更を用いたいケースは多いです。
そのためSlotカラーと競合しない、肌や髪パーツの色をゲーム上で設定する方法を必要としています。

実際のところ、セットアップ画面で変更できるアタッチメントカラーはSlotカラーと競合しません。
そのためアタッチメントカラーを、Unity上で動的に変更できれば、問題が解決できそうなのですが、APIリファレンスにアタッチメントには色変更のメソッドは見つかりませんでした。
上記の課題をどのように解決したら良いでしょうか?
ご助言を頂けたら幸いです。