新しいコネクションマッピング テンプレートを作るためには、Animation Mixer のまたは[Animate]ツールバーからを選択します。
再表示するには: Animation Mixer のメニューからテンプレートを選択します。プロパティ エディタにはテンプレートの各ルールを示す一覧表があります。
[MappingTemplate]プロパティ エディタのルールを選択するには、列の名前(たとえば、)をクリックするか、または対応する行のいずれかのテキスト フィールドにカーソルを移動します。
詳細については、「コネクション マッピング テンプレート」(「Animation Mixer のノンリニア アニメーション」)を参照してください。
|
各コネクション アイテムのルール番号を一覧表示します。
|
|
置き換えられる文字列です。通常はオブジェクト名です。このコネクション テンプレートがアクティブで、アクション クリップがインスタンス化されている場合、この文字列から始まるパラメータは新しいパラメータにマップされます。
|
|
置き換えるパラメータで、通常は他のオブジェクト名です。このコネクション テンプレートがアクティブで、アクション クリップがインスタンス化されている場合、対応するの文字列から始まるパラメータは、これらのパラメータにマップされます。
|
|
このコネクション テンプレートがアクティブかどうかを表します。アクション クリップがインスタンス化されている場合、現在アクティブとなっているコネクション マッピング テンプレートのルールが適用されます。変更しても既存のクリップのコネクションには影響ありません。既存のコネクションを変更するには、削除するかクリップを再度インスタンス化する必要があります。
|
|
テンプレートに新しいブランク ルールを追加します。新しいルールは、選択されたルールの上に追加されます。ルールは上から下にチェックされるため、これを知っておくことは大切です。
|
|
選択されたルールを削除します。
|
|
ルールの妥当性をチェックします。現在のモデルに存在しないオブジェクトやパラメータ名があれば、赤色で表示されます。 ワイルドカード、部分文字列置換またはトークンを伴うルールは、常に赤色表示となります。
|
ヒント:ルールの表示を調整する場合は、プロパティ エディタまたは列をサイズ変更してください。列のサイズを変更するには、マウス ポインタを列のヘッダの境界線上に移動します。マウス ポインタが両方向矢印に変化したら、クリック アンド ドラッグして幅を変更します。
ルールを編集する
列と列のオブジェクトとパラメータ名を選択(または入力)することにより、[MappingTemplate]プロパティ エディタのルールを編集することができます。これは、列の名前と列の名前を置き換えます。
どのセルでもクリックするとき、そのモデルで使用可能なすべてのオブジェクトとパラメータのリストを表示しているセルの右側に矢印が表示されます。
ルールでは、スクリプトと同じパラメータ名を使用します。パラメータ名が不明な場合、プロパティ エディタでパラメータを変更し、メイン ウィンドウの左下にあるコマンド ボックスでコマンドに出力された名前を確認してください。
特定のオブジェクトまたはパラメータのアニメーションをマッピングされていない状態にしておくには、アニメーションを空の文字列にマッピングするか、トークンを指定します。オブジェクトまたはパラメータ名の一部を置換するには、「名前の一部を置換する(部分文字列)」で説明する特殊文字を使用します。
ルールの適用方法について、次の点に注意してください。
例 1: オブジェクトをマッピングする
このルールは、torus と名付けられたオブジェクトのすべてのパラメータを、cone と名付けられたオブジェクトの対応するパラメータにマップします。
例 2: パラメータをマッピングする
このルールは、のローカル X 位置を、のローカル Y 位置にマップします。
マップ元:
|
マップ先:
|
torus.kine.local.posx
|
cone.kine.local.posy
|
例 3: オブジェクトを未接続のままにする
このルールは、と名付けられたオブジェクトのすべてのパラメータを未接続にします。
マップ元:
|
マップ先:
|
torus
|
<unmapped>
|
セルを空白のままにすることにより、同様のことができます。
例 4: パラメータを未接続のままにする
このルールは、torus のローカル X 位置を未接続にします。
マップ元:
|
マップ先:
|
torus.kine.local.posx
|
<unmapped>
|
セルを空白のままにすることにより、同様のことができます。
例 5: ワイルドカードを使用する
このルールは、と名付けられたオブジェクトのすべてのパラメータを、「null」で始まる名前を持つすべてのオブジェクトにマップします。
名前の一部を置換する(部分文字列)
さらに、オブジェクト名(そのサブストリング)の一部を変更するコネクションマッピング ルールを作成することもできます。このようにして作成したテンプレートは、さまざまな場面で再利用できます。個々のオブジェクト名を明示する必要がないからです。さらに、部分文字列の検索位置をオブジェクト名の先頭または末尾に限定できます。オブジェクトとモデルの命名に厳密な規則を用いている場合は、このようなルールが特に効果を発揮します。パラメータ名に部分文字列置換を適用することはできません。
アクションのパラメータに部分文字列の置換を適用した後も、残りのルールの評価が続けられます。これを利用して、同じパラメータに対して部分文字列の置換を繰り返すことができます。
部分文字列を置換する
置換対象となる部分文字列を指定するには、[MappingTemplate]プロパティエディタの列に該当する文字列を角括弧([])で囲んで入力します。
例
このルールは、「prefix_Object1_suffix」を「prefix_Object2_suffix」にマップします。
マップ元:
|
マップ先:
|
[Object1]
|
Object2
|
オブジェクト名の先頭にある部分文字列を置換する
部分文字列置換を、オブジェクト名の先頭に限定して行うことができます。このルールは、プリフィックスだけを変更し、オブジェクト名の他の部分の同じ部分文字列はそのまま残したい場合に便利です。そのためには、先頭にキャレット(^)を付けた部分文字列を角括弧で囲みます。
例
このルールによって、オブジェクト名の先頭の「prefix_」が取り除かれ、何もない状態(空のストリング)に置き換えられます。
オブジェクト名の末尾にある部分文字列を置換する
同様に、部分文字列置換を、オブジェクト名の末尾に限定して行うことができます。このルールは、サフィックスだけを変更し、オブジェクト名の他の部分の同じ部分文字列はそのまま残したい場合に便利です。そのためには、末尾にドルマーク()を付けた部分文字列を角括弧で囲みます。
例 1
このルールは、文字列「_suffix」をオブジェクト名の最後に追加します。
例 2
このルールは、すべてのオブジェクト名で「suffixA」を「suffixB」に変更します。
マップ元:
|
マップ先:
|
[suffixA$]
|
suffixB
|
パラメータ名の部分文字列を置換する
通常、部分文字列の置換はオブジェクト名についてのみ有効です。オブジェクト名だけでなくパラメータ名でも部分文字列を置換するには、先頭にアットマーク(@)を付けた部分文字列を角括弧で囲みます。
例
このルールは、すべてのオブジェクト名で「localA」を「globalB」に変更します。
マップ元:
|
マップ先:
|
[@local]
|
global
|
部分文字列の置換とその他のルールを組み合わせる
部分文字列の置換は他のルールよりも優先されます。つまり、部分文字列を置換した結果に、別のルールを適用できるということです。
例
サブストリングの置換のルールは、最初に適用され、を[この結果、未接続となり、ゆえに、]( This result is then mapped to nothing, so that animation originally defined for )に最初に定義されたアニメーションは無関係のままになります。
マップ元:
|
マップ先:
|
null.kine.global.posx
|
<unmapped>
|
[@local]
|
global
|