
【Blender Tips】 パイプ、ケーブルの作り方あれこれ
ここ最近もっぱらカーモデル用の3Dデータを作るためにBlenderで3Dモデリングを行っています。バイクをモデリングする場合は排気管周辺はかなり外から見えるので、その重要性はより高いと思いますが、車の場合はあまり外側にはパイプ類はありません。それでもエンジン類をつくるとなると、パイプやケーブル類は結構出てきます。
この記事ではパイプやケーブルを作る手法をいくつかご紹介いたします。
SpinツールとExtrude(押し出し)
最も簡単で分かりやすいパイプの作り方は「Spin」ツールを使った方法だと思います。
まずポリゴンメッシュのシリンダーを作ります。次にパイプを曲げながら伸ばしていくのですが、その際円弧の中心になる位置にEmptyオブジェクトを置いておき、3DカーソルをそのEmptyオブジェクトの位置に移動しておきます。これはSpinツールがカーソル位置を基準に動作するためです。

そしてシリンダーをメッシュ編集モードにして上面を選択、左側のツールバーからSpinツールを選びます。そうすると赤い+が両端についた円弧が出るので、それをドラッグします。

そうするとシリンダーが曲がりながら伸びていくので、必要なところまで来たらSpinツールを確定して上面をさらにExtrudeするなどしてパイプを伸ばしていきます。

この方法は直感的ですが、ここにこの角度で置きたい!というような場合はむしろ手間がかかる場合が多いです。
Bezier(ベジェ)カーブを使う
初めからパイプを這わせる位置が決まっている場合はBezierカーブを使う方が楽です。
カーブプリミティブからBezierカーブを作ると、このような「へ」の字のようなカーブが作られます。編集モードにすると両端にハンドルと呼ばれるカーブを調整するための線分が出てきますので、それを移動させてカーブを必要な形に整形します。

その後カーブタブのBevelセクションで、Depthの値にパイプの太さを入力すると、カーブに沿ってパイプが作られます。もしこのパイプの頂点を編集したり、他のポリゴンメッシュのオブジェクトと繋いだりする場合には、一旦メッシュに変換する必要があります。

ただ、メッシュに変換する前であれば、カーブを編集することでパイプの微調整ができる点でSpinツールより使いやすいですが、Bezierカーブは編集に多少慣れが必要なので、頂点一つのポリゴンメッシュから、Extrudeで頂点を伸ばしていってジグザクのエッジを作り、

Convert To → Curve でカーブに変換後、Set Sprine Type → Bezier に変換、

Depthを入力してパイプにする方法もあります。

角の滑らかさについては、Bezierカーブを編集して曲線にしてからDepthをつけてもいいですし、ポリゴンメッシュに変換してからBevelやSubdivisionサーフェス等を使って角を落としてもいいですね。
ただこの方法だと上の写真を見ていただいてもわかるとおもいますが、角のところでパイプの太さが一定ではなくなる場合があるので注意が必要です。これはカーブ上の制御点の数や密度によるので、カーブについての知識が必要になります。
Bridge Edge Loopを使う
そこで直感的で、かつ色々と融通が効く方法として Bridge Edge Loop を使うという方法があります。
まず、ポリゴンメッシュの四角形を作ります。これを編集モードで面を複製、移動させます。この段階ではまだ繋がっていないですが、ここを通したい、とかこの場所に繋ぎたいというところに配置します。

そして編集モードのまま全ての面を選択して Edge → Bridge Edge Loop を実行すると、

パイプの出来上がり! Number Of Cuts の値を上げると滑らかに指定した断面を繋いでくれます。あとは Subdivision Surface モディファイアを使って仕上げればOK。

上記の例のように一気に全部を繋いでもいいですし、部分的にパラメータを調整しつつやり直すこともできます。また、この例は個別のオブジェクトとしてパイプを作りましたが、すでに出来上がっている部品の一部にパイプを作る場合にも使えるので応用が効きます。
またこの場合の利点として、パイプの分岐を作りやすいという点が重要です。

これは車のエンジンの排気管ですが、エンジンからでた3本のパイプを1本にして車の後ろまで送るための部分です。SpinツールでもBezierカーブでも難しく、複数のパイプを作ってから繋ぎ合わせるのもメッシュの編集が大変です。
実ははこのパイプはポリゴンメッシュではこうなっています。

断面を丸くするのは Subdivision Surface に任せてしまっています。編集する段階では断面は最低限の四角形です。
そして、作りはじめはパイプの分岐点から作ります。その後エンジンに繋げる場所と Bridge Edge Loop を使ってパイプを繋いでいます。

Edge Crease を調整することで、Subdivision Surface 適用後の断面を円ではなく滑らかな角のある四角っぽいパイプにすることもできます。

おまけ:プラグインを使う
3Dプリントするにはあまりに細いので、プリント用ではありませんが、実際にカーモデルを作っていく段階で、リード線やビニールチューブなどを使ってエンジンをディティールアップすることがあります。
その計画として、3Dプリント用のエンジンのモデリングをしている途中で、接続位置を決めておくためにケーブル類もモデリングすることがあります。

これを助けてくれるプラグインとして重宝しているのが「Cablerator(ケーブレーター)」。有料ですが、個人ライセンスは14ドルとお手頃な価格かと思います。
このプラグインは2点を指定すると、その間を滑らかに繋いだカーブを生成した上でパイプ化まで行ってくれるものです。上で説明したBezier(ベジェ)カーブを使う方法を自動化してくれるものと言えるでしょう。他にカーブに沿ってオブジェクトを配置しつつパイプ化するなど、様々な便利機能がたくさんありますが、そちらはあまり使っていません。
なにしろカーブを作って滑らかに繋がるように編集、という作業を完全に省くことができ、結構無茶な繋ぎ方をしても結構うまくカーブを生成してくれるので重宝しています。
ただ、まあカーブベースなので分岐とかその辺りはできませんから、目的ごとに使い分け、というところだと思います。
おわりに
この記事では、パイプ類を作る手法をいくつかご紹介しました。これ以外にも「こういうものを作るならこっちの方法の方が向いている」みたいなことはたくさんあるので、日頃から「同じものを違う手法で作る」を実践すると技術の引き出しが増えていいかなと思います。
ご参考になれば幸いです。ではまた。