スプライン リギング

コントロールリグでスプラインを活用することで、長いジョイント チェーンでのプロシージャル アニメーションをより簡単に実現できます。

Choose your operating system:

Windows

macOS

Linux

コントロールリグでスプラインをビルドして、使用することで、スケルタル階層に関係なく動的プロシージャルなモーションを作成することができます。スプラインを使用すると、触手、とげ、蛇など、手足に必要なコントロール数を減らして、より複雑なポーズを作成することができます。

このドキュメントでは、リグでのスプラインの作成および使用方法の概要を説明します。

前提条件

  • 尾などスプラインに適したジョイント構造を持つスケルタル メッシュのコントロールリグ アセットを作成していること。この実行方法の詳細については、「コントロール リグ クイックスタート」を参照してください。

  • コントロール の作成と位置決めの方法を理解していること。

スプラインの作成

コントロールリグでスプラインを作成するには、スプラインを構成するために使用される任意の平行移動ポイントを指定します。一般的な設定では、これらのポイントは コントロール のトランスフォーム情報に基づいています。

まず、リグ グラフを右クリックして、Spline From Points を選択し、Spline From Points ノードを作成します。

spline from points

次に、スプラインでポイントを定義するために使用されるリグ要素を作成します。この例では、4 つのコントロールを作成して、触手の長さに沿って均等に分散します。コントロールの数が、チェーン内のボーンの数に一致している必要はありません。

create spline controls

次に、リグ グラフでルート リグ要素を参照し、Spline From Points ノードの 追加 (+) ボタンをクリックして、配列に最初のスプライン ポイントを追加します。要素参照の Transform ピンを展開して、Translation ピンを Points ピンの入力に接続します。

control rig spline points

次に、スプラインを形成するために使用するすべてのリグ要素のスプライン ポイントを追加します。Spline From Points ノードでスプライン ポイントを接続する順番が、スプラインの方向と一致していることを確認する必要があります。

control rig spline points

コントロールリグのスプラインは、スプラインを適切に作成するためには、4 つ以上のポイントが必要です。

これで、スプラインを視覚的に表示する Draw Spline ノードを使用して、スプラインをプレビューすることができます。このノードを作成するには、グラフで右クリックして、Draw Spline を選択し、Spline From PointsSpline ピンを Forwards SolveExecute イベントに接続します。ビューポートでコントロールを操作すると、スプラインの動作がプレビューされます。

control rig spline preview

スプラインをボーンに適用する

作成できたら、スプラインをジョイント チェーンに適用できます。

まず、グラフで右クリックして、Fit Chain on Spline Curve を選択して、Fit Chain on Spline Curve ノードを作成します。

fit chain on spline curve

次に、[Rig Hierarchy (リグ階層)] パネルからスプラインに含めるボーンを複数選択してリグ グラフにドラッグし、[Create Item Array (アイテム配列を作成)] を選択します。この操作では、選択順序が重要で、結果として得られるボーン配列がスプラインのポイントと同じ順序になるようにする必要があります。

spline bone array

最後に、Rig Element 配列を Items ピンと**Spline From PointsSpline ピンに接続して、Execute** イベントがコントロールリグ ロジック チェーンに接続されていることを確認します。

control rig spline bones

これで、スプラインがボーン チェーンに反映されます。

control rig spline

スプラインのプロパティ

Spline From Points ノードでは、次のプロパティを使用できます。

spline from points

名前

説明

Points

スプラインを構成するために使用される位置情報。ポイントは、単一の配列を使用できます。または、追加 (+) ボタンをクリックして個々の平行移動ピンを使用して作成できます。

Spline Mode

使用するスプラインのタイプ。次のいずれかを選択できます。

  • Hermite。スプラインが定義されたすべての ポイント を確実に通るようにします。

    hermite spline type

  • BSpline: より滑らかなスプラインで、始点と終点のみを通ります。これは TinySpline ライブラリに基づいています。

    bspline type

Samples Per Segment

