スイープオブジェクト

スイープオブジェクトは、断面スプラインを、パススプラインに沿ってスイープさせてオブジェクトを作成します。スイープオブジェクトを作成するには、まず断面スプラインとパススプラインを作成し、それをスイープオブジェクトの子オブジェクトにしてください。1番目のスプラインが断面、2番目のスプラインがパスとして認識されます。スイープオブジェクトにはさらに3番目のスプラインを指定できます。これは「レールスプライン」と呼ばれ、レールスプラインを使うと、パスに沿って断面スプラインの大きさを変えたり、回転させることができます。あるいはその代わりに、関数グラフを使用することもできます。これを使って、直接関係のある全てのレールスプライン機能を調整することが可能です。

断面スプラインは、オブジェクト座標のZ軸方向にスイープされます。したがって、その形状は XY平面内に作成しておく必要があります。

断面スプラインは複数のセグメントを持つことができます。例えば、多くの文字を含むテキストスプライン全体をパススプラインに沿ってスイープすることもできます。

パススプラインに沿って、ロゴの断面スプラインをスイープさせたオブジェクト。
レールスプラインを使って左端のスケールを30%に縮小しています。

レールスプラインを使って左端のスケールを30%に縮小しています。

断面スプラインは、オブジェクト座標のZ軸方向がパスに沿うようにスイープされます。スプラインプリミティブのように、XY平面に含まれる平面的なスプラインをスイープする場合、あまり問題は生じません。しかし、立体的な構造を持つスプラインをスイープすると、パスがきつく曲がっている部分で面が交差するなどの問題を生じる場合があります。

バンクオプションが選択されている場合、次のようなルールにしたがって断面スプラインのZ軸が回転します。ただし、断面のZ軸は常にパスの進行方向を向いています。まず開始端では、断面のX軸がパスの外側を向くように回転します。そしてパス上を移動するにつれ、パスが曲がる方向に合わせて断面が回転します。スプラインが閉じている場合は、開始端と終了端で必ず断面の角度が一致し、なめらかにつながります。 ただし、直線のパスには「外側」が存在しないので、断面のバンク角度を計算できなくなります。

このような場合はバンクオプションを外してください。また、バンクを意図的にコントロールしたい場合はレールスプラインを追加してください。

バンクオプションが選択されていない場合、次のようなルールが適用されます。まず、断面スプラインのZ軸はスイープオブジェクトを基準としてY-Upされます。つまり、断面のY軸が、可能なかぎりスイープオブジェクトのY軸方向を向くようにZ軸を回転させます。この時、断面のX軸は必ずスイープオブジェクトのXZ平面内にあります。しかしこの方法では、パスが直立している部分で断面がねじれてしまいます。このような場合には、パスが直立しないように変更するか、バンクオプションを使うか、レールスプラインを追加してください。

スイープオブジェクトのU方向、およびV方向の分割数は、断面スプラインとパススプラインの分割数によって決定されます。スプラインの分割数は、オブジェクト属性にある「補間法」と「分割数」もしくは「分割角度」の値によって指定できます。補間法を「最適」にすると、少ないポリゴンでなめらかなオブジェクトを表現できますが、分割間隔が大きく変化します。

バンクがオン
バンクがオフ
スプラインパスの補間法が最適で、レールスプラインを使っている際、変化の少ない部分の分割が粗くなり、変形させるのが難しくなります。このような場合はポリゴン数を増やす必要があります。ですので、ナチュラルで分割してください。きれいに変形できます。
「最適」で補間したパス
「ナチュラル」で補間したパス

断面スプラインの傾きについてのトラブルシューティング

スイープオブジェクトを使っていてもっとも頻繁に起こりうる問題は、スプラインに沿うときに明確な理由もなく発生する断面スプラインの傾きと反転です。これは複雑な数的処理によって引き起こされます。しかしここでは数学に関する説明をするのではなく、具体的な解決例をあげることにします。

青:断面スプラインとパススプライン 赤:レールスプライン

図1が示すものが、典型的な問題の例です。断面スプラインの方向が突如変更しています。図2ではバンクをオンにしてスプラインをパスに沿って傾かせることで、部分的に問題を解決しています。

図3は別の方法によってこの問題を解決しています。図3ではXとYの断面の値を入れ替えて、バンクをオンにしています。図4ではレールスプラインを使って解決しています。この場合バンクをオンにする必要はありません。