スムージングとリラックス

 
 
 

Smooth Operator は、スパイクやその他の高周波のディテールを除去する汎用デフォーメーションです。これは、さまざまな状況で非常に役立ちます。以下に例を示します。

Smooth Operator のプリセットを適用するコマンドは[スムーズ](Smooth)[リラックス](Relax)の 2 つが用意されています。[スムーズ]は全体の形状に作用し、[リラックス]はサーフェイスに沿ってコンポーネントを位置合わせします。いずれの場合も、パラメータを変更してエフェクトを細かく調整することができます(この後のセクションで説明します)。

[スムーズ]は、ポイントの位置を平均化します。その結果、四角形はより正方形に近づき、三角形はより正三角形に近づき、エッジ ループはよりまっすぐになります。ただし、さまざまな特性を持つカスタム フィルタも定義できます(「カスタム フィルタを使用してスムージングする」を参照)。

[Smooth]オペレータの代わりに、ICEベースの[Smooth(スムーズ)]というデフォメーションを使用することもできます。「スムーズ」を参照してください。

スムーズとリラックスを適用する

スムーズとリラックスを適用するには

  1. スムーズにするエレメント(ポイント、エッジ、ポリゴン、クラスタ、オブジェクト、ブランチ、グループ、またはモデル)を選択します。

    スムージングはあらゆるジオメトリ タイプ(ポリゴン メッシュ、NURBS サーフェイス、NURBS カーブ、ラティス、ヘア、パーティクルなど)に作用します。ただし、次の点に注意してください。

    • パーティクルでは、[Distance type of Spatial(ignore neighborhood)]によってカスタムフィルタを定義しなければなりません。詳細については、「カスタム フィルタを使用してスムージングする」を参照してください。

    • NURBS サーフェイスについては、閉じた境界は、接続されているものと見なされて処理されます。ただし、組み立てたサーフェイス メッシュのサブサーフェイス間の境界は、接続されているとは見なされません。

  2. [モデル]、[アニメート]または[シミュレート]ツールバーから次のいずれかのコマンドを選択します。

    • [修正](Modify) [デフォーム](Deform) [スムーズ](Smooth). このプリセットは、シェイプ全体をスムーズにする場合の最初のステップとして最適です。

      または

    • [修正](Modify) [デフォーム](Deform) [リラックス](Relax). このプリセットは、シルエットに影響を及ぼさずにコンポーネントを位置合わせする場合の最初のステップとして最適です。

    [スムーズ]プロパティ エディタが開きます。

  3. パラメータを調整します(この後のセクションを参照)。

    ヒント:密度の高い領域は低い領域と比べてスムージングの処理速度が遅くなります。また、密度が高いと、オブジェクトをスムージングしたときに突起ができる場合があります。オブジェクトの密度が大きく変化する場合は、[Distance type of Edge Path Length]でカスタムフィルタを使用してみてください。詳細については、「カスタム フィルタを使用してスムージングする」を参照してください。

スムージング量をコントロールする

この後で説明するように、スムージング エフェクトの強度を直接設定したり、ポイントのディスプレイスメントを外挿できます。さらに、スムージングを適用しない領域付近では強度を減衰によってコントロールしたり(「スムージングの対象領域と対象外領域の間に減衰を作成する」を参照)、最小ディスプレイスメントを設定する(「最小ディスプレイスメントを設定する」を参照)ことも可能です。

強度を直接コントロールする

[スムーズ]プロパティ エディタの[一般]タブの[強さ](Strength)では、スムージングの量をコントロールします。これは、各ポイントの位置が隣接ポイントの位置とともに平均化される反復回数を表します。実数値は整数の反復回数の間で補間されます。

また、接続アイコンを右クリックすると、パラメータ マップも使用できます。たとえば、ウェイト マップを使用してウェイトをペイントして、強くスムージングする領域と弱くスムージングする領域を区別できます。パラメータマップを使用して値を制御する方法の詳細については、「パラメータ マップ」を参照してください。

ディスプレイスメントを外挿する

[スムーズ]プロパティ エディタの[アドバンス設定]タブの[外挿](Extrapolation)は、各ポイントのディスプレイスメントを誇張します。正の値ではポイントがスムージングと同じ方向に移動し、負の値ではポイントがスムージングと逆方向に移動します。

このパラメータは、面白いエフェクトを実現できるだけでなく、特に診断ツールとして重要です。このパラメータを一時的に調整して、スムージングがどの領域に最も作用するかを確認した後、パラメータの値を 0 に戻すことができます。

