• 日本語
  • UnityのSkeletonGraphicでSkinが反映されない場合があります

public SkeletonGraphic SG;
Skin SkinSG = new Skin("Base");
SkinSG.AddSkin(SG.Skeleton.Data.FindSkin("Test"));
SG.Skeleton.SetSkin(SkinSG);

このようなスクリプトを作成しました。
エラーなどはないのですがスキン反映されないことがあるようです。

SpineUnity:spine-unity-4.0-2021-10-02
Spine:
Unity:2020.3.19f1

インスペクターからSkinを直接反映させると出てくるのですが、スクリプトで対応してもできないようです。
問い合わせから該当プロジェクトお送りします。
ご確認お願いします

Related Discussions
...

こんにちは、ご質問の件ですが、スキンが反映されないのはsetSkinの後にsetSlotsToSetupPose();を記述されていないからかと思います。
setSkinのAPIリファレンスに説明がありますが、スキンを変更した後に実際にアタッチメントの表示をリセットするにはsetSlotsToSetupPose();を呼び出す必要があります。
http://esotericsoftware.com/spine-api-reference#Skeleton-setSkin

具体的には、現在のコードの最後に

SG.Skeleton.SetSlotsToSetupPose();

と追加していただければ解決すると思います。

ちょうど、なぜsetSlotsToSetupPose();を使用しないといけないのかという質問と回答の投稿がありますのでこちらも合わせて参考にしていただければ幸いです。
http://esotericsoftware.com/forum/How-to-properly-set-update-a-skin-16109?p=70484&hilit=setSlotsToSetupPose+%3B#p70484

かしこまりました!
ご回答ありがとうございます!
さっそく修正してみたいと思います、助かります!

参考になったようで良かったです!また何かありましたらお気軽にご投稿ください 🙂