【Blender Tips】 曲面にキレイに穴を開けるには?
私はカーモデルの3Dプリント用のデータを作成するためにモデリング作業をすることが多いですが、自動車に限らず、ガジェット類、飛行機、宇宙船…などなど、曲面に円形もしくは楕円形などの穴を開けたくなることがよくあります。
ポリゴンメッシュに穴をあける、という作業自体はブーリアンモディファイアをかければできるので、そこは問題ではありませんが、問題はその後なのです。
問題を明らかにする
次のような滑らかな曲面に、楕円形の穴を開けたいとしましょう。ブーリアンで紫色の曲面に水色の楕円柱で穴を開けます。
ブーリアンを適用すると次のようになります。
ぱっと見キレイですが、頂点を表示すると…
ブーリアン後としてお馴染みの頂点の状況ですので、頂点を動かして整理します。このとき動かすのはもともとの楕円柱の頂点以外の部分のみです。楕円を形成する頂点を動かしてしまうと楕円形が変わってしまいます。
底に当たる部分がN角形のままだと後でサブディビジョンをかけた時に嫌なので適当に割っておきました。
穴の周囲も程々にエッジを追加したり消したりして整理します。この辺りはほどほどで構いません。またサブディビジョンをかけた時に穴の輪郭を残すため、クリースを設定(赤くなっているエッジ)しておきます。
サブディビジョンモディファイアを追加してこれで一安心…とはいかないのです!
BlenderにはMatCapという、反射で曲面の滑らかさを見やすくする表示モードがあります。これで見てみると…
穴の周囲で8角形の反射が歪んでいる部分が見つかります。これは先ほど頂点を整理したりして動かしたことによる歪みです。これを手作業で滑らかにするというのはほぼ不可能なので、これをなんとかする方法を考えないといけません。
解決策は?
さて、前置きがかなり長くなってしまい申し訳ありません。問題は前節で説明した『穴の周りの歪みを直して滑らかにする』ということです。
解決するために使う道具は【シュリンクラップモディファイア】です。
(1)穴を開ける前のメッシュをとっておきます。これにはサブディビジョンをかけておきます。細分化レベルは4くらいに少し高めにしておきます。
(2)後ほどモディファイアを適用する際に穴の内側を除外したいので、穴を開けたメッシュの方で穴の内側以外の頂点を選択して、頂点グループを作っておきます。もし、穴の内側がない場合はこれは飛ばしても構いません。
(3)穴を開けたメッシュにサブディビジョンとシュリンクラップのモディファイアを追加します。
サブディビジョンの方はレベルは1もしくは2あればいいでしょう。大事なのはシュリンクラップの方です。
ターゲットに(1)で準備した穴を開ける前のメッシュを指定します。頂点グループには(2)で作成したグループを指定します。
これでなにが起こるかというと、穴の周りの頂点がオリジナルの曲面上の一番近い位置に移動させられます。これによって穴の周りの曲面が穴を開ける前とほぼ同じになり滑らかになる、というわけです!
MatCapをかけても先ほどと違い、8角形の反射の歪みがほとんどありません!
注意点
さて、このテクニックの注意点としては、穴を開ける前のメッシュを取っておくということがあります。というより、作業手順として、穴をあけるのは後にして、全体的な曲面を先に作るようにしないといけません。
また、穴あけ作業を行った後に全体的なモデルの形状を変更するのは不可能ではありませんが、かなり面倒な作業になりますので、計画的に作業手順を考える必要があります。
また、穴あけを行うメッシュは荒すぎても細かすぎても色々と面倒になるので、モデリング作業がうまくできる程よいメッシュの解像度というのを会得する必要があるかとは思います。
まあ、何度か失敗しながらだんだんコツが掴めてくるようなものだとは思いますので、なんどか同じものを違う手順で作れないか試してみるのがいい練習になると思います。
オマケ
この手の機械部品のようなモデルを作ることを「Hard Surface Modeling」(ハードサーフェスモデリング)と呼びます。キャラクターフィギュアなどを作るものと違い、硬いものを作るというカテゴリになります。YouTubeで「Hard Surface Modeling」で検索するとワンサカ出てきますので、勉強したいという方は是非。
では、また。
この記事が気に入ったらサポートをしてみませんか?