Doc:JA/2.6/Manual/Modeling/Curves/Editing/Advanced
Page status (reviewing guidelines)
Partial page Images
some screenshots are correct, but taken from the 2.4
|
Curve Deform
(曲線の変形)
曲線の変形を使うと、簡単で効率的なメッシュ変形が行えます。メッシュオブジェクトと曲線に親子関係を作ると、メッシュを曲線に沿わせたり、変形軸に直行させて動かしたりしてメッシュの変形度合いを変えることができます。プリンター内を流れる紙、カメラの中にあるフィルム、水路の水など、複雑なパスにオブジェクトを沿わせるときに最も役立つツールです。
曲線の変形 は(グローバルの)変形軸(deformation axis)である X、Y、Z軸に対して動作します。これは、変形軸方向にメッシュを動かすと、メッシュが曲線上を動いていくということです。変形軸に直角な方向にメッシュを動かすと、メッシュオブジェクトは曲線から近づくか、遠ざかるかします。Blender のデフォルトでは Y軸が変形軸に設定されています。オブジェクトを曲線の終端を越えて動かすと、オブジェクトは曲線の終端のベクトルに沿って変形を続けます。
「曲線の経路」が 3D なら、その制御点の 傾き(Tilt) の値がその周りの「曲げられた」オブジェクトをねじる(twist)のに使われます(上の押し出しの章をご覧ください)。半径(Radius)プロパティは、残念なことに使われていません(以前は例えば「曲げられた」オブジェクトのサイズ変更をするために使えたのかもしれませんが…)。
ヒント | |
オブジェクトを追加したらすぐ、曲線変形を追加する前に、オブジェクトを曲線の上に置いてください。変形のしかたを制御しやすくするには、こうするのが一番良いでしょう。 |
モディファイアを使いましょう!
曲線の変形の動作は カーブモディファイアでも実現できます。基本的に カーブモディファイアは同じ動作をしますが、違うのは、プロパティパネルで「変形軸(deformation axis)」を設定すること、Track X/Y/Z ボタンがもう効力を持たないことです。そして追加機能では、メッシュの頂点グループにあるものだけを曲げるようなことができます…
|
Interface
(インタフェース)
オブジェクト(メッシュ、曲線、メタ…)と曲線に親子関係を作る(CtrlP)と、ペアレント対象(Make Parent) メニュー が表示されます(右図)。
曲線の変形 を選ぶと、メッシュオブジェクトの曲線変形機能を有効化できます。
変形軸(deformation axis)の設定はメッシュオブジェクトに対して行います。Blender のデフォルトの変形軸は Y です。Anim パネル(アニメーション設定パネル)にある、Track X、Y、Z ボタンを押して変えられます。
環状の(閉じた)曲線では、環状の経路に沿ったオブジェクト変形が期待通りに動作します。ただし「親」オブジェクトに複数の曲線があるときは、その「子」は最初の1つにのみ沿います。
ストレッチ(Stretch)オプションを使うと、メッシュオブジェクトの伸縮、押しつぶしを曲線全体にあわせて行うようにできます。この設定は「親」の曲線に行います。画像 曲線/サーフェス パネル をご覧ください。
Example
(例)
簡単な例を作ってみましょう:
- デフォルトのキューブオブジェクトをシーンから削除して、Monkey(⇧ ShiftA » Add(追加) » Mesh(メッシュ) » Monkey(モンキー)、右図 Monkey を追加!)を追加します。
- ⇆ Tabを押して編集モードを抜けます。
- 曲線を追加します(⇧ ShiftA » Add(追加) » Curve(曲線) » Bezier(ベジエ)、右図 曲線を追加)。
- 編集モードにいる間、曲線の制御点を右図 曲線を編集 のように動かし、編集モードを抜けます(⇆ Tab)。
- さて、新しいモディファイアを使って Monkey を「曲げて」見ましょう:
- 右図 曲線上の Monkey のように、Monkey は曲線上に配置されなければなりません。
- Monkey を選び(RMB ) Y方向に(デフォルトの変形軸)に動かすと(G)、monkey は曲線に沿ってうまく変形します。
ヒント | |
Monkey を動かすときに MMB (またはX/Y/Z のいずれか)を押すと、1つの軸方向にだけ移動を制限できます。 |
- 画像 Monkey の変形は、Monkey が曲線上数カ所に置かれています。変形を見やすくするために、細分分割面モディファイア(SubSurf) を 細分化(Subdiv) を 2にして使い、スムーズ(Smooth) を Monkey のメッシュに設定しました。
ヒント | |
変形の軸以外の方向に Monkey を動かすと変わった変形になります。作りたいものができることもあるので、試す価値はあります。試してみて! |
Curve Extrusion
(曲線の押し出し)
このセクションでは曲線の押し出し方、厚みをつける方法、パスに沿って厚みを調整する方法を扱います。
Extrusion
(押し出し)
モード: オブジェクトまたは編集モード
パネル: Curve(曲線)または Surfce(曲面)
ああ! 押し出しは! おそらく曲線のモデリングで一番面白いツールです。特にベベル(bevel)/テーパー(taper)/傾き(Tilt)/半径(Radius) オプションと組み合わせると…。なお、以前のページで述べられた 押し出し (E) コマンドとは無関係です!
動作の影響範囲に応じてさまざまな設定があります:
- Width(幅)
- 押し出した曲線の、曲線自身に相対的な「境界線」の位置を調整します。閉じた 2D 曲線(後述)では、とてもわかりやすいものです。幅を1.0 より広くするほど押し出したボリュームの幅が広くなり、幅 を 1.0 にすると境界線は曲線にぴったり合う大きさになり、Width を 1.0 より狭くするほどボリュームは狭くなります…。この原理は開いた 2D と 3D の曲線にもあてはまりますが、曲線の「外側」と「内側」の判断の仕方が少しおかしいようです…。
- 押し出した「ベベル」オブジェクトと同じ効果です…。
- Tilt(傾き)
- 残念ながら、この値は Blender のどこを探しても見つかりません。この設定は曲線周りの各点の「ねじれ角度(twisting angle)」を調整します。したがって 3D の曲線にだけ関係します!
- 値は 傾き(Tilt)トランスフォームツール (T か Curve(曲線) » Control Points(制御点) » Tilt(傾き)) を使って設定でき、AltT (または Curve(曲線) » Control Points(制御点) » Clear Tilt(傾きをクリア))でデフォルト値(元の曲線の平面に垂直)に戻すことができます。
- NURBS では常に、傾きが滑らかに補間されます。一方ベジエ曲線では、補間アルゴリズムを Curve Tools(曲線ツール) パネルにある、傾きの補間(Tilt Interpolation) ドロップダウンリストから選ぶことができます(古典的な 線形(リニア、Linear)、カーディナル(Cardinal), Bスプライン(B Spline) および ゆるやか(イーズ、Ease) オプションがあります…)。
Simple Extrusion
(単純な押し出し)
最初にベベル/テーパーを使わない、「単純な」曲線の押し出しを見てみましょう。
- Extrude(押し出し)
- 押し出しの幅(または高さ)を調整します。オブジェクトのスケールが 1のとき、押し出し を 1.0 にすると、1 BUの大きさを持つ曲線を、曲線の平面に垂直な軸に沿って、両側に押し出します(3D 曲線の仕様については後述します)。オブジェクトのスケールが変わると押し出しの長さも当然変わってきます。
- 0.0 にセットすると押し出しはありません!
- Bevel Depth(ベベルの深度)
- 押し出しにベベルを追加します。効果については下をご覧ください…
- ベベルは押し出しをより広く、高くすることに注意してください。
- 0.0 にセットされると、ベベルはなくなります(最大値は 2.0)。
- Bev Resol(ベベルの解像度)
- ベベルの深度を 0 より大きくしてできた、ベベルの解像度を調整します。
- 0(デフォルト)に設定されるとベベル表面は単に「平ら」になります。
- 曲線自身の解像度と同じく、値が高いほどベベルは滑らかで、角の丸みが増します…
曲線が開いているか閉じているか、または3Dであるかどうかによって3種類に分類できます。
- 開いた 2D の曲線
- 押し出しは曲線形状に沿う「壁」や「リボン」を作ります。ベベル深度 が使われると、壁が滑り台か溝のようなものになります。ベベルの方向は奇妙で予期しないものになることがあり、同じ曲線の逆方向になることがよくあります…。方向は曲線の Switch Direction(方向の切り替え)で変えられます。
- これを使うと例えば押し出してベベルをつけた曲線と、その曲線にパスに沿う制約をつけた球を組み合わせて、複雑な滑り台を大理石が転がり落ちるところを手早くシミュレートするようなことができます…
- 閉じた 2D の曲線
- ボリュームを手早く作れるため、おそらくいちばん役立つ状況です。押し出された「壁」の両側を、デフォルトでは2つの平らで平行な面で埋めます。3D の隣にある 後ろ(Back) や 前(Front) の切り替えボタンを無効にすると、片方か両方の面を取り除けます。
- ここで追加されるベベルは常に「右方向」になり、ボリュームの「辺」を滑らかにできます。
- 3D 曲線
- ここでは曲線が閉じているかどうかは重要ではありません。3D 曲線の押し出しでボリュームを作ることはできず、開いた 2D 曲線を使ったときのような壁かリボンしかできません。
- ただ、3D 曲線にはもっと多くの機能があります: 制御点の傾き(Tilt)です(上記参照)。曲線の周りにねじるリボンを作ります…例えばメビウスの帯ような!
Advanced Extrusion
(高度な押し出し)
ここでは、非常に入り組んだ有機形状を作るために、1つか2つ追加の曲線オブジェクトを使って押し出します。
この種の押し出しを有効にするには、曲線のベベルオブジェクト(BevOb)欄に、押し出しの「脊柱」として使う、有効な曲線オブジェクトの名前を入力する必要があります。「ベベル」曲線は押し出したオブジェクトの交差部分を制御します。ベベルオブジェクト(BevOb) 曲線が 2D であるか 3D であるかに関わらず、それが閉じていれば「チューブ状」の押し出しを作り、そうでなければ溝か滑り台のようなオブジェクトを作るでしょう…
オブジェクトは内部の曲線の長さ全体に沿って押し出されます。デフォルトの押し出し幅は固定値ですが、制御点の 半径(Radius)プロパティか「テーパー(taper)」オブジェクトのどちらかのやり方で調整できます。
点の 半径(Radius) は 収縮/膨張(Shrink/Fatten Radius) トランスフォームツール (AltS か 曲線 » トランスフォーム » 収縮/膨張(Shrink/Fatten Radius)) を使うか、スペシャル(Specials) メニュー (W)にあるカーブ半径を設定(Set Radius) 入力欄から設定できます。ここでも、残念ながら制御点の 半径(Radius)はどこにも見つかりません…
半径(Radius) を使って、「脊髄」に沿う押し出しの幅を直接制御できます。傾き(Tilt)(上記参照)と同じく、ベジエ曲線に使われる補間アルゴリズムを曲線ツール パネルにある 半径の補間(Radius Interpolation) ドロップダウンリストで選べます。
ただ、別のもっと正確なオプションを使うこともできます。「テーパー(taper)」オブジェクトです。「ベベル」と同じで、メインの曲線の テーパーオブジェクト(TaperOb)欄で名前を決められます。これは 開いた曲線 でなければなりません。テーパー曲線はローカルの X軸 に沿って作られ、ローカルの Y軸 で幅を制御します。次の点にも注意してください:
- テーパーは押し出されたすべての曲線に、それぞれ独立して用いられます。
- テーパーオブジェクト の曲線が複数のわかれたセグメントを持っていたとしても、最初の曲線だけが使われます。
- 拡大縮小は左の最初の制御点から始まり、曲線に沿って動き、右の最後の制御点まで動きます。
- 負の拡大縮小(テーパー曲線のローカルの 負の Y座標)も同様に使えます。ただし、レンダリングの乱れ(rendering artifact)が起きるかもしれません。
- テーパー曲線の計算に基いた通常の押し出し幅を拡大縮小します。これは、テーパー曲線の角の立ったコーナーが見にくくなるということです。土台になる曲線の(解像度(DefResolU)を上げる必要があるでしょう。
- 閉じた曲線では、テーパーオブジェクト(TaperOb) のテーパー曲線変形はオブジェクトの長さだけでなく曲線全体(オブジェクトの周囲)に行われ、押し出しの深さを変えます。このとき、循環点(cyclic point、曲線の終端同士が繋がるところ)の変わり目を滑らかにするには、テーパーオブジェクト(TaperOb) のテーパー曲線の両端の高さを同じにします。
大事なことを言い忘れました、3D の「脊柱」曲線では、制御点の 傾き(Tilt)で、曲線に沿って押し出した「ベベル」のねじれを制御できます!
Examples
(例)
TODO: 簡単な押し出しの例を追加
TODO: 半径を指定したベベル押し出しの例を追加
テーパー曲線を使って簡単な曲線の円をテーパー押し出ししてみましょう。曲線を追加して編集モードを抜けます。曲線をもう一つ追加して(円のような閉じた曲線)名前を「BevelCurve
」にし、最初の曲線のベベルオブジェクト(BevOb) 欄に入力します(プロパティウィンドウの Object Data コンテキストから)。パイプができました。3つめの曲線を オブジェクトモードで追加し、名前を「TaperCurve
」にします。左の制御点を5単位ほど上に移動します。
では最初の曲線の Object Data パネルにある テーパーオブジェクト(TaperOb) 欄に、先ほど「TaperCurve
」と名付けた新しいテーパー曲線を入力します。Enter を押すとテーパー曲線が用いられ、すぐに結果が表示されます。(画像 テーパー押し出しを使った曲線)。
ご覧のように'テーパー曲線'が'押し出したオブジェクト'に用いられています。左から右に向かうにつれ、パイプのボリュームがどのように縮み、最終的になくなるかを見てください。テーパー曲線がローカルの Y軸より下になると、パイプの内側が外側になり、描画の乱れが生じます。もちろん、アーティストとして望んだものかもしれませんが!
右の画像 テーパー例 1 では、ご覧のように左のテーパー曲線が右の曲線オブジェクトに与える影響がはっきりとわかります。左のテーパー曲線がオブジェクトの中心に近づくほど、右の曲線オブジェクトは小さくなります。
画像 テーパーの例 2 では、左のテーパー曲線の制御点が中央から離されていて、右の曲線オブジェクトの幅が広くなっています。
画像 テーパーの例 3 は、テーパー曲線を曲線の円に用いるもっと変わった例を示します。
TODO: 傾き(Tilt)を使ったベベル押し出しの例を追加