最終更新:2020/04/22
ある立方体の角や辺を丸めたいとする。転がりやすいように角をとってあるサイコロのようなものをイメージして欲しい。
ボックス
色々な方法があると思うけど、まずは「作成」メニューグループにあるボックスツール(Shift+X)で最初から丸めてしまう方法。ボックスツールを選択したらNキーを押して数値入力ウィンドウを有効にしてそこへカーソルを移す。「半径」を「100mm」に設定し、「局部の分割率」を「8」に設定する。ここでは簡単のために立方体の1辺の長さを1mに統一してある。
数値入力ウィンドウの何もないところを左クリックするか、Enterキーを押して数値を確定し、さらにEnterキーを押すと次の画像のような角を丸めた立方体ができる。
ラウンダー
次に、ラウンダーを使う方法。ボックスツールで角を丸めていない普通の立方体を作り、エッジ選択モードにする。「選択」メニューグループから選択モードを選ぶ方法もあるけど、マウスを動かすのはモデリングのためだけにして、極力メニューを選ぶのには使いたくないところ。
ショートカットキーの初期設定を変えていなければ、スペースキーを何回か押すと「ポイント」→「エッジ」→「ポリゴン」→「ポイント」と循環するトグル選択ができるので、選択モードを変えたくなったらとにかくスペースキーを押す習慣をつけるといい。
次の画像のように12本あるすべてのエッジを選択する。
「マルチ加工」メニューグループにあるラウンダー(Rounder)を選択し、Nキーを押して数値入力ウィンドウを開く。
できれば、数値入力ウィンドウは常に表示しておくようにしておくと数値入力を要求されているのかどうかすぐにわかるので便利。マルチディスプレイ環境にしている人はサブディスプレイに表示させておくと邪魔にならなくていい。
次の画像のように「Rounding Polygons」を「8」に、「Inset distance」を「100mm」に設定する。他の設定は変更しなくていい。
このままでは何も起こらないので、選択したエッジか、そのエッジを構成するポイントの付近を左クリックすると、角が丸まる。そのままドラッグすると丸まりの半径を変更できるけど、自分の意図しない方向へ動いてしまった場合は数値入力ウィンドウの値を訂正してEnterキーを押す。次の画像のような角のとれた立方体ができる。ボックスツールから作った場合とでは、8つある隅の処理の仕方が異なるのがわかる。
ボックスツールでは、必ず12辺すべてを丸めてしまうけど、ラウンダーは選択したエッジの場所によって丸める箇所を指定できる。例えば、次の画像のように上面のエッジだけを選択したとする。
上と同じ設定でラウンダーを適用すると、次の画像のように上の辺だけ丸まる。
立方体は生成ツールに角を丸めることができる設定があるけど、他のツールにはないことが多い。例えば、円柱のようなモデルはディスクツールで作るけど、角を丸める設定はない。そこで、次の画像のような円柱の上面のエッジをぐるりと選択し、ラウンダーを使う。
複数のエッジを選択する際に投げ縄選択で選択してもいいけど、連続する2つ以上のエッジを大雑把に選択しておいて「選択」メニューグループにある「ループ選択(Select Loop)」をすると一周自動的に選択してくれるので覚えておくと便利。
また、上面のポリゴンを選択し、同じく「選択」メニューの「選択をエッジに(Sel Edges)」ツールを使うとそのポリゴンに属しているエッジがすべて選択されるので、これも覚えておくと便利。他にも「選択をポイントに(Sel Points)」「選択をポリゴンに(Sel Polys)」があり、選択モードを逐一切り替えて選択しなおさなくても同じ対象をそれぞれの選択モードに置き換える機能がある。いずれもループ選択がうまくいかない場合やポイントやエッジの距離が密になっていて選択しにくい場合などに重宝する。
上面だけに同じ設定でラウンダーを適用すると次の画像のようになる。
3DCGの世界では厳密な意味での「円」という概念はなく、多くのエッジ(すなわち直線)で構成される正X角形を擬似的に円として扱う。コンピュータが高性能化した現在でも、リアルタイム性を問われるゲームなどで描画処理を速くするために、細かくて比較的どうでもいいところは断面が四角形の棒状のモデルを45度斜めに傾けて「円筒」として扱ってしまうこともある。
話を戻す。滑らかな円にしようとすればするほど円のエッジの数は多くなり、ポリゴン数も増え、その後の加工にも手間がかかる傾向にあるが、ラウンダーはエッジの数が多くても1回で加工できるため、このような場合に特に威力を発揮する。
ラウンダーによる面取り
ラウンダーによる分割数を1にすることで、面取りを行うことができる。立方体の12辺を選択し、次の画像のように「Rounding Polygons」を「1」に設定する。
次の画像が適用した結果。8つある角も三角形に形成され、すべての辺が面取りされているのがわかる。ラウンダーの本来の意義からは外れているように思えるかもしれないけど、サーフェースのスムージングの設定次第によっては丸まって見えるため、これでもラウンダーの効果はあると言える。
特定のエッジにだけ選択式に面取りを行うことももちろんできる。次の画像は上面のポリゴンのエッジだけを選択した場合。
次の画像のような円柱も同様。
上の2つの例はいずれも水平なポリゴンに対してラウンダーを適用しているけど、この程度であれば、ベベル(Bevel)ツールを使ってもできる。「ベベル」という言葉には元々面取りの意味もある。ただ、ベベルによる面取りは元の形から体積が増えてしまう性質があるものなので、体積を増やしたくない場合は後で元の位置に戻す必要がある。ベベルを適用したポリゴンが様々な加工をしてきた結果で、中途半端な座標にあると正確に戻すのは困難なことが多い。むしろ、キリのいい座標にあること自体が珍しい。また、ポリゴンの法線方向に沿って押し出してくれるものの、シフト量とインセット量は厳密に計算しない限り目分量に頼らざるを得ず、精密なモデリングにはあまり向いていないことがある。更に、複数のポリゴンを選択してベベルを使用するとそれぞれのポリゴンごとに独立してベベルをかけてしまうので使い勝手が良くないこともある。
ラウンダーはエッジがどんなに斜めになっていようと、どんなに中途半端な座標にあろうと、元の体積を極力変えずに正確に丸めてくれるので追加的に面取りをしたくなった場合には重宝する。ただし、対象とするエッジのうちの1つのポイントが多数のポリゴンに属していたりすると意図しないところにもラウンダーがかかってしまうことがあり、必ずしも万能ではない。
ちなみに、以前の記事での取り上げた六角柱の面取りもラウンダーを使うと、いとも簡単に行うことができる。
以前の記事では側面の面取りだけだったけど、次の画像のようにすべてのエッジをまとめて面取りできる。
ここまででラウンダーは良いところばかりのように思えるかもしれないけど、一度ラウンダーを適用してしまうとアンドゥ(Ctrl+Z)以外の方法で元に戻すのは困難になるという点は覚えておいたほうがいい。適用する前にオブジェクトを保存しておくか、別のレイヤーにコピーしていつでもそこに戻れるようにしておくことをおすすめする。
サブパッチによる角の丸め方
ボックスツールによって角を丸めた場合でも、ラウンダーツールを使って丸めた場合でも、後でその丸まり具合の半径を変えたくなったなどの場合は非常に厄介なことになる。拡大縮小(Shift+H)を使うなり、ストレッチ(H)を使うなり、方法はないことはないけど、12辺すべてに修正をかけていくのはそれなりに手間がかかる。LightWaveに限ったことではないけど、すべてのポイントの座標は浮動小数点数で扱われているので、拡大縮小を繰り返すと誤差が蓄積していき、次第に丸まりに歪みが生じてくるようになる。
立方体のような単純なモデルの場合は最初から作り直してしまえばいいこともあるだろうけど、最悪の場合、ポリゴン同士の境目の角度に破綻が生じて奇妙な出っ張りや溝が出るようになったりもする。サーフェースのスムージングのしきい値を上げて解決すればいいけど、しきい値を上げたことによって、今度はきちっとエッジがきいていて欲しいところのポリゴンの境目が見えなくなってしまうといった事態も起こりうる。すると今度は、スムージングのしきい値の異なる別のサーフェースを用意してそこへ分割して…といった具合に泥沼にはまっていく。ラウンダーは便利だけど、適用した後のことを考えるとモデリングの初期段階で使うのはあまりおすすめできない。
そこで、サブパッチを使う方法を考える。次の画像のように、立方体の6つの面すべてにナイフツール(Shift+K)で端から200mmのところに格子状に切り込みを入れ、エッジとポリゴンを増やしてある。1辺の長さが1mなのは同様。一度に4つの面を輪切りにできるからナイフツールは6回使えばいいので、そんなに大した作業ではないはず。
どこも選択していない状態で、Tabキーを押す。すると、すべてのポリゴンを選択しているのと同じと解釈され、立方体全体にサブパッチがかかり、次の画像のような形になる。
次の画像のようにワイヤーフレームを非表示にするとサブパッチの効果がわかりやすい。ボックスツールやラウンダーツールを使った場合ほど幾何学的に正確な感じではないけれど、全体的に丸みをおびてサイコロというよりはバターかチーズのような生っぽい感じになる。角の丸みを変えたくなったら、ナイフツールで切って作ったポイント群をループ選択で選択してまとめて移動させていくだけでいい。立方体の端に近づくほど角は丸みを失っていき、離れるほど丸みが増していく。ナイフツールでエッジを増やすことが最初は面倒だと思うかもしれれないけど、「今は仮決めにしておいて後で不都合が出たらなんとでもしよう」という『行き当たりばったりモデリング』ができるのは3DCGの世界では実は驚異的なこと。
8ポイントだけで構成された普通の立方体にただサブパッチをかけるだけだと球と言うにはあまりに不格好な球体になってしまうんだけど、それはポリゴンを構成しているポイントの間隔が広く、サブパッチの影響範囲が広いから。ナイフツールでエッジとポイントを増やしたことによってサブパッチの影響が及ぶ範囲を制限し、角を残しつつ丸くしている。
逆にサブパッチの場合、その特性上、直角や鋭角というのは難しく、「正確にきっちり100mm丸めたい」という要求にも応じられない。サブパッチの挙動はベジエ曲線によく似ているんだけど、サブパッチを適用したモデルの外形がモデルを構成するポイントのどれかを必ず通過するわけではなく、そのポイントが線を曲げる強度や角度を決めることもできない。だから、外形が実際にどのくらいの半径で丸まっているかを厳密に計測することはできない。もっと言えば、ポイント間の距離がまったく同じでも、それらを繋ぐ曲線が真円の一部になるような正確な円弧を描くという保証もまったくない。あくまでも、ポイント間の距離でサブパッチの強度が変わるという点がベジエ曲線との決定的な違い。ベジエ曲線を使いこなすのも熟練が必要なように(私はいまだにうまく使えない)、サブパッチもその感覚を掴むのに手間取るため、LightWave初心者がつまづきやすい点のひとつになっている。ただ、理解できてしまえば、これほど生物をはじめとする有機的なデザインに向いているモデラーもないと言ってしまえるくらい、LightWave最大の特徴のひとつにもなっている。
「LightWaveによるエッジの丸め方と面取り」への2件のフィードバック