少し複雑めのモデルとして、電気ケトルを作成してみた。

取っ手がついていたり、フタやベースがあったりと、やや複雑な形状。
とりあえず本体の部分は円柱から作れそうなので、そこからソリッド化して作成した。

注ぎ口の部分は円柱の1辺をとがらせて作成。取っ手の部分はループカットによって区切った部分から面を伸ばし、面ブリッジ機能を活用してアーチを作っていく。が、メッシュ構造がだいぶ複雑となり、余分なメッシュの区切りが入ってしまったため、この取っ手の部分は連続メッシュにする必要はなかったのかもしれない。メッシュ分離の有無によって、マテリアルの適用具合や、影の歪み、メッシュのずれが出てしまうことなどが起こるかもしれない。こういった構造でメッシュをくっつけるべきか、分けて作るべきかは慣れなのだろうか。

↑Blend Surfaceでくっつける。Interpolationによってはねじれてしまったり、ここはミラーの中心なのでミラー編集だと面ごとにくっついて分かれてしまうことがある。
いつものように取っ手の角はベベルを使って丸みを帯びさせてみたが、このベベルがまたメッシュの流れをぐちゃぐちゃにする原因にもなってしまっている。やはり別メッシュにするべきだったのだろうか。蓋の開閉の軸となる切り欠きも追加しておいた。なお今回のモデルには開閉機能などは搭載されていない。

スイッチの部分は面の差し込みやスケールを使って溝を作り作成。蓋は円柱の内側の部分をCtrl+Dで複製したのちに、面の拡張で上面を覆うように作成した。蓋の取っ手は注ぎ口側と、取っ手側で暖をつけることでスペースを確保。もう少し大きく作っても良かったかもしれない。

台の部分も同じように本体の一部分を複製し、面を伸ばしていく方法で作成。
このあとUV展開にうつるが、これくらいの量でもシームを入れるのが結構大変。さらに複雑なモデルとなった時どれほど手間がかかるのだろう。UV展開がきついという声を聞くのもよくわかる。3つのオブジェクトに分けて作成したが、一つのテクスチャマップに3つともすべてのUVレイアウトを配置できるようにした。(のちにこの作業はあまり意味がなかったことになる。)

UV展開が終わったら、SubstancePainterでテクスチャをつけるため、BetterFBXExporterをつかってFBXにエクスポート。
がここでちょっとミス。3つのオブジェクトに同一のマテリアルを割り振ったためSubstancePaintrでフタの中身や、土台の部分が隠れてしまう。一応2DのUV空間では確認することができるが、どのアイランドがどこに対応するかは覚えてないし、これはBlenderで確認するのもなかなか難しい。
対応策として、AlphaTestを用いて、隠す部分にOpacity0を割り振り、ぬることを考えた。しかしこの方法だと、党名となり隠れた部分にも当たり判定があるので、結局オブジェクトが重なっている部分を3Dペイントで選択することができない。仕方がないのでオブジェクトごとにマテリアルスロットを分割することに。

マテリアルを分ければ、マテリアルごとに表示ONOFFが切り替えられるので、塗り分けていくだけである。テクスチャをエクスポートして、Blenderでノードをつなげば作業完了。

なんとなく、UnrealEngine、Unityの両方に対応させたかったので、Unity側に合わせたテクスチャチャンネルの割り当てになっている。そのため、RoughnessがGlossinessとなっており、減算ノードを使ってラフネス値に反転させている。なぜUnityは標準シェーダでRoughnessとしなかったのだろう?
一応最近作っているモデルはゲームエンジンで使用することを目的としているため、プリレンダ用というよりかはリアルタイム用ということになるのだろう。ゲーム系は三角面の使い方など、BlenderOnlyで完結する教本などには載っていないような作法もありそうなので、ほかの方のモデルを参考に調査していく必要がありそうだ。
また今回のモデルは△4022、頂点数は2023となった。この値はこの規模のモデルにしては多いのだろうか。ギミックをつけないならもう少し単純化しても良かったのかもしれない。
そういえばこのモデル、電源コードが付いていない。きっと無線給電なんだろうな()
- Blender 2.92.0
- Substance Painter 2021
- 作業時間 3時間ほど
コメント