このプロパティは、スプラインの近似精度を制御します。数値が大きいほど、スプラインがより正確で滑らかになります。数値が小さいほど、スプラインがギザギザで表示が不正確になります。パフォーマンス上の負荷はサンプル数が増えるほど増大するため、この数値を大きくしすぎないようにすることをお勧めします。

Compression

スプラインの長さを縮小する場合に、スプラインが圧縮を行う必要のある量。

Stretch

スプラインの長さを伸ばす場合に、スプラインが伸ばす必要のある量。

Spline (Output)

このノードの結果として得られるスプライン。

Fit Chain on Spline Curve ノードでは、次のプロパティを使用できます。

fit chain on spline curve

名前

説明

Items

指定された スプライン に位置合わせするためのリグ要素の配列。

Spline

位置合わせする スプライン のカーブ。

Alignment

位置合わせされた要素をスプラインの長さいっぱいまで伸ばすかどうか。

  • Stretched: 完全な長さまで伸縮を行います。

    spline stretched alignment

  • Front: 伸縮を無効にします。

    spline front alignment

Minimum

カーブで使用する最小 U 値。U は、結合されたすべてのコントロール ポイント間の正規化された (0 ~ 1) 比率です。

Maximum

カーブに使用する最大 U 値。U は、結合されたすべてのコントロール ポイント間の正規化された (0 ~ 1) 比率です。

Sampling Precision

このプロパティは、スプラインの近似精度を制御します。数値が大きいほど、スプラインがより正確で滑らかになります。数値が小さいほど、スプラインがギザギザで表示が不正確になります。このプロパティは、Spline From PointsSamples Per Segment プロパティを上書きします。パフォーマンス上の負荷はサンプル数が増えるほど増大するため、この数値を大きくしすぎないようにすることをお勧めします。

Primary Axis

チェーンに沿って整列したメジャー軸。シンプルな設定では、このプロパティを無視することができます。

ただし、通常は、アイテム チェーンの進行方向となるように設定することをお勧めします。

Secondary Axis

チェーンに沿って整列したマイナー軸または「上方向」軸。シンプルなセットアップでは、このプロパティを無視することができます。ただし、通常は、ポール ベクターが使用されている場合は、その方向に設定することをお勧めします。

spline secondary axis

Pole Vector Position

オプションのポール ベクター コントロールの位置。これは、Secondary Axis が設定されている場合に限り効果があります。

Rotations

スプライン全体に加算的に適用される回転の配列。

Rotation Ease Type

各回転要素間で使用するイージング タイプ。

Weight

カーブに要素を適用する場合の係数。

Propagate to Children

リグ要素の変更をすべての子要素に再帰的に適用するかどうか。

Splines ノード

コントロールリグ グラフで使用できる Spline ノードは以下のとおりです。

名前

画像

説明

Closest Parameter From Spline

closest parameter from spline

指定スプラインと位置から最近接 U 値を取得します。

Draw Spline

draw spline

プレビュー用にスプライン カーブをビューポートに表示します。ColorThickness、および Sample Detail を制御するプロパティが含まれています。

Fit Chain on Spline Curve

fit chain on spline curve

アイテムの配列に沿って指定されたスプラインを適合させます。このノードは、通常、スプラインを含むバックワード ソルブを実行するときに使用されます。

Fit Spline Curve on Chain

fit spline curve on chain

リグ要素のチェーンをスプラインに適用します。

Get Length Of Spline

get length of spline

スプラインの長さを取得します。

Parameter At Length Percentage

parameter at length percentage

指定した長さの比率でスプラインの U 値を返します。

Position From Spline

position from spline

U 値で指定されたスプラインに沿った位置を返します。

Set Spline Points

set spline points

スプラインの現時点での既存のポイントを新しい値に設定し、新しいスプラインを出力します。

Spline From Points

spline from points

平行移動ポイントの配列からスプラインをビルドします。

Tangent From Spline

tangent from spline

U で定義されたスプラインに沿ったポイントの接線角度を返します。

Transform From Spline

transform from spline

指定した 上方向ロール に基づいて、指定した スプラインU 値からトランスフォームを返します。