属性の転送

 
 
 

プロパティを持つクラスタを、オブジェクトからオブジェクトに転送したりマージできます。この方法で転送できるクラスタプロパティには、マテリアル、テクスチャUV、頂点カラー、プロパティ ウェイト マップ、エンベロープ ウェイト、シェイプ アニメーションなどがあります。

属性は 2 つの方法で転送できます。

属性の転送について

属性を転送する際、注意すべき点がいくつかあります。

接続ポイント

転送された属性は、コンストラクション領域の上部から「読み取られ」ます。ポリゴン メッシュの生成時、同じ接続ポイントがジオメトリ作成に使用されます。ただし、生成されたメッシュの属性を転送する場合は、特に考慮が必要です。

  • エンベロープとシェイプを転送する場合、接続ポイントは自動的にモデリング領域上部に設定されます。そうでない場合は、デフォームされた入力が生成されたオブジェクトのベース シェイプを操作し、その生成されたオブジェクトが転送された属性によってさらにデフォームされるため、二重のデフォーメーションになる可能性があります。

    入力上にシェイプ アニメーションがあり、モデリング コンストラクション領域の上部からソース ジオメトリを読み取る必要がある場合は、すべてのシェイプをミュートし、二重のデフォーメーションを回避することができます。

  • マテリアル、テクスチャ UV、頂点カラー プロパティ、またはウェイト マップのみを転送している場合は、接続ポイントに任意の値を設定できます。

接続ポイント全般の詳細については、「接続ポイントを選択する」を参照してください。

モデリング リレーション

転送された属性には、入力オブジェクトに対するモデリング リレーションがあります。クラスタへの変更(コンポーネントの追加または削除)や入力オブジェクトのプロパティ(テクスチャ UV、頂点カラー、エンベロープ ウェイト、またはシェイプ ソース)への変更は、ターゲット オブジェクトに自動的に反映されます。

ただし、一部の変更は自動的には更新されません。以下のいずれかの変更を行った場合は、属性を再転送してターゲット上のエフェクトを確認する必要があります。

  • 新しいクラスタまたはクラスタ プロパティの作成。

  • 新しいマテリアルの割り当て。

  • 新しいシェイプ ソースの作成。

  • シェイプ クリップとシェイプ ウェイトへの任意の変更。

  • エンベロープへの新しいデフォーマの追加。

ジェネレータまたは GATOR オペレータをフリーズした場合、モデリング リレーションは破棄され、属性はこれ以上更新しません。これにより、シーンが不要となった場合入力を削除できます。テクスチャ UV やエンベロープ ウェイトのような転送された属性をフリーズすることは、ジェネレータまたは[GATOR]ノード(および下のすべてのオペレータ)をフリーズするのと同等であることに注意してください。

クラスタをマージする

複数の入力オブジェクトがある場合、類似したクラスタとクラスタ プロパティはマージできます。これは、ポリゴン メッシュのマージまたはブレンドの際、あるいは GATOR オペレータを使用して属性をいくつかのオブジェクトから 1 つのターゲットにコピーする際に役立ちます。

タイプごとにプロパティを転送する場合、Softimage では、クラスタが一致している(たとえばクラスタが同じマテリアルを共有している場合など)と判断すると、自動的にクラスタをマージします。「タイプ別に属性を転送する」を参照してください。

属性を手動で転送する場合は、クラスタがどのようにマージされるのかを完全に調整できます。「属性を手動で転送する」を参照してください。

属性を転送する

