Smooth Operator は、スパイクやその他の高周波のディテールを除去する汎用デフォーメーションです。これは、さまざまな状況で非常に役立ちます。以下に例を示します。
有機的な(各部が互いに関係、影響し合っている)オブジェクトの全体的な形状で、手動でポイントを移動して調整を行った後、不連続部分を滑らかにする場合。
ポリゴンの押し出しの継ぎ目や、別々にモデリングしたパーツを 1 つのオブジェクトにまとめたときのパーツ間の継ぎ目を丸める場合。
オブジェクトのデフォーメーションやシェーディングがうまく行われるように、エッジ ループをまっすぐにしたり、四角形を位置合わせする場合。
Smooth Operator のプリセットを適用するコマンドは[スムーズ](Smooth)と[リラックス](Relax)の 2 つが用意されています。[スムーズ]は全体の形状に作用し、[リラックス]はサーフェイスに沿ってコンポーネントを位置合わせします。いずれの場合も、パラメータを変更してエフェクトを細かく調整することができます(この後のセクションで説明します)。
[スムーズ]は、ポイントの位置を平均化します。その結果、四角形はより正方形に近づき、三角形はより正三角形に近づき、エッジ ループはよりまっすぐになります。ただし、さまざまな特性を持つカスタム フィルタも定義できます(「カスタム フィルタを使用してスムージングする」を参照)。
[Smooth]オペレータの代わりに、ICEベースの[Smooth(スムーズ)]というデフォメーションを使用することもできます。「スムーズ」を参照してください。
スムーズにするエレメント(ポイント、エッジ、ポリゴン、クラスタ、オブジェクト、ブランチ、グループ、またはモデル)を選択します。
スムージングはあらゆるジオメトリ タイプ(ポリゴン メッシュ、NURBS サーフェイス、NURBS カーブ、ラティス、ヘア、パーティクルなど)に作用します。ただし、次の点に注意してください。
パーティクルでは、[Distance type of Spatial(ignore neighborhood)]によってカスタムフィルタを定義しなければなりません。詳細については、「カスタム フィルタを使用してスムージングする」を参照してください。
NURBS サーフェイスについては、閉じた境界は、接続されているものと見なされて処理されます。ただし、組み立てたサーフェイス メッシュのサブサーフェイス間の境界は、接続されているとは見なされません。
[モデル]、[アニメート]または[シミュレート]ツールバーから次のいずれかのコマンドを選択します。
[修正](Modify) [デフォーム](Deform) [スムーズ](Smooth). このプリセットは、シェイプ全体をスムーズにする場合の最初のステップとして最適です。
[修正](Modify) [デフォーム](Deform) [リラックス](Relax). このプリセットは、シルエットに影響を及ぼさずにコンポーネントを位置合わせする場合の最初のステップとして最適です。
[スムーズ]プロパティ エディタが開きます。
この後で説明するように、スムージング エフェクトの強度を直接設定したり、ポイントのディスプレイスメントを外挿できます。さらに、スムージングを適用しない領域付近では強度を減衰によってコントロールしたり(「スムージングの対象領域と対象外領域の間に減衰を作成する」を参照)、最小ディスプレイスメントを設定する(「最小ディスプレイスメントを設定する」を参照)ことも可能です。
[スムーズ]プロパティ エディタの[一般]タブの[強さ](Strength)では、スムージングの量をコントロールします。これは、各ポイントの位置が隣接ポイントの位置とともに平均化される反復回数を表します。実数値は整数の反復回数の間で補間されます。
また、接続アイコンを右クリックすると、パラメータ マップも使用できます。たとえば、ウェイト マップを使用してウェイトをペイントして、強くスムージングする領域と弱くスムージングする領域を区別できます。パラメータマップを使用して値を制御する方法の詳細については、「パラメータ マップ」を参照してください。
特定の条件を満たす頂点をスムージングから保護することができます。また、平均位置の計算に選択されていない頂点を含めるかどうかをコントロールしたり、スムージングの対象領域と対象外の領域の間に減衰を作成できます。
[スムーズ]プロパティ エディタの[一般]タブの[特徴の保持](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 normal direction)では、ポイントのディスプレイスメントの方向をコントロールします。
[平行](Parallel): ポイントはその法線(ローカル Y 軸)方向にのみ動くことができます。これは、たとえば、地図のグリッドや道路の配置に影響を与えずに、地面の高さをスムージングする場合に便利です。
[鉛直](Perpendicular): ポイントをそのローカルの X 軸と Z 軸の方向にのみ移動できます。これは、隆起やくぼみをスムージングせずに、サーフェイスに沿ってコンポーネントを位置合わせする場合に便利です。「スムージング時にコンポーネントを位置合わせする、またはシェイプを維持する」を参照してください。」を参照してください。
[スムーズ]プロパティ エディタの[カスタム フィルタ]タブでは、既定のスムージングとは別のアルゴリズムを指定できます。カスタム フィルタの使用時にも、各ポイントの位置は近隣ポイントの位置と平均化されます。ただし、以下をコントロールできます。
[スムーズ]プロパティ エディタの[一般]タブと[アドバンス設定]タブのその他のオプションはすべて、カスタム フィルタと組み合わせて使用できます。
[スムーズ]プロパティ エディタの[カスタム フィルタ]タブの[Distance type]は、ポイント間の距離を測定する基準を決定し、[Distance]は「近くの」ポイントがどのくらい離れているかを決定します。
どのような距離のタイプを指定しても、距離の値が大きいほど、オペレータが計算する近隣ポイントの数が多くなるため、計算に要する時間が長くなることがあります。[計算の制限](Computation limit)オプションは、互いを「近隣」と見なすポイントの数が膨大になるような値を設定した場合に、計算時間が過剰に長くなるのを防ぐ「安全弁」です。[計算の制限]の値が高く、[距離]の値も高い場合に計算に長時間を要する可能性があります。しかし[計算の制限]の値が低すぎると、Smooth Operator がすべての近隣ポイントを評価できない可能性があります。
[Neighborhood]の[Distance type]は、接続性を距離の測定基準として使用します。これは既定のスムージング アルゴリズムで使用される距離のタイプと同じですが、カスタム設定によって距離やプロファイルを自由にコントロールできます。
[距離](Distance): 2 つのポイント間の距離は、それらの間のあらゆるパスにおいてエッジの数が最も少ない距離です。このため、隣接ポイントの距離は 1 で、2 つのエッジによって区切られるポイントの距離は 2 といった具合になります。ポイント間を隔てるエッジの数は必ず整数ですが、距離に小数を使用することもできます。この場合は整数と整数の中間値が補間されます。たとえば距離を 1.5 にすると、距離 1 と距離 2 が実行する両ディスプレイスメントの中間地点でディスプレイスメントが実行されます。
[A Distance type of Edge Path Length]は、2 つのポイント間の最短パスにおける各エッジの長さの合計を、距離の測定基準として使用します。[距離](Distance)の値は Softimage 単位です。
[Spatial]の[Distance type]([近傍を考慮](consider neighborhood))はポイントがエッジ パスによって接続されている限り、3D 空間におけるポイント間の距離を使用します。[距離](Distance)の値は Softimage 単位です。
[Spatial]の[Distance type]([近傍を無視](ignore neighborhood))は、ポイントが接続されているかどうかに関係なく、3D 空間におけるポイント間の距離を使用します。[距離](Distance)の値は Softimage 単位です。
これはパーティクルで使用できる唯一の距離のタイプです(パーティクル内のポイントは接続されないため)。また、この距離のタイプはヘアにも有効です。同一ガイド ヘア上のポイントのみが接続されるためです。
[スムーズ プロファイル](Smooth profile)は、近隣ポイントの位置を距離の関数としてどのようにウェイト付けするかをコントロールするグラフです。水平な軸は近隣ポイントの距離を表します。[距離]スライダによって設定される最大距離は 100 です。垂直な軸は、平均位置を計算する際に、対応する距離に位置するポイントにどのくらい強くウェイトを加えるかを表します。値が正の場合はポイントがその近隣ポイントに向かって引っ張られ、値が負の場合は跳ね返されます。
プロファイル カーブを選択して編集するには、マウスと、FCurve Editor と同じキーボード コマンドを使用するか、右クリックしてメニューを表示します。