TV今回はリギングです。リギングとはアニメーターがキャラクターを動かすための仕組み(リグ)を作ることです。スケルトンとスキニングのみで構成されたリグ無しキャラクターで、ポーズ・アニメーションをつけるなんてとてもじゃないけどやってられません。アニメーターがキャラクターを直感的に分かりやすく、動かしやすくするための工程がリギングです。部分(髪、服、装飾品等)は自分でカスタムリグを組まなければなりません。今回は基礎的なリグをご紹介するためにも、全身をカスタムリグで作成していきます。大事なことさて、リグはスケルトンやメッシュを直接触るのではなく基本的に全てコントローラーと呼ばれるもので制御できるよう組んでいきます。このコントローラーが、分かりやすく、動かしやすくという点で特に重要な部分です。コントローラーがもしも全て無色のLocatorで構成されていたら、一目見て何を触ったらいいか分かりませんよね。コントローラーの形状、色分けにも気を使って作成していましょう。使わないアトリビュートはロックした上で非表示にしてしまいましょう。余計なアトリビュートが表示されたままだと「何か意味があるのかな?」と混乱を招く原因となってしまいます。リグを複雑にしてコントローラーを増やしすぎないことも大切です。いろいろなことが出来るようになってくると、つい高機能万能リグを作りたくなってしまう方もいるかと思います。僕もそのうちの1人ですが、、、「わかりにくい!」「コントローラー多すぎ・・・」「重い!」と苦情の嵐になるのがオチです。アニメーターの目線になって極力シンプルで扱いやすいリグを心がけましょう。スケルトンの作成ベースとなる人型のスケルトン構造は、命名が既にされているHumanIKのスケルトン作成機能を使って作ってしまいます。00:00~]必要なジョイントを作成したら細かい位置調整を行います。移動、回転ツール、各種スナップ機能を使って適切な位置に配置しましょう。01:30~]スケルトンに回転値が入ったままの状態は原則NGですが、後で全てきれいにするので現段階では気にせず配置に専念します。配置が出来たらジョイントの方向を編集します。ジョイントの方向は間接の回転に密接に関係するとても重要な情報です。回転値を元に何か別のものを制御したい場合なんか特にこの情報が重要になってきます。難しいことを考えてもしょうがないので、以下の画像ように『X軸がねじりの方向(子のジョイントの方向)』『Y軸orZ軸が折り曲げる方向』に向いていればOKです。ジョイントには回転や方向に関するアトリビュートが複数あり一見ややこしいのですが、結果的に以下の画像のようになるよう設定していきます。具体的には以下の工程で設定を行っていきます。11:00~]1「ジョイントの方向付け」でねじりの方向の軸を設定する。2子のペアレントを一時的に解除し、Y,Z軸の方向を手動で設定する。3「トランスフォームのフリーズ(ジョイントの方向オプションOFF)」を行う。※回転が0になり差分がジョイントの方向に変換される。4ペアレントを再設定。コンポーネントモードで「?」右クリックから「ローカル回転軸」にチェックを入れても同じようなことが出来るように見えますが、こちらは「ジョイントの方向」でなく「回転軸」というアトリビュートに数値が入ります。この状態では回転の軸とスケールの軸がずれてしまうので、原則使用しません。全ての方向設定が終わったら、ミラーリングをして反対側にジョイントをコピーしましょう。21:40~]同様の作業を繰り返し、髪や装飾品にも必要なスケルトンを作っておきます。コンストレイントとユーティリティノードのコネクション腕はFKとIKを切り替えられるように組んでいきます。FK、IK共にダミーを作成し、コンストレイントの切り替えにて行う方式です。ダミージョイントにIKを作成したらあとはほとんどがコンストレイントとユーティリティノードを駆使したコネクションによる構築作業です。01:30~]ここでよく使うユーティリティノードを一部紹介します。11:42~]2つのベクトルの間の角度を返します。単純なオイラー角の差ではなく最短で返してくれるので、180°を超える角度が返されることはありません。12:28~]掛け算、割り算に加え累乗の計算も出来ます。・プラスマイナス平均(plusMinusAverage)足し算、引き算、平均の計算です。15:40~]『0~1』を『1~0』に反転させます。On/Offのスイッチに使えます。・条件(condition)条件分岐、プログラミングで言うif文です。同等(=)、不等(!=)、大なり(>)、以上(>=)、未満(<)、以下(<=)の6つが選べます。ちなみにドリブンキーは、メカの変形のような複雑な動きをひとつのコントローラーで制御したりするときに役立ちますが、シンプルな構造であればコネクションベースで構築してしまいます。いうのも、ドリブンキーはあくまでも“キー”ですのでアニメーションカーブノードが作成され、チャンネルボックスの該当アトリビュートは赤色に変わります。リグのシステムに関わる部分はアニメーターが触らないよう隠しておくのがベストですが、アニメーションを一括削除しようとした時にうっかりドリブンキーまで削除してしまう可能性を考慮すると、シンプルなものはできるだけコネクションベースで構築したほうが安定性が増すのではないかと僕は考えています。全部位の解説は出来ませんが、同様に脚や背骨に関してもIKやコンストレイントを駆使してリグを構築します。スキニングスキンのウェイト調整はなかなか入念な作業になります。関節の数と可動範囲、パーツ数を考えると破綻なく綺麗な変形をするには多くのパターンのポーズを取って確認する必要があります。動画ではざっくりとした調整で済ませていますが、この後さらに細かいチェックを繰り返し丁寧に調整をします。前バージョンから追加されている多面体ボクセルによるスキンバインドは、必ずしも万能ではないですがボタンひとつでかなり綺麗な状態まで持っていくことが可能になりました。01:53~]細かい部分はペイント又は数値入力で調整していきましょう。04:54~]調整ができたらミラーリングをして完了です。13:45~]ハイブリッドフェイシャルリグフェイシャルリグは大きく分けてジョイントによるものとブレンドシェイプによるものの2つの方法があります。ジョイントによるフェイシャルリグは細かい動きを個別に作成でき自由度が上がりますが、制御点が多くなりがちで扱いにくさが生じます。ブレンドシェイプは目的の形状に確実に変形できるため、単純な筋肉の動きのみでは表現しきれないデフォルメ特有の大きな変形にも難なく対応できます。用意されたターゲットの数に依存するため、単調になる可能性もあります。今回はブレンドシェイプに加え、表情に大きく影響する箇所(眉毛や目)にはジョイントを仕込みます。ジョイントによる部分は直接メインのモデルに適用するのではなくブレンドシェイプを介して制御します。カテゴリごとに分けられるのでスキンの調整も楽チンです。いうことで、テストでポージングをしてみます。次回はいよいよ最終回になります。このリグを使って簡単にアニメーションを付けてみようと思います。!まとめ・複雑にしすぎない。分かりやすいコントローラを!・ジョイントの方向にも気を使う。・IK、コンストレイント、ユーティリティノードを駆使してリギング。4へ出力する際のポイントを紹介し、簡単にUE4で動かせるようになるまでを解説します。キャラクターデータも配布中!ゲーム開発でキャラクターを作ってみたい学生、若者の皆様、必聴のセッションです。/月(税込)*サブスクライブする(購入)*上記価格は年間契約の場合の1ヶ月あたりのオートデスク希望小売価格(税込)です。学生向け無償版Mayaを無償でご利用できます。無償体験版Mayaを30日間無償で体験できます。/月(税込)*サブスクライブする(購入)*上記価格は年間契約の場合の1ヶ月あたりのオートデスク希望小売価格(税込)です。~キャラクターに命を吹き込む!~(2015.09.16)いよいよ今回が最終回です。前回作成したリグを使って簡単なアニメーションをつけてみます。30日間無償で体験できます。30日間無償で体験できます。製品のご購入に関してご連絡を希望される場合は、こちらからお問い合わせください。