AssetStore-AnyPortraitを使ってみた!2Dアニメーション制作

Unity Asset

どうもトミです。

キャラクターに動きをつけたいけど、難しそうとか、やり方が分からないとかで困っていませんか?そんな貴方のため、パーツ画像一枚だけで2Dアニメーションを作成できるアセット(AnyPortrait)をご紹介します。

AnyPortraitを使えば初めての方でも簡単にヌルヌル動くアニメーションを作れます!
今回はAnyPortraitを使って簡単なアニメーションを作ってみますので是非最後までお付き合いください。

この記事を読めばこのようなアニメーションを作れます

AnyPortraitとは

AnyPortraitは一言でいうとUnityの拡張エディターでシンプルにアニメーションを作成できるツールです。

公式チュートリアル動画(英語)

AnyPortraitで出来ること

-強力なGUIエディターで作業します。
-さまざまなツールを使用して2Dメッシュを簡単に作成できます。
-PSDファイルを開いてキャラクターを自動的に作成します。
-クリッピングマスクメッシュをサポートします。
-さまざまな種類の修飾子。
-頂点モーフィング。
-FFD、ソフト選択、頂点モーフィング用のぼかしツール。
-カラーアニメーションによる変換。
-IKをサポートするボーンを追加します。
-リギングとボーンアニメーション。
-キャラクターを制御するための複数の制御パラメーター。
-コントローラーパラメーターを使用してキャラクターの各部分を制御することにより、生きているキャラクターを作成します。
-いくつかの修飾子を設定して、動的で複雑なアニメーションを構成します。
-Physic Modifierを追加して、慣性効果と弾性効果を適用します。
-キーフレームアニメーションを作成するためのリターゲットとポーズスナップショット。
-スクリプトのアニメーションイベント。
-10の言語(英語、韓国語、フランス語、ドイツ語、スペイン語、デンマーク語、日本語、中国語、イタリア語、ポーランド語)をサポートします。
-加速されたアニメーションのアニメーション曲線。
-より自然なループアニメーションを作成するために、自動ループキーフレームと呼ばれる手法が適用されます。
-Bone IK、メッシュカラー、ブレンドアニメーションなどのさまざまな機能を制御するスクリプトAPI。
-イラスト、ジョイントキャラクター、動く小道具など、さまざまなオブジェクトに。
-ホームページ上の初めてのユーザーチュートリアル、リファレンスドキュメント、スクリプトAPI、および実行可能なサンプル。
-並べ替えレイヤー/並べ替え順序をサポート
-高度なスクリーンキャプチャ
-サポートスプライトシート
-Mecanimでアニメーションを制御する
-外部ボーンを使用するIKコントローラー
-自動キー
-自動メッシュ生成
-3Dゲームのパースペクティブカメラをサポート
-ビルボード機能
-MP4ビデオのエクスポート
-軽量レンダリングパイプラインがサポートされています
-ユニバーサルレンダリングパイプラインがサポートされています
-Unityのタイムラインがサポートされています
-マテリアルライブラリ
-VRがサポートされています
-ジグルボーン
-同期を使用してキャラクターのコスチュームを置き換える

AnyPortraitを使ってみよう

今回は英語のチュートリアルを日本語で作りながら解説していきたいと思います。

AnyPortraitをインポートしてエディターを起動しよう

Window => AnyPortrait => 2D Editor の順でエディターを起動しよう

開いたら、こんな感じのエディターが表示されます。

AnyPortraitエディター

起動できたら「Make New Portrait」をクリックする

任意の名前を決めて「Make Portrait」をクリックする。ここではSlimeで進めます。

Make Portraitしたら左サイドがこのように表示されます。

ここまで来たら早速アニメーションを作っていきましょう

1.Images – 対象キャラクターのパーツ画像(psd,pngなど)を用意する

用意した画像をロードしておく

Add Image」をクリックしてベースとなる画像を選択してください。

クリックしたら右サイドはこのような表示されます。
Select Image」をクリックする

対象の画像を選択して「Select」をクリックしてください。するとこのような画面になります。

2.Meshes – 各部位のメッシュ作成

続いて各部位のメッシュ作成をしよう

Add Mesh」をクリックしよう。すると右サイドはこのようになります。
Nameのところに「Body」を入れます。

Make Mesh」をクリックしてください。すると頂点とラインを設定できる状態になります。

頂点の打ち方:
マウス左クリックで打つ。右クリックでキャンセル・削除

Shiftキーを押しながら打つとラインの交わる所に自動で頂点が挿入される

Bodyの頂点はこんな感じで打ってみましょう

頂点を打ち終わったら「Make Polygons」→「Pivot」の順でクリックしてください。

そうしたらBody以外が消えた状態の画面になります。Bodyを画面の中央に持ってくるようにしましょう。(黄色い線が交わるところ)

Bodyのメッシュと同じ要領で下記のすべてのメッシュを作っておきましょう。

3.Mesh Groups – 作成したメッシュの位置・サイズの調整

各部位のメッシュを作ったらMesh Groupを編集しよう

Add Mesh Group」をクリックしてください。NameをSlimeにします。

」→「Select All」→「Add」でMesh Groupを作成しておきます。

「Edit Default Transform」をクリックして、編集状態にする

ここまでやると、すべてのパーツが真ん中に集まって表示される画面になっているかと思います。
これから各パーツの位置とサイズと回転を調整していきます。

ショートカットキー
W:パーツの移動
E:パーツの回転
R:パーツのサイズ調整

パーツを選択してあるべき位置に持っていくように、いい感じに調整してみよう。
目のアイコンはパーツのOn/Offの切り替えができます。

参考にこのように調整してみました。