ここでは属性の転送のプロセスについて簡単な概要を説明します。

  1. ポリゴン メッシュを他のポリゴン メッシュから生成した場合は、属性転送コントロールはジェネレータのプロパティ エディタにあります。生成と転送を行う場合の固有の考慮事項については、「生成時の属性を転送する」を参照してください。

    そうでない場合は、GATOR を手動で適用できます。「GATOR を適用する」を参照してください。

  2. 次の手順の両方またはいずれかを実行してください。

    • 特定のタイプの属性をすばやく転送するには、[転送](Transfer)(または[マージ](Merge))ボタンをクリックします。「タイプ別に属性を転送する」を参照してください。

    • 必要であれば、[転送の編集](Edit Transfer)ボタンをクリックして手動で属性を転送します。これにより、転送する属性の選択やクラスタのマージ方法をより綿密にコントロールできるようになります。[転送の編集]ボタンは、他のボタンの代わりに使用したり、他のボタンの使用後に転送を調整するために使用できます。「属性を手動で転送する」を参照してください。

  3. 属性を転送したら、以下のいずれかの操作を実行します。

    • 入力オブジェクトの属性を変更します。ターゲット オブジェクトが自動的に更新されます。

    • ターゲット オブジェクトの属性を変更します。変更は、入力から読み込まれた基本値の上部に適用されます。

    • 転送をフリーズします。ターゲットは、入力への変更による影響を受けなくなります。

生成時の属性を転送する

ポリゴン メッシュ オブジェクトを他のオブジェクトから生成した場合、ジェネレータのプロパティ エディタにあるコントロールを使用して、入力オブジェクトから生成されたオブジェクトに属性を転送できます。

生成されたオブジェクトに属性を転送する場合、テクスチャ UV と頂点カラー マップの不連続性は必ず保持されます。

注:ブール ジェネレータには、属性の転送およびマージのコントロールはありません。ただし、GATOR を手動で適用できます。

GATOR を適用する

Softimage Gator を使用して、任意のセットの入力オブジェクトからターゲット オブジェクトへ、クラスタと属性を転送できます。テクスチャ UV 座標およびエンベロープ ウェイトを転送する場合や、モデリング リレーションを共有しないオブジェクト(同じキャラクタの低解像度バージョンと高解像度バージョンなど)同士でその他のデータを転送する場合に便利です。

コンポーネントは 3D 空間での近似度合いに基づいてマッピングされるため、オブジェクトのサイズと形が似ている場合に転送がうまくいきます。オブジェクトを移動した場合、転送が更新されます。これを回避するには、[GATOR]ノードをフリーズします。フリーズする前にターゲット オブジェクトの転送された属性を確認したいが、入力オブジェクトの後に隠れている場合は、入力オブジェクトを非表示にするか、Object View を使用します。

GATOR を適用するには

  1. 転送された属性を受け取るターゲット オブジェクトを選択します。または、ポイント、ポリゴン、エッジ、クラスタを選択できます。

  2. 必要に応じて、入力オブジェクトを今、あるいは後で選択することができます。

  3. 任意のツールバーから[取得](Get) [プロパティ](Property) [GATOR]を選択します。

    ターゲットおよび入力を選択しなかった場合は、ここで、必要に応じて最初にターゲット、次に任意の入力を順に選択するよう求められます。セッションの選択を終了するには、右クリックします。

  4. 必要に応じてオプションを設定します。すべてのパラメータの詳細については、「[GATOR]プロパティ エディタ」(「プロパティ リファレンス」)を参照してください。

  5. この後のセクション、「タイプ別に属性を転送する」、および「属性を手動で転送する」の説明に従って、属性を転送します。

タイプ別に属性を転送する

プロパティ エディタの[転送](Transfer)または[マージ](Merge)ボタンを使用して、特定のタイプの属性をすばやく転送できます。

  • [マテリアル、UV、頂点カラー、ウェイトマップ](Materials, UVs, VertexColors, WeightMaps)は、ユーザ法線を含むすべてのサーフェイス属性(ただし、エンベロープ ウェイトを除く)を転送します。マージやブレンドの場合ように入力オブジェクトが複数ある場合、異なるオブジェクトのクラスタおよびプロパティは、Softimage によってそれらが一致すると判断されれば(2 つのクラスタが同じマテリアルを共有している場合など)、自動的にマージされます。

  • [シェイプ アニメーション、エンベロープ ウェイト](Shape Animation, Envelope Weights)は、アニメーション プロパティを転送します。エンベロープ クラスタは必ずマージされますが、シェイプはマージされません。これらの属性を転送する場合、追加の考慮事項について「属性の転送に関する注意とヒント」を参照してください。

