FK Motor

概要

Leg Motorは、3脚のレッグモーションをアニメーション化するために特別に設計された特殊モーターです。このモーターは、足上げおよび着地のアニメーションを含む実際の歩行運動をシミュレートします。

インストールに必要な条件

このモーターは3つの連続したボーンに取り付ける必要があります。

サンプル

Non

2つのアニメーションクリップを持つキャラクター: 歩行と走行。Smart Groundアルゴリズムを使用した新しいLeg Motorの機能を示します。

こちらからダウンロード

使用法

Leg Motorの使用方法は、IK Rotate Motorの使用方法と非常に似ています。Leg MotorのGUI操作ハンドルをつかみ、3つのボーンを特定のポイントにすることができます。その後、脚はターゲットポイントを中心に歩行動作をシミュレートします。IK Rotate Motorとは異なり、Leg Motorはベースフット(チェーンにおける最後のボーン)の持ち上げと着地をシミュレートします。これにより、リアルな脚のアニメーションを非常に簡単に行うことができます。

脚のモーションは、以下の段階に従って行われます。

FK Motor

  1. Lift 足が地面から離れる時

  2. Lift to Land 足が地面と接触し、LiftからLandの状態に移行する時

  3. Land 足は地面に接触している時

  4. Land to Lift 足を地面から持ち上げて、LandからLiftの状態に移行する時

Smart Ground Activeモード(推奨)

Leg MotorにはSmart Ground Activeというモードがあります。このモードをオンにするには、Animatable Propertyをセットします:

  • SmartGroundActive: このプロパティを1.0に設定すると、Leg MotorのためのSmart Groundアルゴリズムが有効になります。

最初にLeg Motorをインストールすると、この値は自動的に1.0に設定されます。つまり、デフォルトで有効になるように設定されています。できるだけSmart Ground Activアルゴリズムを使用することをお勧めします。なぜならモーターをはるかに簡単に操作できるようにするためです。

モーターをインストールした後、最初に微調整してほしいものはsmartGroundYプロパティを変更することです。この値を設定することで、足の床がどこにあるかを定義し、システムが足を正しい向きに置くために適切な調整を行います。

FK Motor

上記の画像にある灰色の横線は、smartGroundYプロパティから足を調整するための地面を示しています。

次に微調整したい2つのプロパティは、liftAnglelandAngleプロパティです。liftAngleプロパティで、足が地面から持ち上がるときの足に適切な角度を設定します。同様に、landAngleプロパティで、足が着地する際の適切な角度を設定します。

Smart Ground Activeを使わない場合

Smart Ground Activeアルゴリズムなしでモーターを使用したい場合は、以下のプロパティの微調整が必要です。

  1. liftTimeliftSpeed: 足がどれくらい速く離れるかを調整します。

  2. landTimelandSpeed: 足が地面にどれだけ速く着地するかを調整します。

それに加えて、アニメーションの開始時に足が着地状態に近い状態になるようにしたい場合footPhaseの値を増やします。

アニメーション可能なプロパティ

  • liftTime: 足が地面から持ち上がり始める時間。値が高いほど、遅く足が持ち上がります。値は10〜99。最初は、値50を試してみてください。 Smart Ground Activeがない場合のみで有効です。

  • liftSpeed: 足が地面に着地し始める時間。値が小さいほど、足が早く着陸し始めます。値は10〜99。最初は、値10を試してみてください。 Smart Ground Activeがない場合のみで有効です。

  • landSpeed: 足が地面の上(land state)にあるとき、足の回転する角度。値は10〜99。最初は、値10を試してみてください。 Smart Ground Activeがない場合のみで有効です。

  • liftAngle: 足が地面から離れている(lift state)とき、足の回転する角度。値は-20〜180。最初は、値-120を試してみてください。

  • landAngle: 足が地面の上に(land state)あるとき、足の回転する角度。値は-20〜180。最初は、値0を試してみてください。

  • footPhase: liftとlandの両方の時間を早める/遅らせるオフセット値。値は0〜60。最初は、値30を試して見てください。 Smart Ground Activeがない場合のみで有効です。

  • targetX: ターゲットポイントのx位置を決定します。

  • targetY: ターゲットポイントのy位置を決定します。

  • speed: ターゲットポイントが楕円弧の周りをどのくらい速く回転するかを決定します。典型的な値は0.5〜3.0です。モーションを逆にする場合は、負の値を設定します。 (0.1〜5の値を試してみてください)

  • phase: 楕円弧上におけるターゲットポイントの初期位置を決定します。 (0〜1の値を試してみてください)

  • width: 楕円弧の全体の幅を決定します。

  • height: 楕円弧の全体の高さを決定します。

  • scaleLeft: 楕円弧の左半分を係数でスケーリングします。例えば、2.0に設定すると、2倍にスケールされます。 (0〜3の値を試してみてください)

  • scaleRight: 楕円弧の右半分を係数でスケーリングします。例えば、2.0に設定すると、2倍にスケールされます。 (0〜3の値を試してみてください)

  • scaleTop: 楕円弧の上半分を係数でスケーリングします。例えば、2.0に設定すると、2倍にスケールされます。 (0〜3の値を試してみてください)

  • scaleBottom: 楕円弧の下半分を係数でスケーリングします。例えば、2.0に設定すると、2倍にスケールされます。 (0〜3の値を試してみてください)

  • smartGroundActive: このプロパティを1.0に設定すると、Leg MotorのためのSmart Groundアルゴリズムが有効になります。

  • smartGroundY: 足が自動的に配置されるスマートグラウンドのY座標値。これはワールドスペース座標で定義されます。

  • smartFootScale: SmartGroundがアクティブのとき、エンドフットをどの程度スケールするか指定します。これを使用して、不要な交差点を修正します。どんな値でも、これは倍率です。値1.0がデフォルトのスケールです。

静的なプロパティ

  • Valid IK Angles: 影響を受けたボーンチェーンがどの角度でポーズするか角度の範囲を制限します。AllPositiveNegativeを選択できます。