スムージング時の特徴を保持する

特定の条件を満たす頂点をスムージングから保護することができます。また、平均位置の計算に選択されていない頂点を含めるかどうかをコントロールしたり、スムージングの対象領域と対象外の領域の間に減衰を作成できます。

特定の条件を満たす頂点を保護する

[スムーズ]プロパティ エディタの[一般]タブの[特徴の保持](Feature Preservation)にある以下のオプションを使用すると、各条件を満たす頂点を保護することができます。

  • [境界頂点](Boundary vertices): 境界エッジ上のポイントがスムージングされるのを防ぎます。境界エッジには一方の側にのみ隣接ポイントがあるため、位置が平均化される際にその方向に強く引っ張られる傾向があります。このオプションによって、口や目などのアイテムがスムージングによって歪まないようにします。また、組み立てたサーフェイス メッシュをスムージングする際にも役立ちます。サブサーフェイスの境界は接続されている状態とは見なされないためです。

  • [Hard edges/vertices]は、ハードとしてマーキングされたポイントとエッジがスムージングされるのを防ぎます([Modify] [Component] [Mark Hard Edge]/[Vertex])を使用)。

  • [Crease edges/vertices]は、クリース値が設定されたポイントとエッジがスムージングされるのを防ぎます([Modify] [Component] [Set Edge]/[Vertex Crease Value])。

これらのオプションのいずれかをオンにした場合は、保護する頂点を基準とした減衰を作成できます(この後の「スムージングの対象領域と対象外領域の間に減衰を作成する」を参照)。

選択されていない頂点を計算に含めるかどうかをコントロールする

オブジェクトの選択した部分をスムージングする場合は、[スムーズ]プロパティ エディタの[一般]タブの[非選択頂点を考慮](Consider unselected vertices)で、選択していない(スムージングしない)領域にある頂点を平均位置の計算に含めるかどうかをコントロールします。

  • このオプションがオンの場合は、平均位置を計算する際にポイントのすべての隣接ポイントが考慮されます。これにより、スムージングされた領域の境界でのトランジションが可能になります。このトランジションは、減衰を作成することによってさらに調整できます(次のセクション「スムージングの対象領域と対象外領域の間に減衰を作成する」を参照)。

  • このオプションがオフの場合は、平均位置を計算する際に、その他の選択した頂点のみが考慮されます。その結果として、選択した領域はジオメトリの他の部分から接続解除されているかのようにスムージングされます。

スムージングの対象領域と対象外領域の間に減衰を作成する

Smooth Operator を特定のコンポーネントやクラスタに適用した場合、[スムーズ]プロパティ エディタの[一般]タブの[減衰](Falloff)にある次のオプションを使用すると、スムージングの対象領域と対象外領域の間に緩やかなトランジションを作成できます。

  • [半径](Radius): スムージングの対象領域の境界から対象領域内のどの位置まで減衰領域を拡張するかを表します。

    既定では、値は近傍の度合いを表します。値 1 は、スムージングの非対象領域の境界のすぐ隣にあるポイントを表します。値 2 は、境界から 1 ポイント離れたポイントを表します。値 3 以降も同様の意味になります。整数の間の値は補間されます。

    カスタム フィルタを使用する場合は、値は設定されている距離のタイプを表します。

  • [シャープさ](Sharpness): 減衰領域のトランジションのシェイプをコントロールします。値が低い場合は、減衰領域の先頭(スムージングされていない領域に近い場所)で急激なトランジションが生成され、値が高い場合は、減衰領域の終端に近い場所で急激なトランジションが生成されます。適度な値によって、減衰領域全体に広がるスムーズなトランジションが生成されます。

両方のスライダを調整して、目的の減衰プロファイルにします。いずれかのスライダが 0 の場合、減衰は生じません。

減衰オプションは、その上位オプション([境界頂点]、[ハード エッジ/頂点]、[エッジ/頂点の限界](Boundary vertices, Hard edges/vertices, Crease edges/vertices)[非選択頂点を考慮](Consider unselected points))の少なくとも 1 つがアクティブになっていなければ使用できません。

スムージング時にコンポーネントを位置合わせする、またはシェイプを維持する