必要に応じて、次のセクション、「属性を手動で転送する」に従って属性の転送およびマージ方法を調整できます。

後で新しいクラスタ属性を適用したり、新しいマテリアルを割り当てたり、入力に新しいシェイプを追加する場合は、適切なボタンをクリックしてターゲットを更新することにより、属性を再転送する必要があります。

属性を手動で転送する

[属性の転送/マージ]ウィンドウを使用して、入力オブジェクトからターゲット オブジェクトに、クラスタおよびクラスタ プロパティをどのように転送するかをコントロールできます。この機能は、特定の属性だけを転送する場合や、期待した方法で属性が Softimage ではマージされなかった場合に便利です。

このウィンドウを表示するには、属性の転送をサポートしているプロパティ エディタの下の[プロパティの指定](Edit Transfer)にある[転送の編集](Specify Properties)をクリックします。

A

プロパティのタイプを選択します。

B

入力オブジェクトのクラスタとプロパティは、上の表に表示されます。

C

転送されたクラスタとプロパティは、下の表に表示されます。

エディタのメイン領域には 2 つの表が表示されます。列や行のサイズは、境界線をクリックしてドラッグすることにより変更できます。

一番上の表には、各入力オブジェクト用の列が表示されます。セルには、ドロップダウン ボックスから選択したタイプの未転送のクラスタ プロパティごとに、ClusterName.PropertyName が表示されます。これらのセルは、マージ可能なクラスタやプロパティに関する Softimage の最適な推測に基づき、それぞれの行に配置されます。手動ではなくタイプ別にプロパティを転送した場合、同じ行内の項目は自動的にマージされます。

下の表には、選択したタイプの各クラスタ プロパティのうち、既に転送されているものが表示されます。1 番目の列にはプロパティの名前が表示され、2 番目の列にはクラスタの名前が表示されます。各入力オブジェクト用の追加の列があります。これらの列には、生成されたクラスタ プロパティにマージされた入力クラスタ プロパティの ClusterName.PropertyName が表示されます。

ヒント:列と行のサイズは、境界線をクリック アンド ドラッグすることで変更できます。

表内のセルを選択するには

属性の転送や削除を行うためには、最初に適切なセルを選択する必要があります。

  • 1 つのセルを選択する場合は、そのセルをクリックします。

  • セルを選択に加える場合は、[Ctrl]キーを押しながらセルをクリックします。

  • セルの水平、垂直、または矩形範囲を選択するには、その範囲の始めから終わりに向けて斜めにドラッグします。あるいは、最初のセルを選択し、[Shift]キーを押しながら最後のセルをクリックします。

選択されたセルはラベンダー色でハイライト表示されます。

属性を転送してマージするには

  1. エディタの一番上にあるドロップダウン リストから、属性のタイプを選択します。たとえば、シェイプを転送する場合は[clskey](クラスタ キー)を選択します。

  2. 一番上の表で、転送するクラスタ プロパティを選択します。

    クラスタやプロパティは、以下のルールに従ってマージされます。

    • 各列で選択されているセルが 1 つしかない場合は、選択されたすべてのクラスタ プロパティがマージされます。

    • いずれかの列で複数のセルが選択されている場合は、同じ行内で選択されたクラスタ プロパティがまとめてマージされます。セルが選択された各行は、別のクラスタ プロパティを生成します。

  3. [エディタの一番上にある](Transfer/Merge)[転送/マージ]をクリックします。

    一番下の表に新しい行が表示され、生成されたクラスタ プロパティが表示されます。転送された項目は、一番上の表から削除されます。

  4. 必要に応じて手順 1 から 3 を繰り返し、追加の属性を転送します。

属性を削除するには

