ゲーム開発
Unity
UnrealEngine
C++
Blender
Houdini
ゲーム数学
ゲームAI
グラフィックス
サウンド
アニメーション
GBDK
制作日記
IT関連
ツール開発
フロントエンド関連
サーバサイド関連
WordPress関連
ソフトウェア設計
おすすめ技術書
音楽
DTM
楽器・機材
ピアノ
ラーメン日記
四コマ漫画
その他
おすすめアイテム
おもしろコラム
  • ゲーム開発
    • Unity
    • UnrealEngine
    • C++
    • Blender
    • Houdini
    • ゲーム数学
    • ゲームAI
    • グラフィックス
    • サウンド
    • アニメーション
    • GBDK
    • 制作日記
  • IT関連
    • ツール開発
    • フロントエンド関連
    • サーバサイド関連
    • WordPress関連
    • ソフトウェア設計
    • おすすめ技術書
  • 音楽
    • DTM
    • 楽器・機材
    • ピアノ
  • ラーメン日記
    • 四コマ漫画
      • その他
        • おすすめアイテム
        • おもしろコラム
      1. ホーム
      2. 20200718_01

      【Unity】Anima 2Dを使ってボーンアニメーションを作成する【にぎりめし君】

      Unityアセット関連アニメーションAnima2D
      2020-07-18

      マイケル
      マイケル
      みなさんこんばんは!
      マイケルです!
      エレキベア
      エレキベア
      クマ〜〜〜〜
      マイケル
      マイケル
      今日はAnima 2Dの使い方について紹介するよ!
      エレキベア
      エレキベア
      Anima 2Dって何クマ?
      マイケル
      マイケル
      Anima 2Dは、2Dのボーンアニメーションを作成できるUnityパッケージだよ!
      たとえばこの間作ったゲームのボスキャラを動かす時にも使ってたんだ!


      【Unity】初の自作アプリ「ゴーゴーゴロヤン」を振り返る


      ↑Anima 2Dを用いたアニメーション
      エレキベア
      エレキベア
      意外とぬるぬるな動きクマね
      マイケル
      マイケル
      なめらかな動きもできるし、
      3Dモデルでボーンアニメーションを作ったことがある人なら
      イメージもつけやすいしすぐに習得できるよ!
      エレキベア
      エレキベア
      そういえば前作ってたクマね


      【Blender】エレキベアの3Dモデルを作ってみた! 〜テクスチャ・アニメーション編〜

      マイケル
      マイケル
      今回は

      ・キャラクター素材の準備
      ・ボーンアニメーション作成

      の順で解説していくよ!
      エレキベア
      エレキベア
      クマ〜〜〜〜〜〜

      キャラクター素材の準備

      マイケル
      マイケル
      今回動かしていくキャラはこちら!
      \にぎりめし君/
      エレキベア
      エレキベア
      (小学生が書いたようなキャラクマ・・・)
      マイケル
      マイケル
      今回はこの「にぎりめし君」を以下のように、
      手足などの動かしたい部位ごとに分けて画像を書き出します!


      ↑レイヤー名をファイル名にして「右クリック -> PNGとしてクイック書き出し」で書き出せる

      マイケル
      マイケル
      部位ごとの画像の他に、全体の画像も用意しておくと
      のちのちパーツを組み合わせるのが楽になります!
      マイケル
      マイケル
      そして次にこのバラバラの画像を、
      Unityで扱いやすくするためAtlas画像(※1)という形式に
      変換します!


      ※1 Atlas画像・・・複数の画像を1つの画像にまとめたもの。

      エレキベア
      エレキベア
      アトラスオオカブトみたいクマね
      マイケル
      マイケル
      こちらを作成するには、
      無料で使える「Texture Packer」というWEBツールが便利です!


      Texture Packer Online

      マイケル
      マイケル
      使い方は簡単で、下記のように
      画像をドラッグして間隔や配置を指定してあげるだけで、
      いい感じに並べてくれます!
      マイケル
      マイケル
      これでキャラクター素材の準備は完了です!
      エレキベア
      エレキベア
      簡単だったクマ〜〜〜〜

      ボーンアニメーション作成

      マイケル
      マイケル
      画像の準備ができたら、次はUnity側での作業となります!

      Anima 2Dのインポート

      マイケル
      マイケル
      まずは、UnityにAnima 2Dをインストールしましょう。
      Asset Storeで検索して、インポートします!
      マイケル
      マイケル
      Examplesはサンプルなので必要ない場合は外しましょう!
      エレキベア
      エレキベア
      ワクワククマね

      Unityでの読み込み

      マイケル
      マイケル
      続いて、先ほど作ったAtlas画像(と全体の画像)をUnityにインポートします!
      マイケル
      マイケル
      Atlas画像については、複数画像で構成されているため
      SpriteModeを「Multiple」に変更しておきましょう!

      Atlas画像をSliceする

      マイケル
      マイケル
      設定が終わったら、Atlas画像を各パーツに分割します。
      インスペクターから「Sprite Editor」を開いて、
      Sliceタブより「Slice」ボタンを押下しましょう!
      マイケル
      マイケル
      すると下記のように各パーツが短形で囲まれて分割されます。
      もし細かく分割されすぎて、1つにまとめたい場合には
      短形を1つ「Cmd + Delete」で削除して、二つ分の範囲にまとめましょう!
      マイケル
      マイケル
      分割したら、各パーツの名前を分かりやすいようにそれぞれ付けましょう!
      エレキベア
      エレキベア
      目だったらEYE、足だったらFOOTみたいな感じクマね
      マイケル
      マイケル
      各パーツに名前をつけたらProjectウィンドウにもどって、
      Atlas画像を右クリックして、「Create -> Anima 2D -> SpriteMesh」を押下します。
      すると、同じフォルダ階層に各パーツ画像が出力されるので、フォルダを作ってまとめておきましょう!

      SpriteMeshを配置する

      マイケル
      マイケル
      次に、分割したパーツをScene上に配置していきます。
      Scene上にGameObjectを作成して、更にその配下にMesh用のGameObject
      後ほど追加するBone用のGameObjectを作成します!
      マイケル
      マイケル
      作成したら、Mesh用のObjectの中に切り出したSpriteMeshを配置していきます!
      この時下書き画像を敷いておくと合わせやすいです。
      マイケル
      マイケル
      配置して重ね順も調整したら、下書き画像は削除して完了です!
      エレキベア
      エレキベア
      にぎりめし君が組み上がったクマね

      Boneの作成

      マイケル
      マイケル
      画像の配置まで完了したので、次は動かすためのボーンを作成していきます!
      先ほど作ったBoneオブジェクトの中に、体の中心となるGameObjectを一つ作成して、Spriteの中心になるよう調整します。
      マイケル
      マイケル
      そして作った中心のObjectを右クリックして
      「2DObject -> Bone」よりボーンを作成します。
      マイケル
      マイケル
      Lengthや位置をオブジェクトに合わせて調整した後、名前をつけます。
      色が見えにくい場合はColor項目で変更しましょう!
      エレキベア
      エレキベア
      Lengthで長さが変わるクマね
      マイケル
      マイケル
      続けて、作成したBoneの下に新たにBoneを作成します。
      作成直後は親のBoneと繋がっている状態ですが、
      Child項目の設定をNoneにしてあげることで自由に動かすことができるようになります!
      マイケル
      マイケル
      同様の手順で、全体のBoneを作成しましょう!
      マイケル
      マイケル
      これでBoneの作成は完了です!
      エレキベア
      エレキベア
      にぎりめし君の骨格が出来上がったクマね

      BoneとSpriteの紐付け

      マイケル
      マイケル
      次に、作成したBoneとSpriteの紐付けを行なっていきます!
      マイケル
      マイケル
      SpriteMeshを選択して、下記のように
      InspectorのBonesに動きを紐づけたいBoneを登録します!
      マイケル
      マイケル
      各SpriteMeshに対してBoneを設定したら、
      SpriteMeshを選択した状態で「Window -> Anima 2D -> SpriteMesh Editor」
      SpriteMesh Editorを開きます!
      マイケル
      マイケル
      ここから、MeshのSliceや、バインドの設定をします!
      左上のSliceボタンを押下して、適当な値を入力してApplyボタンを押下しましょう!
      マイケル
      マイケル
      すると、上記のように自動でMeshをスライスしてくれます!
      これでBoneを動かした時により細かくMeshが変形するようになります!
      マイケル
      マイケル
      スライスしたら、次は左上のBindボタンを押下します。
      すると下記画像のように、Boneに色がついてSpriteMeshと紐づいた状態になります!
      マイケル
      マイケル
      Overlayにチェックを入れるとカラーで割り当てられている範囲が表示されます。
      その後はWeight toolのメーターを調整して、割り当てる範囲を調整しましょう!
      マイケル
      マイケル
      ここまでのSliceとバインドの手順を各SpriteMeshにも同様に設定すると、
      Boneに追従してSpriteMeshも動くようになっているはずです!!
      エレキベア
      エレキベア
      自由に動かせてたのしいクマ〜〜〜〜
      マイケル
      マイケル
      ここまで作成したら、デフォルトのポーズを保存しておきましょう!
      Projectより右クリック「Create -> Anima 2D -> Pose」でPoseファイルを作成します。
      マイケル
      マイケル
      作成したらキャラクターのオブジェクトに「Pose Manager」コンポーネントを追加して、PosesにPoseファイルを指定します。
      「Save」ボタンを押すと保存完了です!
      マイケル
      マイケル
      これで、Loadボタンでいつでも元のポーズに戻すことができるようになりました!

      Animationの作成

      マイケル
      マイケル
      ここまでできたらあとは好きなように動かしてアニメーションを作成するのみ!
      「Window -> Animation -> Animation」で、Animationウィンドウを開きましょう!
      マイケル
      マイケル
      CreateボタンでAnimationファイルを作成したら、
      通常のアニメーション作成と同様、キーを登録していきましょう!
      マイケル
      マイケル
      このように自在に動かすことができました!
      マイケル
      マイケル
      ちなみに、下記のように目のSpriteMeshに対して複数のSpriteMeshを割り当てて、
      切り替えることもできます!
      マイケル
      マイケル
      これでまばたきも再現できるようになりました!
      エレキベア
      エレキベア
      生きてるみたいクマ〜〜〜〜
      マイケル
      マイケル
      ここまででアニメーション作成の説明は以上です!
      エレキベア
      エレキベア
      おつかれクマ〜〜〜〜

      おわりに

      マイケル
      マイケル
      というわけで今回は
      Anima 2Dを使ったボーンアニメーションの作成でした!
      マイケル
      マイケル
      どうだったかな?
      エレキベア
      エレキベア
      キャラクターを動かせて楽しかったクマ〜〜〜
      マイケル
      マイケル
      絵に書いたキャラクターが動くなんて、感動ものだよね!
      エレキベア
      エレキベア
      自分で作ったキャラも動かしてみたいクマ〜〜〜!!
      マイケル
      マイケル
      エレキベアならきっとできるよ!
      いろんなの作って動かしてみようね!
      エレキベア
      エレキベア
      がんばるクマ〜〜〜〜!!
      マイケル
      マイケル
      それでは今日はこの辺で!
      アディオス!!

      【Unity】Anima 2Dを使ってボーンアニメーションを作成する【にぎりめし君】 〜完〜


      Unityアセット関連アニメーションAnima2D
      2020-07-18

      関連記事
      【Unity】Timeline × Excelでスライドショーを効率よく制作する
      2024-10-31
      【書籍紹介】「コンピュータグラフィックス」に出てくる用語をまとめる【CGエンジニア検定】
      2024-07-13
      【Unity】Boidsアルゴリズムを用いて魚の群集シミュレーションを実装する
      2024-05-28
      【Unity】GoでのランキングAPI実装とVPSへのデプロイ方法についてまとめる【Go言語】
      2024-04-14
      【Unity】第二回 Wwiseを使用したサウンド制御 〜インタラクティブミュージック編〜
      2024-03-30
      【Unity】第一回 Wwiseを使用したサウンド制御 〜基本動作編〜
      2024-03-30
      【Unity】第二回 CRI ADXを使用したサウンド制御 〜インタラクティブミュージック編〜
      2024-03-28
      【Unity】第一回 CRI ADXを使用したサウンド制御 〜基本動作、周波数解析編〜
      2024-03-28