のしメモ アプリ開発ブログ

Unityアプリとかロボットとか作ってるときに困ったこととかメモ

Unity2Dでボーンアニメーションできるスクリプトを試してみた

海外のUniteで発表されていた講演に
スクリプト2個(実質1個)でUnity2DでIK設定できちゃうよ!!!
って話があったので、実際にためしてみた

こんな人におすすめ

・Unityでボーンアニメーションしたい
・Unity上で2Dアニメーションを完結させたい
オープンソースがいい
・SpriteStudioとかUni2Dのツールはちょっと敷居高い(インストールやら契約やらドキュメント含め)

1. 準備

アニメーションさせたい画像を用意します(パーツはばらばらに)
魔法使いをがんばってかきました

SimpleCCDをダウンロードしてきましょう
http://forum.unity3d.com/threads/trouble-with-2d-inverse-kinematics.271028/
SimpleCCD.cs
SimpleCCDEditor.cs
の2ファイルです。
※ Editorの方はEditorフォルダーにいれないと動かないので注意

2. Unityに配置

SpriteでMultipleできって、親子関係を作りますよ〜

・Pivotはまわる箇所に配置しましょう。顔なら首、腕なら肩とか、ひじ
・手の座標(空のオブジェクトでよし)も子供として置いておきましょう

この時点で回転に関してはそれっぽい感じになります

3. SimpleCCDをつけてみる

上の腕にSImpleCCDをアタッチします
IKのターゲットを配置してTargetの項目にセット。(最初は手と同じ場所ぐらいで配置してみた)
EndTransformには2.で配置した手のオブジェクトをセット

設定するとこんな感じになります

ひじがボッキボキですね〜

4. 角度設定をしてみる

SimpleCCDのAngleLimitsに下の腕をセットさせて、最大角度と最小角度をいい感じに調整しましょう
ひじに角度設定します。これでひじの心配はいりませんね〜

5. アニメーション作ってみる

あとはTargetをいじるだけで、簡単にアニメーション作れちゃいます。
さくっと作ってみてこんな感じ


実際に1ファイルだけ見ればいいので、
なにかあった場合の対応も楽なのでいいですね〜


参考にした講演はこちら