クラスタ プロパティを誤ってマージしてしまった場合は、正しく転送およびマージし直す前に「転送を取り消す」ことができます。

  1. エディタの一番上にあるドロップダウン リストから、属性のタイプを選択します。

  2. 一番下の表で、削除するクラスタ プロパティに対応する行内のセルを選択します(複数可)。

  3. エディタの一番上にある[転送を削除](Remove Transfer)をクリックします。

    選択した行が一番下の表から削除され、一番上の表に未転送項目が表示されます。

属性の転送に関する注意とヒント

特定タイプの属性を転送する際に最適な結果を得るのに役立つ情報を、いくつか紹介します。

シェイプを転送する

[シェイプ アニメーション、エンベロープ ウェイト](Shape Animation, Envelope Weights)の下の[転送](Transfer)ボタンを使用してシェイプを転送すると、次のように動作します。

  • 以前に転送されたソースのクリップが削除されます。

  • シェイプのソースがコピーされます。他の属性と異なり、シェイプは自動的にマージされません。すべてではなく一部のソースが既にコピーされている場合は、残りのソースを転送するかどうか確認を求められます。

  • 入力オブジェクトのアニメーションに基づき、トラックとクリップが作成され、ウェイト F カーブがコピーされます。

シェイプを手動で転送すると、シェイプのソースのみが転送されます。

ShapeWeights カスタム パラメータ セットは転送されません。ShapeWeights は、ミックスト ウェイト モードでシェイプ キーを保存および適用すると自動的に作成され、シェイプ ウェイトのプロキシ パラメータを含み、シェイプ ウェイトのミックスを助けます。

ターゲットが既存のシェイプの場合は、転送されたシェイプは適切なシェイプ リファレンス モード(ローカル相対、オブジェクト相対、または絶対値)に変換されます。既存のシェイプがない場合は、お使いのシェイプ アニメーション設定に指定したモードが使用されます。

入力のシェイプ ソースを修正した場合は、転送されたシェイプは自動的にターゲット上で更新されます。しかし、新規のソースを追加したり入力のクリップとウェイトを修正した場合は、[アニメーションのコピー]をクリックしてターゲットを更新する必要があります。

エンベロープを転送する

エンベロープを転送すると、ウェイト情報が転送され、ターゲット オブジェクトは入力と同じデフォーマのセットによってデフォームされます。複数の入力がある場合は、デフォーマのリストが連結されます。

複数の GATOR オペレータを使用して、複数のオブジェクトからエンベロープを転送する場合、各 GATOR オペレータは個別のエンベロープ オペレータを追加します。

入力エンベロープにデフォーマを追加する場合は、エンベロープを「未転送」にしてから(「属性を手動で転送する」を参照)再転送する必要があります。

スパイン デフォーメーションやケージ デフォーメーションに使用されているウェイトは転送できないことに注意してください。

似ていないオブジェクト間で属性を転送する

属性は近似したポイントに基づいて転送されるものであるため、属性の転送は、ほぼ同じサイズとシェイプのオブジェクト間で最適に機能します。ところが、似ていないオブジェクト間で属性を転送する場合もあるでしょう。たとえば、カンガルーの顔のアニメーションをキリンに転送する場合などです。

このような状況でも、手段はあります。属性を転送する前に、ソースをデフォームしてターゲットに合わせるか、ターゲットをデフォームしてソースに合わせます。どちらの方法を選択するかは、処理対象のシェイプでの、最も便利な方法によって異なります。また、詳細な手順も、転送するエンベロープがあるかどうかによって異なります。

ソースをデフォームしてターゲットに合わせるには(エンベロープなし)

  1. ポイントを調整するなどして、ソースをターゲットのシェイプに近くなるようにデフォームします。対応する領域どうしが、転送が良好に実行される程度の近さになるようにしてください。

  2. GATOR を適用し、属性を転送します。

  3. 必要に応じてソース ジオメトリを調整し、転送に調整を加えることもできます。[GATOR]ノードが、調整を加えているスタック内の場所の上にあるソースのコンストラクション ヒストリから読み取りを行うようにしてください。

  4. [GATOR]ノードをフリーズします。

  5. この時点でソースを削除できます。ソースを保持する場合は、追加したデフォーメーション オペレータを削除します。

