UnityでSpritestudioのアニメの表示ができた
動画のような感じで、立ち絵を切り替えたりオンオフができるようになりました!
ちなみにトーコちゃんしかまだちゃんとつくっていないのでナオくんは動かないのです。
Spritestudioで立ち絵をつくったのはいいんですがこれどう表示するんだろう?といろいろ調べまして、個人的にためになった方法を載せたいと思います。
・Unityにアニメーションを置いたときのサイズが大きすぎる
⇒TransformのScale-XとScale-Yを(約)0.0139に設定する
縦サイズが720pの場合はこちらで解決します。
くわしいことは公式のリファレンスで確認できます。
・アニメーションを切り替えるには?
これも公式のリファレンスにあるんですが、今回は下記のようなスクリプトで切り替えてます。
//アニメ再生Root
Script_SpriteStudio6_Root scriptRoot;
//アニメ再生してるオブジェクト
public GameObject[] charaObj = new GameObject[2];
//アニメ再生するRootの参照
public Script_SpriteStudio6_Root[] charaRoot = new Script_SpriteStudio6_Root[2];
・
・
・
private void AnimChange(int dare, string 再生するアニメの名前, int ループ回数)
{
scriptRoot = charaRoot[dare];
int index = scriptRoot.IndexGetAnimation(再生するアニメの名前); //アニメーション番号を取得
//ここで再生
scriptRoot.AnimationPlay(-1, index, ループ回数, 0, float.NaN, Library_SpriteStudio6.KindStylePlay.NO_CHANGE, null, int.MinValue, null, int.MaxValue);
}
動かしたいキャラが二人なのでcharaRootは二人分取得して、〇〇_Controlの中のプレハブをインスペクターで設定しています。
fpsを変えたりもできるんですが今回はたちまち切り替えがしたかったのでこんな感じで。
charaObjはSetActiveで消したり表示したりするための設定ですね。
動画だとトーコちゃんをクリックしたあと目パチアニメにもどります。これは再生終了を取得して…って感じでできるそうなんですが今回はもうDOTweenでディレイしてループアニメに切り替えてます。
あくまで立ち絵として使いたかったので、2Dアクションみたいな複雑なことはできませんが満足です!!
しかし動画で見ると自分のマウスの動きが毎回キモくてなんとも言えない気持ちになりますね。
この記事にはコメントできません。