4.Control Parameters – アニメーションをつけるためのパラメーター作成

Control Parametersはアニメーションをつけるためのパラメーターの作成を行います。
チュートリアルでは以下のパラメーターを作成します。

  • 目(Eye Shape)
  • 口(Mouth Shape)
  • エモーション(Emotion)
  • 縦方向移動(Vertical Position)

Add Control Parameter」をクリックして各種のパラメーターを作成しよう

Eye Shapeの設定
Mouth Shapeの設定
Emotionの設定
Vertical Positionの設定

5.Mesh Groupを選択してアニメーションをつけよう

作成したMesh Group(Slime)をクリックする

Transform(Controller)を使って目や口の動きを作ろう

Modifier → Add Modifier → Transform(Controller)」の順でクリック

先にEye Shapeの設定をしていきます。
赤い点(レコードボタン)をクリックしてスライドして・・・

以下の図のように、これを4回繰り返す

Shiftキーを押しながら、Eye 1〜Eye 4を選択する

Add to Keys」をクリックしてください。

「Add to Keys」をクリックすると図のように緑のマークがつくようになります。

Transform(Controller)の「Color Option On」を有効にします。

Color Option On」を有効にすると図のように黄色い目のマークが表示されます

ここまで完了したら、目のアニメーションの切り替えの設定をやっていきます。

先程のスライドを0にして、Eye 1の黄色いのマークのみをONの状態にしてください。

同じようにスライドを1にして、Eye 2の黄色いのマークをONの状態にします・・・
同じ要領でEye 4までやってください。

Eye 4までやったらスライドを左右にずらしてみてください。スライドの状態によって目の動きが切り替わるようになっているかと思います。

ここまでは目の動き(Eye Shape)のアニメーションを作成できました。

続いてMouth ShapeとEmotionについても同じ要領でやってみてください。
ただしEmotionの0番目は何も割り当てないように注意してください(Noneの状態=何も表示しないため)。
Emotionの1番目はEmotion 1、2番目はEmotion 2、3番目はEmotion 3になるように設定しておいてください。

Morph(Controller)を使ってジャンプアニメーションを作ってみよう

スライドの値が0と1のところでレコードキーを打ちましょう(赤い点

スライドの位置を1にして、スライムのBodyをクリックして、それからBodyのすべての頂点を一括で選択して上へずらしてみてください。どこまでズラせばいいかは、ジャンプのおおよその高さをイメージして適当にしてみてください。

もし緑のマークが付いていない場合は、「Add to Keys」を押してください。
Bodyのすべての頂点を選択した上で上へずらす
移動のショートカットキーはW

スライドを25%(0.25)の所へ持っていき、レコードキーを打ってください。

それからBodyのすべての頂点を選択した上で、FFD(Free-Form Deformation)ボタンを押してください。

Ctrl(Command)ボタンを押しながらFFDボタンを押すと頂点の数を決められる

すべての頂点を選択して
FFDボタンをクリック
このような四角い枠線が表示されます

一番上の段の3つの点を選択して、下へ少しずらす

中段の3点を選択して、同じように下へ少しずらす

同じ中段の左右の点を左右に引っ張るようにずらす

ずらし終わったら最後にチェックボタンを押して保存しましょう。

Bodyのアニメーションを作成したら、それ以外のパーツのアニメーションはBodyの位置に合わせて作っていきます。
まずはすべて選択して「Add to Keysで追加してください。

それからスライドのずらして、それぞれ0、0.25、1の状態のアニメーションをBody位置に合わせて作っていきます。

例えばスライドを1にした時の枝(Blanch)の位置はこんな感じでしょうか?

同じように他のパーツもあるべき位置に持っていくように調整しましょう。

パーツ同士が重なって分かりづらい時は目のマークをOFFにするといいでしょう。

BodyとBlanch以外の目のマークをOFFにした状態

スライドの値が0.25時の枝はBodyの縮む具合に合わせて、少しスケールを小さくしてやるとより生き生きとしたアニメーションになると思います。

スケールショートカットキー:R
回転ショートカットキー:E

6.Physical Effects(物理効果)を追加しよう

Physical Effectsはスライムにプリンのような質感をつけるためです。

Bodyを選択して「Add to physics」をクリック

Physics Presets」-> 「Robber Soft」の順に選択しよう

Bodyの全頂点を選択し、「Viscosity Group ID」を1に、Weightを1に設定してください。

設定するとこのようになり、各頂点に重りが付いている状態になります。

TOPとBottomの頂点のWeightを0に設定します。

左右の2頂点(下図青い丸)をImportant Vertexにします。

より自然な質感になるように、WeightをBlendしていきます。
下図の赤枠で囲まれた部分の頂点を選択して、「Blend」を5〜6回クリック

更に下図のように、赤枠で囲まれた頂点を選択して「Blend」します。(4,5回)

7.Bake(書き出し)してGameViewで確認しよう

最後にBakeしてゲーム起動して確認しましょう。

Mesh Groupsの「Slime」を選択して「Setting」→「Set Root Unit」をクリックして、親オブジェクトにしましょう。

「Bake」ボタンで書き出しを行います。

書き出し終わったらAnyPortraitエディターを閉じてゲームを起動してみましょう。

Bakeした際、出たらConvert the ambient color to blackにしておこう

以下は確認しやすくするための設定です。

Directional Lightを削除しよう
メインカメラの設定

まとめ(成果物)

長い記事、本当にお疲れさまでした!

こんな感じでかわいいスライムのアニメーションができました!

AnyPortraitの使い方を覚えればクオリティの高いアニメーションでも比較的に手軽にできるので、是非導入してみて如何でしょうか?

コメント

タイトルとURLをコピーしました