ソースをデフォームしてターゲットに合わせるには(エンベロープあり)

  1. ソース ジオメトリとデフォーマの両方がリファレンス ポーズにあることを確認します。

  2. ソースを保持する場合は、ソースを複製するか、外部モデルとして書き出します。

  3. モデリング コンストラクション モードになっていることを確認します。

  4. メインメニューから[ディスプレイ](Display) [ディスプレイオプション(すべてのカメラ)](Display Options (All Cameras))を選択します。[カメラ表示](Camera Display)プロパティ エディタの[モード](Modes)タブで、[コンストラクション レベル ビューイング モード](Construction Level Viewing Mode)[コンストラクション モードと同期](Sync with construction mode)に設定します。

  5. スケーリング、回転、移動などによって、ターゲット ジオメトリをできるだけソースの位置に合わせます。

  6. ポイントを調整するなどして、転送が良好に実行される程度に、ソースをデフォームしてターゲットのシェイプに合わせます。

  7. GATOR を適用し、属性を転送します。エンベロープを転送すると、[入力のコンストラクション モード](Inputs' construction mode)[モデリング](Modeling)に設定されます。この値のままにしておいてください。

  8. [GATOR]ノードをフリーズします。

  9. ソース ジオメトリを削除します。

  10. ボーンの変換やボーンの長さの設定を行ったり、ジョイント移動ツールを使用して、ソース スケルトンを調整し、ターゲット ジオメトリにフィットさせます。

  11. スケルトン オブジェクトを選択し、リファレンス ポーズをリセットします。

  12. [コンストラクション レベル ビューイング モード](Construction Level Viewing Mode)の設定を[結果(トップ)](Result (top))に戻し、ウェイトのエフェクトを確認します。

ターゲットをデフォームしてソースに合わせるには(エンベロープなし)

  1. ターゲットを複製します。

  2. ポイントを調整するなどして、ターゲットをソースのシェイプに近くなるようにデフォームします。対応する領域どうしが、転送が良好に実行される程度の近さになるようにしてください。

  3. GATOR を適用し、属性を転送します。

  4. [GATOR]ノードをフリーズします。

  5. シェイプ キーとして複製を選択し、ターゲットを元のシェイプに戻します。

  6. ターゲットのオペレータ スタックで、[Cluster Shape Combiner]ノードをフリーズします。

ターゲットをデフォームしてソースに合わせるには(エンベロープあり)

  1. ソースとターゲットの両方がリファレンス ポーズにあることを確認します。

  2. ソースを保持する場合は、ソースを複製するか、外部モデルとして書き出します。

  3. ターゲットを複製します。

  4. ポイントを調整するなどして、ターゲットをソースのシェイプに近くなるようにデフォームします。対応する領域どうしが、転送が良好に実行される程度の近さになるようにしてください。

  5. GATOR を適用し、属性を転送します。

  6. [GATOR]ノードをフリーズします。

  7. シェイプ キーとして複製を選択し、ターゲットを元のシェイプに戻します。

  8. ターゲットのオペレータ スタックで、[Cluster Shape Combiner]ノードをフリーズします。

  9. ソース ジオメトリを削除します。

  10. ターゲットのエンベロープ オペレータをミュートするか、ビューポイントを設定して、モデリング コンストラクション領域の結果だけを表示します。

  11. ボーンの変換やボーンの長さの設定を行ったり、ジョイント移動ツールを使用して、スケルトンを調整し、ターゲットジオメトリにフィットさせます。

  12. ターゲット ジオメトリとスケルトンの両方を選択し、リファレンス ポーズをリセットします。

  13. エンベロープのミュートを解除します。