コンテナを使用すると、コンポーネントの異なるタイプと構成から成るモデル間でアトリビュートを転送できます。上の例では、スケルトンのウォーク サイクルが、まったくジョイントを持たないロボット モデルに転送されます。
スケルトンとロボットの両方のコンポーネントは、それぞれ固有のコンテナに存在します。
次の例では、先の例と違ってロボットのピボット ポイントがスケルトンのジョイントと正確に一致しません。たとえば、ロボットの肘が 3 つのパーツから構成され、各パーツは 1 方向にのみ回転します。一方、スケルトンの肘は 3 方向すべてに回転するシングル ジョイントです。
ロボットがスケルトンを正しく模倣するには、コンテナの肘の回転軸として、それぞれの肘に回転をパブリッシュする必要があります。
ただし、軸ごとに回転をパブリッシュするだけでは正しい結果は得られません。これは、各肘の軸が対応するパーソン A の肘ジョイントの軸と一致していないからです。
たとえば、ロボットの elbow1 の X 軸は、実際にはスケルトンの肘の Y 軸をマップします。
この問題を解決するには、アトリビュートをパブリッシュするときにアトリビュート名を変更する必要があります。elbow1 の rotateX をコンテナの rotateY としてパブリッシュすることで、ロボットの肘の動きをスケルトンの肘の動きと確実に合わせます。
コンテナにパブリッシュ オプション(Publish to Container Options)ウィンドウが表示されます。
上記手順を繰り返し、elbow2 の rotateY をコンテナの rotateZ に、elbow3 の rotateZ をコンテナの rotateX にマッピングします。
一旦これらのアトリビュートをパブリッシュすると、スケルトンのコンテナからロボットのコンテナに値を転送できます。
アトリビュート値の転送オプション(Transfer Attribute Values Options) ウィンドウが表示されます。
値(Values)をオンに設定します。ウォーク サイクルはスケルトンからロボットに複製することができます。これは、2 つのオブジェクトが内部コンポーネントに関係なくコンテナ レベルで同じに表示されるからです。