スムージングでは頂点の位置を平均化するため、オブジェクトが縮小される傾向があります。この縮小を最小限に抑える方法は 2 つあります。いずれの方法も、シャープなディテールをスムーズにするのではなく、サーフェイスに沿ってコンポーネントを位置合わせするようなものです。

  • [スムーズ]プロパティ エディタの[アドバンス設定]タブの[再投影](Reproject)では、各ポイントが、スムージングされていないジオメトリのサーフェイスに再投影されます。その結果として、サーフェイス スペース内でコンポーネントの位置が揃った状態になりますが、オブジェクトはそれほど縮小されません。ただし、再投影により一部の鋭いディテールが失われる可能性があるため、このオプションがオンであっても、オブジェクトのシェイプはある程度スムーズ ダウンしたままの状態になる場合があります。

  • [スムーズ]プロパティ エディタの[アドバンス設定]タブの[法線向きに制限](Restrict to normal direction)[鉛直](Perpendicular)に設定することによって、各ポイントが法線(ローカル Y)に沿ってディスプレイスメントされるのを避け、動きをローカル X および Z に制限します。鮮明さを保つには[再投影](Reproject)よりも良好なオプションですが、サーフェイス空間でコンポーネントを揃えることが難しくなります。

スムージング エフェクトを制限する

[スムーズ]プロパティ エディタの[アドバンス設定]タブにあるいくつかのオプションを使用して、スムージング エフェクトを制限することができます。

湾曲によりエフェクトを制限する

[スムーズ]プロパティ エディタの[アドバンス設定]タブにある[湾曲に制限](Restrict to curvature type)では、ローカルの湾曲が凹面か凸面かに基づいてスムージング エフェクトを制限できます。凹面か凸面かは、ジオメトリ法線によって判別されます(ユーザが定義した法線では判別されません)。

       

スムージングされていないオリジナルのジオメトリ

[湾曲に制限](Restrict to curvature type)[なし](None)に設定すると、ジオメトリ全体がスムージングされます。

[湾曲に制限](Restrict to curvature type)[凹面](Concave)に設定すると、凹面のみがスムージングされます。

[湾曲に制限](Restrict to curvature type)[凸面](Convex)に設定すると、凸面のみがスムージングされます。

たとえば、凹面をスムージングすることで、肘などの領域で生じるピンチングを除去できます。

     

スムージングされていない腕には、肘の内側にピンチングが見られます。

肘の領域の選択した頂点を、湾曲による制限を設定せずにスムージングすると、あまり良いエフェクトは得られません。

スムージング エフェクトを[凹面](Concave)に制限すると、よりよい結果が得られます。

法線にしたがって制限する

[スムーズ]プロパティ エディタの[アドバンス設定]タブにある[法線向きに制限](Restrict to normal direction)では、ポイントのディスプレイスメントの方向をコントロールします。

  • [なし](None): ポイントをどの方向にも無制限にディスプレイスメントできます。

  • [平行](Parallel): ポイントはその法線(ローカル Y 軸)方向にのみ動くことができます。これは、たとえば、地図のグリッドや道路の配置に影響を与えずに、地面の高さをスムージングする場合に便利です。

  • [鉛直](Perpendicular): ポイントをそのローカルの X 軸と Z 軸の方向にのみ移動できます。これは、隆起やくぼみをスムージングせずに、サーフェイスに沿ってコンポーネントを位置合わせする場合に便利です。「スムージング時にコンポーネントを位置合わせする、またはシェイプを維持する」を参照してください。」を参照してください。

最小ディスプレイスメントを設定する

[スムーズ]プロパティ エディタの[アドバンス設定]タブにある[最小ディスプレイスメント](Minimum displacement)は、ポイントの移動の最短距離を設定するクランプです。ポイントの現在位置とその隣接ポイントの平均位置との差がこの値よりも小さい場合、そのポイントは移動しません。これにより、すでに十分に滑らかな領域に影響を与えずに、オブジェクトの粗い領域をスムージングできます。値は Softimage 単位です。

スムージングの方向を指定する

[方向の制限](Restrict Direction)オプションを使用して、スムージング エフェクトに対する特定の方向を指定できます。[有効](Enable)をアクティブにしてから、[X][Y]、および[Z] を使用してベクトルを指定します。他のオプションによってディスプレイスメントが計算され、その後、指定の方向に投影されます。X、Y および Z 値はディスプレイスメントがスケーリングされないように自動的に正規化されます。ディスプレイスメントをスケーリングする場合は、外挿を使用します。

カスタム フィルタを使用してスムージングする

[スムーズ]プロパティ エディタの[カスタム フィルタ]タブでは、既定のスムージングとは別のアルゴリズムを指定できます。カスタム フィルタの使用時にも、各ポイントの位置は近隣ポイントの位置と平均化されます。ただし、以下をコントロールできます。

  • ポイント間の距離の測定に使用する基準(距離のタイプ)

  • あるポイントを「近隣」と見なす最長距離(上記基準を使用)

  • その距離範囲にわたってウェイトを均等配分するプロファイル カーブ

