海外の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ファイルだけ見ればいいので、
なにかあった場合の対応も楽なのでいいですね〜
参考にした講演はこちら