きっポグ

- kitposition's weblog -

3Dキャラクターモーション作成ツールの新星「akeytsu」に(ちょっと)迫る ~その0:Unityがあるのになぜakeytsu?

f:id:kitposition:20160207222731p:plain

 さて、前回書いた通り、このブログの最初のネタとして、3Dモーション作成ツール「akeytsu」をご紹介していきます。が、今回はプロローグとしてakeytsuそのものではなく、Unityでアプリ作成を行っている私がなぜakeytsuというツールをも使用するのか、その辺の事情を書きます。そんな訳で今回は実際にUnityを使用している開発者の方にとっては当たり前で面白くないです。ごめんなさい。というかこのブログは今後も大体そんな程度の話ですが(^^;

UnityといえばMecanimだけど…?

 私が今回やりたかったのは、「ユニティちゃんにオリジナルのモーションで動いてもらう」ことです。

 Unity4以降、キャラクターを動かすといえば「Mecanim」ですね。入門書などでも大抵「キャラクターを自由に動かそう!」みたいなタイトルでMecanimの使い方が書いてあります。 

 例えば今、「歩く」「走る」「ジャンプする」「剣を振る」という4つのモーションが既にあった場合、Mecanimでは次のようなことができます。

  1. 特定の条件によるモーション間の遷移
    例)Bボタンを押すと走る、Xボタンを押すと剣を振る
  2. 複数のモーションの組み合わせ・ブレンド
    例)AボタンとXボタンを押すとジャンプした状態で剣を振る
  3. 部位によって異なるモーションの適用
    例)下半身は走った状態で、上半身は手を振ったりうなだれたりする

下の写真はユニティちゃんに付属するAnimation Controller(略称Animator、Mecanimシステムの中核)の構造、いわゆるステートマシンと言われるものですが、これによってUnityではコードを(あまり)書かずにモーションの制御が可能です。

f:id:kitposition:20160207211833p:plain

 でももし剣を振るモーションが不満だったら?または壁を登るモーションがほしくなったら?実は上の写真でなんとなくわかるかと思いますが、Mecanimは「既に存在するモーションを組み合わせ、制御する」システムで、その部品となる個々のモーション(Animation Clip)自体を作成・編集することはできなのです。*1

アニメーションウインドウでモーション作成はできるか?

 では、Unity上では新しいモーションを作ることができないのか?というと実はそうでもなく、個々のAnimation Clipは「アニメーションウインドウ」で編集することができます。これを使えば突っ立った状態のモデルにポーズをつけることもできるし、既存のモーションを改変することもできます。例えば下の写真は、ユニティちゃんに付属するAnimation Clipの1つをアニメーションウインドウに表示させたものです。*2

f:id:kitposition:20160207213414p:plain

 …が、現実にはこのアニメーションウインドウでは、立方体をステージ狭しとギューンと飛び回らせるとか、そういうアニメーションには強いのですが、人間型のモデルに意図したモーションをさせるというのはかなり困難です。
 しかも、入門書等でのアニメーションの記述はMecanimの操作が中心で、アニメーションウインドウの使い方はあまり書かれていない(場合によってはそういうことができること自体触れられていない)ため、初心者にとっては情報が少ないように感じます。

 そんな訳で、私は新しいモーションは他のツールで作成してUnityに持ち込むことにしました。*3
 で、候補となるツールをいくつかピックアップしたのですが…
 (以下全部私の主観なのでツッコまないでください)

  • Blender:凄いツールだけど操作が超絶難しい、というか変
  • Maya:プロ用で難しそう&LTにしてもまだ高い
  • Miku Miku Dance:Unityとのデータのやり取りがやや面倒

 といったことでどれも今一つなじめませんでした。そんな時に、「3D人」様の記事で知ったのが「akeytsu」です。

3dnchu.com

3Dツールの新星"akeytsu"とは…?

 akeytsuの詳しい紹介は次回にしますが、簡単に書いておくとこんなツールです。

  • フランスnukeygara社製で2015年に誕生したばかり
  • 2016年2月7日現在ベータ2.1が無料で使用可能
  • 正式版(リリース時期は未定)ライセンスはindieが79ドル、proが279ドルを予定。今ライセンスを購入するとそれぞれ10ドル、30ドル値引きされる
  • Blenderなどのようにモデルの作成からモーションまでなんでもできる統合型ではなく、モーションとリギング(骨組みづくり)に特化している
  • FBXフォーマットを採用しているためUnityやUE4との親和性が割と高い
  • Windowsのみ、要グラフィックボード(詳しくはここの最下部

 私は貧乏なのでまだライセンスは購入していませんが、正式版が出たら現在の無料ベータ版はなくなってしまうらしいです*4。とはいえ、Mayaを買うのに比べれば破格です。

 また、アニメーションに特化しているのでakeytsuでモデルを作ったりはできませんが、BlenderやMayaが何でもできる統合型ツールゆえに操作が難しいのに対して、akeytsuは非常にユニークで直感的なUIで、私のような3DCGの経験がない者でもとても使いやすい印象です。

 という訳で、現在制作中のアプリで使うユニティちゃんのモーションを作るにあたってはakeytsuを使用してみることにしました。私自身まだまだ使い始めたばかりでわからないことも多いのですが、次回はもう少し詳しくこの新しいツールを紹介していきます!

*1:正確には、組み合わせやブレンド機能を利用して既存のモーションを組み合わせることで全体として新しいモーションを作り出すことはできるし、その制御の自由度は凄いのですが、さすがに限界はあります。

*2:ユニティちゃんのような出来合いのモデルのアニメーションは読み取り専用で、編集するには一工夫必要ですがここでは省略します。

*3:実は、Unityの機能を拡張し、Unity内でモーションの作成をやりやすくするアセットは存在します。中でも「Skele」は一通りのモーション作成機能を持つうえ、カットシーン編集や頂点モーフアニメなど様々な機能が入っている凄いアセットです。残念ながら私はまだ操作になじめていませんが、ゲームを作っているUnityのシーン内でモーションを作れるというのはとても魅力的です。機会があれば紹介したいと思います。

*4:その代わり30日体験版が用意されるようです。