[スムーズ]プロパティ エディタの[一般]タブと[アドバンス設定]タブのその他のオプションはすべて、カスタム フィルタと組み合わせて使用できます。

スムージングにカスタム フィルタを使用するには

  1. [スムーズ]プロパティ エディタの[カスタム フィルタ]タブで、[カスタム フィルタ使用](Use custom filter)をアクティブにします。

  2. その他のオプションを設定します(この後のセクションを参照)。

距離のタイプ、距離、計算の制限を設定する

[スムーズ]プロパティ エディタの[カスタム フィルタ]タブの[Distance type]は、ポイント間の距離を測定する基準を決定し、[Distance]は「近くの」ポイントがどのくらい離れているかを決定します。

どのような距離のタイプを指定しても、距離の値が大きいほど、オペレータが計算する近隣ポイントの数が多くなるため、計算に要する時間が長くなることがあります。[計算の制限](Computation limit)オプションは、互いを「近隣」と見なすポイントの数が膨大になるような値を設定した場合に、計算時間が過剰に長くなるのを防ぐ「安全弁」です。[計算の制限]の値が高く、[距離]の値も高い場合に計算に長時間を要する可能性があります。しかし[計算の制限]の値が低すぎると、Smooth Operator がすべての近隣ポイントを評価できない可能性があります。

  • [Neighborhood][Distance type]は、接続性を距離の測定基準として使用します。これは既定のスムージング アルゴリズムで使用される距離のタイプと同じですが、カスタム設定によって距離やプロファイルを自由にコントロールできます。

    [距離](Distance): 2 つのポイント間の距離は、それらの間のあらゆるパスにおいてエッジの数が最も少ない距離です。このため、隣接ポイントの距離は 1 で、2 つのエッジによって区切られるポイントの距離は 2 といった具合になります。ポイント間を隔てるエッジの数は必ず整数ですが、距離に小数を使用することもできます。この場合は整数と整数の中間値が補間されます。たとえば距離を 1.5 にすると、距離 1 と距離 2 が実行する両ディスプレイスメントの中間地点でディスプレイスメントが実行されます。

    この距離のタイプの特徴は、[強さ](Strength)の値が高い場合に各エッジの長さが等しくなる傾向があることです。

  • [A Distance type of Edge Path Length]は、2 つのポイント間の最短パスにおける各エッジの長さの合計を、距離の測定基準として使用します。[距離](Distance)の値は Softimage 単位です。

    この距離のタイプの便利な特徴は、[強さ](Strength)の値が高くても各エッジの長さの比率が維持されることです。

    [最大近傍深度](Max neighborhood depth): 余分な計算を避けるために使用します。

  • [Spatial][Distance type]([近傍を考慮](consider neighborhood))はポイントがエッジ パスによって接続されている限り、3D 空間におけるポイント間の距離を使用します。[距離](Distance)の値は Softimage 単位です。

    [最大近傍深度](Max neighborhood depth): 余分な計算を避けるために使用します。

  • [Spatial][Distance type]([近傍を無視](ignore neighborhood))は、ポイントが接続されているかどうかに関係なく、3D 空間におけるポイント間の距離を使用します。[距離](Distance)の値は Softimage 単位です。

    これはパーティクルで使用できる唯一の距離のタイプです(パーティクル内のポイントは接続されないため)。また、この距離のタイプはヘアにも有効です。同一ガイド ヘア上のポイントのみが接続されるためです。

    [計算する最大頂点数](Max visited vertices): 余分な計算を避けるために使用します。

スムーズ プロファイルを設定する

[スムーズ プロファイル](Smooth profile)は、近隣ポイントの位置を距離の関数としてどのようにウェイト付けするかをコントロールするグラフです。水平な軸は近隣ポイントの距離を表します。[距離]スライダによって設定される最大距離は 100 です。垂直な軸は、平均位置を計算する際に、対応する距離に位置するポイントにどのくらい強くウェイトを加えるかを表します。値が正の場合はポイントがその近隣ポイントに向かって引っ張られ、値が負の場合は跳ね返されます。

プロファイル カーブを選択して編集するには、マウスと、FCurve Editor と同じキーボード コマンドを使用するか、右クリックしてメニューを表示します。

カーブの編集全般の詳細については、「F カーブの編集」(「アニメーション」)を参照してください。