このレッスンでは、Biped でのフリーフォーム アニメーション機能の使用法について説明します。
このレッスンでは、その場で水泳をする Biped をアニメートします。フリーフォーム アニメーションの手法を使用し、バタ脚をして手をかく動作を作成します。
このモーションを作成するには、回転と移動の組み合わせを使用します。[姿勢をコピー]と[反対の姿勢を貼付け]を使用し、片方の腕をアニメートして、そのトラックを反対側にコピーします。
レッスンの準備:
- 3ds Max をリセットします。
-
[作成]パネルで
([システム])をクリックします。
Biped を作成して、FIG ファイルをロードする:
-
([Biped])をクリックしてオンにし、フロント ビューポートで Biped を作成します。
-
[モーション]パネルに移動します。
-
([フィギュア モード])をオンにして、
([ファイルをロード])をクリックします。
[開く]ダイアログ ボックスが表示されます。
- ファイル tut_swimmer.fig を開きます。このファイルは、\sceneassets\animations\ フォルダにあります。
この Biped は、FIGファイルに保存されている、新しい構造要素を含んでいます。この簡単なフィギュアには、それぞれの足に大きな指 1 本、それぞれの手に大きな指 1 本が付いており、脊椎には、4 つではなく 2 つのセグメントが含まれています。
-
([フィギュア モード])をオフにします。
注:フィギュア モードではアニメーション付けの作業はできません。
- すべての Biped オブジェクトを選択して
([全範囲ズーム全ビューポート])をクリックします。
- MySwimmer01.max と名前を付けてシーンを保存します。
フリーフォーム アニメーションを開始する:
フリーフォーム アニメーションを開始するには、オート キーによる記録をアクティブにし、Biped の任意のパーツを変換します。
- レフト ビューポート内を右クリックします。
これにより、シーンの選択内容に影響を与えずに、レフト ビューポートをアクティブにすることができます。
- Alt+W を押してビューポートを最大化し、Biped がよく見えるようにします。
Biped はワイヤフレーム内にあります。ワイヤフレームにない場合は、レフト ビューポートのシェーディング表示を変更します。
-
([オート キー])をオンにします。
ボタンが赤に変わり、アクティブなビューポートが赤く縁取られます。
-
[モーション]パネル
[トラックの選択]ロールアウトで
([ボディ回転])をクリックします。
注:[トラック選択]ロールアウトの[ボディ...]ボタンのいずれかをアクティブにすると、重心(COM)オブジェクトが自動的に選択されます。
回転変換ギズモでは、選択した軸を中心にしてオブジェクトを容易に回転できます。ビューポートでギズモの上にカーソルを移動すると、軸の円が黄色に変わり、回転の中心となる軸が表示されます。
- このビューポートで垂直線として表示されている、赤い円は、X 軸に影響します。
- このビューポートで水平線として表示されている青い円は、Z 軸に影響します。
- 緑色の円の周囲に表示されている明るいグレーの円では、3 つすべての軸を中心にした、自由な回転が可能です。
- 緑色の円の上にカーソルを移動します。
カーソルが黄色になります。これは、回転がその軸にロックされることを意味します。
- Y 軸を中心にして重心を 約 90 度回転します。ギズモ付近の座標系の読み取り値を調べて、どれくらい Biped を回転しているか確認してください。Biped がうつ伏せになるまで回転します。
ヒント:A を押して[角度スナップ]をオンにすると、簡単に 90 度回転できます。
アニメーション キーは、トラック バーの左端、つまりフレーム 0 (ゼロ) に表示されます。
[トラックの選択]の下にある 3 つの COM トラックをすべて選択すると、同時にキーフレームを作成できます。試してみましょう。
- [トラックの選択]ロールアウトで
([COM キーをロック])をクリックし、
([ボディ回転])をクリックします。
- [トラックの選択]ロールアウトで、
([ボディ水平方向])と
([ボディ垂直方向])をオンにします。
COM の複数のトラックがすべてアクティブになりました。
- [キー情報]ロールアウトを展開して
([キーを設定])をクリックします。
これにより、フレーム 0 ですべての COM トラックにキーが設定されます。トラックバー キーは、位置キーと回転キーの両方が作成されていることを示すマルチカラー表示を示していします。
- [COM キーをロック]を再度クリックし、COM トラックのロックを解除します。
ヒント: 3 つの COM トラックに対しアニメーションの開始点にキーを設定するとよいでしょう。
片脚にポーズ付けする:
Biped をうつ伏せにしたので、水泳のモーションをアニメーション付けできるようになりました。まずは脚を配置します。最初に、脚の位置をフレーム 0 (ゼロ) に設定し、右脚の作業をします。
- Alt+W を押して、4 つすべてのビューポートを再び表示します。
- レフト ビューポートの大腿の線をクリックして、Bip01 R Thigh を選択します。
ヒント:ビューポートでオブジェクトの上にカーソルを置いたままにすると、オブジェクト名がツールチップに表示されます。
H を押して選択リストからオブジェクトを選択することもできます。
- Z 軸を中心にして Bip01 R Thigh を約 -30 度回転します。
右脚が回転しますが、右足がまっすぐ下を向いています。
- Page Down キーを 2 回押して、右足を選択します。
ヒント:Page Up キーと Page Down キーを使用すると、Biped を構成しているオブジェクトをすばやく移動できます。
- Z 軸を中心にして Bip01 R Foot を約 -50 度回転します。
この位置では、足はより自然に見えます。
これまで、フォワード キネマティクスのみを使用して Biped をアニメートしてきました。次は、インバース キネマティクスを使用して、足を移動することによって脚全体を移動します。
- 同じ足を右クリックし、クアッド メニューから[移動]を選択します。
ヒント:メイン ツールバーを使用するか、右クリックしてクアッド メニューを開いて、変換ツールを選択します。
[変換]ギズモは、軸の三脚に切り替わり、3 本の矢印のうち 2 本がビューポートに表示されます。矢印は直角に表示され、Z 軸が上、Y 軸が左を指しています。
- レフト ビューポートで、ギズモの Y 軸上にカーソルを移動し、黄色になったら足を少し右に移動します。
足の新しい位置に合わせるため、膝が曲がります。
この移動では、インバース キネマティクスを使用しました。足、下脚、上脚は、階層のつながりにまとめてリンクされています。足のつながりの末端を移動することで、下脚オブジェクトと上脚オブジェクトを回転しました。
- MySwimmer02.max と名前を付けてシーンを
保存します。
脚をアニメーションする:
これまでは、フレーム 0 (ゼロ) で作業していました。ここでは、時間的に先に移動し、フレーム 10 でポーズをアニメーションします。
- タイム スライダをフレーム 10 までドラッグします。
- 膝がまっすぐになるまで、脚を Z 軸上で下方向に
移動します。
- Page Up を 2 回押して、Bip01 R Thigh を選択します。
- 右クリックしてクアッド メニューから[回転]を選択し、Z 軸を中心にして Bip01 R Thigh を約 -10 度回転します。
- フレーム 0 (ゼロ) から 10 の間で、タイム スライダを前後に動かします。
脚が上下に移動します。
コピーと貼り付けを使用する:
ここで特別な Biped のツールをいくつか使用し、反対側の脚のポーズ付けとアニメーション付けを行います。
- タイム スライダをフレーム 10 に戻します。
- Bip01 R Thigh をダブルクリックします。
大腿から足の指まで、脚全体が選択されます。
-
[モーション]パネルで[コピー/貼付け]ロールアウトを展開します。
[コピー/貼付け]機能には、コレクションの作成が含まれています。姿勢の作成を開始する前に、まずはコレクションを作成する必要があります。
- [コピー/貼付け]ロールアウトで、
([コレクションを作成])をクリックします。Col01 という名前のコレクションが作成されます。名前を Swim - Crawl に変更します。
- [姿勢]ボタンがアクティブになっていることを確認します。
- [スナップショットをビューポートからキャプチャ]が選択されていることを確認します。このボタンは[貼付けオプション]領域のすぐ上にあります。
[スナップショットをビューポートからキャプチャ]を選択すると、アクティブなビューポートからポーズのサムネイルがキャプチャされます。この姿勢の場合を例にとると、フロント ビューポートからよりもレフト ビューポートからの方がよく見えます。
-
([姿勢をコピー])をクリックします。
右脚のポーズが、バッファ内にコピーされます。コピーした姿勢の名前を RLeg – downkick に変更します。
- タイム スライダをフレーム 0 までドラッグして戻します。
([反対の姿勢を貼付け])をクリックします。
左脚が下方に回転します。右脚の階層は選択されたままです。
- フレーム 0 (ゼロ)で、
([姿勢をコピー])を再度クリックします。
- タイム スライダをフレーム 10 までドラッグします。
-
([反対の姿勢を貼付け])を再度クリックします。
ここで左脚が上がり、右脚が下がりました。
- タイム スライダをフレーム 0 (ゼロ) から 10 の間で前後に動かし、脚の蹴りを見ます。
ここでこの手順を繰り返し、脚を数回蹴らせます。
- MySwimmer03.max と名前を付けてシーンを保存します。
[姿勢を貼付け]を使用して、複数の蹴る動作を作成する:
[姿勢をコピー]ツールを使用すれば、1 つのフレームから別のフレームにすべての脚のキーをすばやく複製して、繰り返し蹴る動作を作成できます。
-
([オート キー])がまだオンになっていることを確認し、タイム スライダをフレーム 0 (ゼロ) にドラッグします。
- [トラックの選択]ロールアウトから
([シンメトリ])をクリックします。
これで、両方の脚が選択されました。
- フレーム 0 (ゼロ)で、
([姿勢をコピー])をクリックします。コピーされた姿勢に R up L down という名前を付けます。
両脚がコレクションに追加されます。
- タイム スライダをフレーム 20 までドラッグします。
ヒント:[現在のフレーム]の時間コントロールで、フレーム番号を入力できます。
- フレーム 20 で
([姿勢を貼付け])をクリックします。
- フレーム 30 に移動して
([反対の姿勢を貼付け])をクリックします。
ここから先は、[姿勢を貼付け]と[反対の姿勢を貼付け]のいずれかをクリックして、蹴る動作の繰り返しを作成していくことができます。蹴る動作の繰り返しをスムーズにするには、フレーム 80 まで 10 フレームごとに姿勢を変更します。トラック バーに脚のアニメーションのキーが合計
9 個表示されます。
- [コレクションをコピー]領域で[コレクションを保存]ボタンをクリックしてコレクションを保存します。コレクションに Swim - Crawl という名前を付けます。名前に拡張子 CPY が自動的に付加されます。
- MySwimmer04.max と名前を付けてシーンを保存します。
バタ脚のアニメーションは、必要なポーズが脚が上がったときと下がったときの 2 つだけであったため、比較的簡単でした。腕のアニメーションはより複雑です。腕のひとかきのアニメーションには、次の 5 つのポーズが必要になります。
- 伸ばした腕
- 下向きの腕
- 背後に回した腕
- 水中から耳の近くまで引き上げた腕
- 水に入っていく腕
片方の腕を正しくアニメーション付けすれば、[トラックをコピー]と[トラックを反対側に貼付け]を使用して、もう片方の腕にアニメーションを設定できます。もう片方の腕のタイミングは、トラック バーでキーをスライドして調整できます。
片腕をアニメーションする:
-
([オート キー])がまだオンになっていることを確認し、タイム スライダをフレーム 0 (ゼロ) にドラッグします。
- H を押します。[シーンから選択]ダイアログ ボックスで、Bip01 L UpperArmを選択します。
- レフト ビューポートで、Z 軸を中心にして Bip01 L UpperArm を約 -160 度
回転し、Biped の前に伸ばします。
- トップ ビューポート内を右クリックして Page Up を押し、Bip01 L Clavicle を選択して Y 軸を中心に −20 度回転します。
これで腕が頭を通り抜けてしまうのを防げます。
- 同じビューポートで Page Down を 3 回押し、Bip01 L Hand を選択します。X 軸を中心にして約 -90 度回転し、手のひらを下に向けます。
腕の 1 番目のポーズが仕上がったところで、ここまでのデータを保存しておきましょう。
- Bip01 LClavicle をダブルクリックして、左腕の階層全体を選択します。
- スナップショットを簡単に識別できるようパースペクティブ ビューポートをアクティブにして、[姿勢をコピー]を選択します。このポーズに LArm extended という名前を付けます。
- タイム スライダをフレーム 10 までドラッグします。
- メイン ツールバーで
([選択して移動])をクリックし、[参照座標系]が[ワールド]に設定されていない場合は設定します。
これで変換ギズモの操作が別のビューポートで可能になります。
- レフト ビューポート内を右クリックします。Bip01 L Hand をまっすぐ下を向くまで Y 軸と Z 軸上で下方向に移動します。腕の 2 番目のポーズが仕上がりました。
ヒント:2 本の軸が交差するコーナーで移動ギズモをつかむと、選択したオブジェクトを両方の軸(YZ 平面)で同時に移動できます。
- Bip01 LUpperArm をダブルクリックして腕の階層を選択し、
([姿勢をコピー])をクリックします。このポーズに LArm down という名前を付けます。
- タイム スライダをフレーム 20 までドラッグします。
- Bip01 L Hand を Y 軸に沿って脚の方へ
移動します。
- フロント ビューポートをアクティブにして Page Up を 3 回押し、Bip01 L Clavicle を選択します。このパーツを Z 軸を中心に約 24 度
回転させます。
腕の 3 番目のポーズが仕上がりました。トップ ビューポートで Bip01 L UpperArm をダブルクリックし、階層を選択してこのポーズを保存します。次に
[姿勢をコピー]を選択します。このポーズに LArm back と名前を付けます。姿勢をコピーする前にパースペクティブ ビューポートをアクティブにすると、サムネイルでポーズがはっきり見えるようにビューポートを調整できます。
- タイム スライダをフレーム 30 までドラッグします。
- トップ ビューポートをアクティブにします。
- Bip01 L Hand を、手が肩の高さにくるまで XY 平面上で
移動します。
- レフト ビューポートで、Z 軸に Bip01 L Hand を移動し、手を耳の近くに
移動します。
- 最後に、X 軸を中心にして Bip01 L Hand を
回転し、手のひらを平らにします。
腕の 4 番目のポーズが仕上がりました。上腕をダブルクリックして階層全体を選択してこれをコレクションに保存し、
([姿勢をコピー])をクリックします。このポーズに LArm up という名前を付けます。
- 5 つ目のポーズを作成するため、フレーム 37 に移動します。
- レフト ビューポートで Bip01L Hand オブジェクトをY 軸に沿って頭の前まで
移動し、肩と同じ高さになるよう配置します。Bip01 L Upperarm をダブルクリックして腕の階層全体を選択し、パースペクティブ ビューポートをアクティブにして
([姿勢をコピー])をクリックします。このポーズに LArm stroke という名前を付けます。
注:5 つ目のポーズは、腕が水から出たときのポーズから伸ばしたときのポーズに至るまでの腕の回転を正しくするために使用します。
- MySwimmer05.max という名前でシーンを保存します。
ツイスト ポーズを適用する:
ツイスト ポーズを使用して上腕の回転を修正できます。ツイスト ポーズは主に腕をねじる動作を補正するのに使用しますが、ここでは単に効果的に腕を配置するために使用します。
-
([オート キー])がオンの場合にはオフにします。
- Bip01 L Upperarm を選択します。
- タイム スライダをフレーム 33 までドラッグします。
- [ツイスト ポーズ]ロールアウトを展開します。
- [ツイスト ポーズ]ドロップダウン リストから、各ポーズを選択してビューポートでの腕の変化を観察します。
これらの既定値のポーズは、定められた既定値の回転によって問題を「解決」するための、追加の姿勢のコピーであると考えてください。
- ポーズ 5 を選択すると、腕が回転され正しく配置されます。[キー情報]ロールアウトを展開し、
([キーを設定])をクリックしてツイスト ポーズにキーフレームを設定します。
ヒント:ツイスト ポーズは、Biped にアタッチされたメッシュで起こるねじれの修正に役立つように設計されたものです。[フィギュア モード]では、[ツイスト]チェックボックスをオンにしてツイスト リンクを有効にできます。その後、上腕、前腕、大腿、ふくらはぎ、または「下肢リンク」([脚のリンク]が
4 に設定されている場合に脚に設定できる追加のリンク)に対する希望のツイスト リンク数を設定します。[すべてをフリーズ解除]および[すべて表示]を行うと、この方法で追加されたツイスト ボーンを見ることができます。[ツイスト リンク]の機能を有効にすると、[ツイスト]と[バイアス]の設定をさまざまに変更できます。
腕のポーズをコピーする:
腕のサイクルを次の数ステップで完成するには、腕のポーズをフレーム 40 にコピーします。
-
([オート キー])をオンにします。
- トップ ビューポートで Bip01 L Clavicle をダブルクリックし、左腕全体を選択します。
- フレーム 33 で、
([姿勢をコピー])をクリックします。
- タイム スライダをフレーム 40 に進めて、
([姿勢を貼付け])をクリックします。
通常でない回転や不適当な動きが見られたら、追加のキーを設定してアニメーションを微調整できます。
- タイム スライダをドラッグしてアニメーションを確認します。
アニメーションを繰り返す:
アニメーションの長さが 80 フレームになる場合は、腕の動作を繰り返す必要があります。
- Bip01 L Clavicle をダブルクリックし、左腕全体を選択します (まだ選択していない場合)。
- トラックバーで、選択ウィンドウをドラッグしてフレーム 10~ 40 のキーを囲みます。
- 選択したキーを、Shift キーを押したまま右にドラッグしてコピーします。最初のキーがフレーム 50 の上にきたところでマウス ボタンを放します。
-
アニメーションを再生します。Biped は、左手で完全なストロークを 2 回行うはずです。
- MySwimmer07.max と名前を付けてシーンを保存します。
脊椎への回転を追加する:
次に脊椎にいくつかの回転を追加して、アニメーションをより本物らしくします。この Biped フィギュアの脊椎(tut_swimmer.fig)には 2 つのセグメントしかありません。上半身を表す大きい部分を回転します。
-
([オート キー])がオンのままになっていることを確認します。
- Bip01 Spine1 を
選択します。
注:最初の脊椎オブジェクトは Bip01 Spine です。2 番目に大きい脊椎オブジェクトは Bip01 Spine1 です。
- フロント ビューポートを右クリックします。
- タイム スライダをフレーム 0 にドラッグし、[キー情報]ロールアウトの
([キーを設定])をクリックします。
これで回転の先頭キーが設定されます。
- タイム スライダをフレーム 10 にドラッグし、X 軸を中心にして Bip01 Spine1 を約 -15 度
回転します。
これにより、ボディが腕の動きに従うように見えます。
- トラック バーでフレーム 0 のキーをクリックして選択し、Shift キーを押したままコピーをフレーム 30 にドラッグします。ステータス領域でフレーム 30 に移動したことを確認します。
これで、脊椎が 40 フレームに 1 回のサイクルで回転します。
- Bip01 Pelvis を選択します。
- タイム スライダをフレーム 0 にドラッグし、[キー情報]ロールアウトの
([キーを設定])をクリックします。
これで回転の先頭キーが設定されます。
- タイム スライダをフレーム 10 にドラッグし、骨盤を X 軸を中心に少し
回転して左脚の動きに従うようにします。
- 2 つのキーをフレーム 20 と フレーム 30 にコピーします。
ヒント:必要に応じて、骨盤をさらに Y 軸を中心に少しだけ回転させてもかまいません。
次は、動作を繰り返すために、この骨盤と脊椎の回転キーをコピーします。
- 骨盤がまだ選択されていることを確認し、Ctrl キーを押したまま Bip01 Spine01 オブジェクト(大きい胴体の脊椎オブジェクト)をクリックします。
- トラック バーで、表示されている 4 つのキーの周囲に選択用の長方形をドラッグします。
- Shift キーを押した状態でキーをドラッグし、左端のキーをフレーム 40 にコピーします。アニメーションのタイム スライダを前後に動かして、アニメーションを確認します。
- フレーム 0 からフレーム 80 にキーをコピーし、キーの設定を完了ます。
頭をアニメーションする:
頭の回転を適切にアニメートすると、Biped は泳ぎながら息継ぎできます。
-
([オート キー])がオンのままになっていることを確認します。
- レフト ビューポートで、Biped の頭 Bip01 Head を
選択します。
- タイム スライダをフレーム 0 (ゼロ) にドラッグし、X 軸を中心にして頭を約 70 度
回転して、Biped の左耳を下に向けます。
ヒント:レフト ビューポートでの回転中に、パースペクティブ ビューポートを確認します。
- フレーム 20 で、頭を下に
回転して戻します。
- Shift キーを押した状態でドラッグし、フレーム 0 のキーをフレーム 40 にコピーします。ステータス領域でフレーム 40 に移動したことを確認します。
- タイム スライダを移動して、頭の回転を観察します。
実際は、フレーム 30 で頭を上に向けると、より自然に見えます。
- フレーム 20 で作成したキーをトラック バーに沿ってフレーム 30 にスライドします。ここでは Shift キーは押さないでください。
Biped は、40 フレームに 一度のサイクルで頭を上げたり下げたりします。
ヒント:タイム スライダをフレーム 30 にドラッグし、キーをその上にスライドできます。
- 別の機能を利用してキーをコピーするには、タイム スライダを右クリックします。
[キーを作成]ダイアログ ボックスが表示されます。これにより、ソースと宛先を選択してキーが作成できます。
ヒント:[オート キー]をオンにして、このようにキーを設定する必要はありません。
- [ソース時間]を 30 に、[ターゲット時間]を 70 に設定して、[OK]をクリックします。
- タイム スライダを再び右クリックします。
- [ソース時間]を 0 に、[ターゲット時間]を 80 に設定して、[OK]をクリックします。
これで頭の動きは仕上がりましたが、右腕の動きを処理する必要があります。それは次のとおりです。
[トラックをコピー]で反対側の腕をアニメーションする:
[トラックをコピー]では、選択したオブジェクトのアニメーション トラックをコピーして、別のオブジェクトまたは反対側のボディ パーツに貼り付けることができます。
-
([オート キー])がオンのままになっていることを確認します。
- トップ ビューポートで Bip01 L Clavicle をダブルクリックし、左腕全体を選択します。
- パースペクティブ ビューポートをアクティブにします。
- [コピー/貼付け]ロールアウトで、
([トラック])をオンにします
-
([トラックをコピー])をクリックします。
トラックがバッファにコピーされます。トラックに LArm - Crawl と名前を付けます。
-
([反対のトラックを貼付け])をクリックします。
-
アニメーションを再生します。
Biped がバタフライで泳いでいます。2 本の腕が一緒に動いているからです。
次に、タイミングを変えて腕を交互に動かします。
- トップ ビューポートで、Bip01 R Clavicle をダブルクリックします。
ビューポートで、右腕全体が選択されます。
- トラック バーですべてのキーの周囲にボックスをドラッグして、すべてのキーを選択します。すべてのキーを 20 フレーム右にスライドします。
-
アニメーションを再生します。
始めと終わりの動きが少し不自然です。これを直す一番簡単な方法は、ポーズ全体をコピーして貼り付けることです。
先頭と末尾を修正する:
-
([オート キー])がオンのままになっていることを確認します。
- トップ ビューポートで Bip01 R Clavicle を
ダブルクリックし、右腕全体を選択します (まだ選択していない場合)。
- [コピー/貼付け]ロールアウトで、
([姿勢])をクリックします。
- タイム スライダをフレーム 50 にドラッグし、
([姿勢をコピー])をクリックします。
- タイム スライダをフレーム 10 にドラッグして戻し、
([姿勢を貼付け])をクリックします。
- フレーム 40 で
([姿勢をコピー])をクリックし、次にフレーム 0 (ゼロ) で
([姿勢を貼付け])をクリックします。
腕が交互になりました。
アニメーションのもう一端を修正するには、アニメーションを 80 フレームで切り取ることができます。
- 時間コントロールで、
([時間設定])をクリックします。
[時間設定]ダイアログ ボックスが表示されます。
- [アニメーション]領域で、[終了時間]を 80 に変更します。[OK]をクリックします。
警告:[時間再スケール]をクリックしないでください。
-
アニメーションを再生します。
作業を保存する:
- [Biped]ロールアウトの
([ファイルを保存])をクリックし、MySwimmer.bip という名前でモーションを保存します。
- 最終シーンに MySwimmer08.max と名前を付けて
保存します。
アニメーションを完全にする:
- 好みに応じて、骨盤と脊椎にいくつかの回転キーを追加し、足と手に第 2 のモーションを追加することで、アニメーションを改善できます。手と足の動きに続く数フレームで四肢の回転を互い違いにします。
水泳の完成版のシーンを見たい場合は、\scenes\character_animation\freeform_animation に移動して swim.max を開いてください。