はじめに
Unityで棒人間ゲームの作り方を解説している記事があまり多くない印象だったので書こうと思いました。
誤情報、もっと簡単に作れる部分などがありましたらコメントにて教えていただけると嬉しいです。
ちなみに、boneの追加・アニメーションの部分は棒人間以外にも使えます。
棒人間を描く
まず、棒人間をペイントなど、簡単なお絵かきソフトでいいので適当に描いてください。
画像のサイズは気にしなくていいです。(キャラに合わせようとしなくていい)
画像の保存形式によっては次の作業ができない場合があるかもしれません。
そうしたら、その画像をUnityのプロジェクトのAssetsフォルダに保存してください。
Unityで作業をする
bone(骨)を作る
Unityで棒人間の画像を選択してください。
そしたら、Inspectorの上の方にあるSprite Editorというボタンを押してください。
3Dゲームだとできないかもしれません
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F3572788%2F57e772ef-a37c-f031-aa64-ca6d4fed1bab.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=d22c635852c61fe212ff1d976d268ec6)
Sprite Editorを開いたら、左上のSprite Editor▼と書かれたところを押してSkinning Editorを選択します。
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F3572788%2F5c542a71-5bf7-58f7-ace2-288dfa4ff810.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=680d98d2880550e4569d94a8a4dd811b)
左側に出てくるCreate Boneというやつを選択して、画像をダブルクリックしたらなんか色々出てきて、カーソルの部分にポインタみたいなのが出てくると思います。この状態になったらboneが作れます。
Boneの作成
まず、股間から首にかけて最初のboneを作る(多分赤い)
次に、ポインタが別の色(多分黄色)になると思うので、そのまま頭のてっぺんまでboneを作る
次は、そのまま作らずに、エスケープキーを押してから股間にある丸をクリックし、腕の付け根の場所でクリックしたら、腕の真ん中らへんまでboneを作り、さらに先までもう一つのboneを作る
次も同じようにもう一つの腕にboneを作る
足は、股間にある丸をクリックして、腕と同じようにboneを作る これを二回やる
boneを作った時に出てくる新しいboneを作るためのやつは、エスケープキーで消せます
説明がわかりにくかったらすみません。
下の画像のようになればいいです。
Boneを適用
Bonesメニューのちょっと下にあるGeometryのAuto Geometryを選択します。
そして、Generate For Selectedというボタンを押すと画像が急にきれいになると思います。
それができたら、boneをぐりぐり動かしたりすると、棒人間の方も動くようになると思います。
最後に、上のApplyボタンを押して完成です。(Applyしなかったら今までのが全部無駄になります)
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F3572788%2F32bc8a9c-f517-7b20-4004-7d19b0a0f29e.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=843807a7d72a0118ca5df1524824e7f5)
アニメーションを設定する
準備
まず、できた棒人間をSceneにドロップします。
まだ、boneが出てきていないと思いますが、棒人間にSpriteSkinコンポーネントを追加して、出てきたCreate Boneボタンを押すとboneが作られます。
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F3572788%2F22d8ea91-96b4-7983-f8bf-15b9d6940e17.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=f5f5094ca20891c14da8b62c49be3037)
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F3572788%2F98e4f782-2b38-a389-14e4-7913ad9410b1.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=543dbd5a6722360d0db535aa017364ba)
上の方にあるWindowメニューから、Animation->Animationと押して、Animationを開きます。
そして、Hierarchy上にある棒人間のオブジェクトを選択し、Animationウィンドウにある、Createボタンを押します。
そうすると、新しくアニメーションのファイルを作るよう言われると思うので、Runという名前で作ってください。
(画像は省略します)
走るアニメーションを作る
Hierarchyウィンドウ上で、棒人間の子オブジェクトのboneを全て選択して、InspectorのTransformのRotationと書かれた場所を右クリックし、Add Keyを押してください。
Add Keyが出てこない時は、Animationウィンドウを開いて、白い線(時間を表すやつ)を左右に動かして、0の場所に持ってきてください。そうすると、出てくると思います。
boneの子オブジェクトにboneがあることもあるので、注意してください。
そしたら、Sceneウィンドウに戻って、棒人間を下のように変形させてください。boneの角度だけを変えるようにしてください。
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F3572788%2F330eb660-d694-57fd-a722-c4996b69ba50.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=c79ca74af6e32ccfd4e4c514241d229b)
それでは、最初と同じように、Update Keyしてください。
次に、Animationウィンドウで、白い線を右に動かして0:10と書かれた場所に移動させてください。
また、boneを変形させて下のようにしてください。
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F3572788%2Fc7621dac-6652-25fa-3442-42f3ad4725d3.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=5271e0f9cb1514b0320f1986e2ba0ca7)
その状態で、Add Keyします。
最後に、Animationウィンドウの白い線を0:20に移動させ、棒人間を下のように変形させて、Add Keyしてください。
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F3572788%2Faefcf39b-2b88-2e79-3698-1eaa3a6d0293.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=c048c7bbcab61820768320c78d1d7f8c)
これで、Animation自体は完成です。
自分で調整とかもしてみてください。
これを参考にして、他にもいろいろなアニメーションを作ってみてください。(ジャンプのアニメーションや敵を殴るときのアニメーションなど)
Animatorの設定
多分、Assetsに[棒人間のオブジェクト名].controllerというファイルができていると思います。それをダブルクリックすると、Animatorというウィンドウが開くと思います。
そして、ウィンドウ上には、AnyState、Entry、Exit、[棒人間のオブジェクト名]、Runというブロックがあり、Entryから[棒人間のオブジェクト名]に向けて矢印があると思います。
そしたら、[棒人間のオブジェクト名]ブロックを右クリックして、MakeTransitionを押し、Runに矢印を繋げてください。
そして、最後にPlayボタン(ゲームを動かす時の矢印っぽいやつ)を押すと、走るアニメーションが動くと思います!
終わりに
次回は、このアニメーションをスクリプトから操作する方法について解説していきます。
次回のができたら、ここにリンクを貼ります。
次回の記事↓