[Shade3D] 古いテレビをモデリング 4

  • by

前回の続きです。
古いテレビの背面のモデリングを行います。
今回もモデリングのみとしています。

前面パネルの装飾

1つモデリングを忘れていました。
スクリーン部の下のスペースに横長の装飾を付けます。
ポリゴンメッシュの直方体を配置します。

後ろを向いている面は不要なため選択して削除しておきます。

角の4つの稜線を選択し、エッジベベルを適用します。
ツールパラメータで「分割数」を2としました。

前面のパネルは以下のようになりました。

背面のモデリング

テレビの背面の板をモデリングします。
現在は以下のようになっています。

背面に穴を開ける

ここの背面を取って、茶色のボードを入れるようにしました。
こんな感じにしていきます。

背面の面を選択し、ツールボックスでベベルを実行し面ベベルを行います。
ツールパラメータの「押し出し」を選択、「拡大率」0.92、「サイズ」0として面の内側に押し出しました。

マニピュレータで拡大縮小して、上下左右の面が同じ幅になるように調整します。

再び面ベベルを実行し、ツールパラメータの「押し出し」を選択して「拡大率」1.0、「サイズ」をマイナス値にします。
これでテレビの内側に面を押し込みます。

選択された面は不要のため、削除して穴を開けた状態にします。

端の稜線を選択し、エッジベベルで面取りしました。

この穴にボードを開けていきます。

背面のボードをモデリング

穴を塞ぐように直方体のポリゴンメッシュを配置します。

コンセントを出す部分として、後ろから見て右下に穴を開けます。
正面図で3か所に「ループスライス」で切れ目を入れます。

面選択モードで穴部分の面を選択して削除します。

面が開いている部分が3か所あるため、頂点選択モードで4つの頂点を選択しツールボックスの「面を張る」で面を張ります。

他の部分も同様に面を張ります。以下のようになりました。

ボードの四隅の稜線を選択し、エッジベベルで角を丸めます。
ツールパラメータで「分割数」を2としました。

なお、一時的に選択形状以外を非表示にするには
透視図のナビゲーションバーのメニューで「選択形状のみシェーディング表示」チェックボックスをオンにします。

「ブール演算」で穴を開ける

次に、ボードに「ブール演算」で穴をあけていきます。
背面のボード(ここでは水色のワイヤーフレームを指定しています)を突き抜けるように、
穴を開けるための直方体のポリゴンメッシュを配置して角をエッジベベルで丸めました。

抜く側のポリゴンメッシュを紫のワイヤーフレームにしています。

ポリゴンメッシュの円柱を配置します。
このとき「分割数 V」は1としています(円柱の高さ方向の分割数を1にする)。

この円柱を横に等間隔で複製しました。

この横に並べた円柱を選択し、複製して下に移動します。さらに横にずらしました。

この2行分を下に2回繰り返して複製します。

「オブジェクト結合」でこの円柱のポリゴンメッシュを1つにまとめました。

これらの円柱のポリゴンメッシュを複製し、以下のように左右に配置しました。

これで、ブール演算対象の形状として、紫のワイヤーフレームで表示されているポリゴンメッシュが切り取り側、
水色のワイヤーフレームで表示されているポリゴンメッシュが切り取られる側、となります。
紫のワイヤーフレームのポリゴンメッシュをすべて選択し、1つのポリゴンメッシュに「オブジェクト結合」します。
以下の画像では、ブラウザで「切り取り側」と「背面ボード」の2つのポリゴンメッシュに分かれています。
これらを使ってブール演算することになります。

「ブール演算」で注意点があります。まずはそのままブール演算してみます。
「切り取り側」のポリゴンメッシュ形状をブラウザで選択し、ツールボックスの「編集」-「共通」-「その他」-「ブール演算」を選択します。
ブラウザで「背面ボード」の形状を選択し、ツールパラメータで「くり抜く」ボタンを押します。
「三角形分割」「均等分割」チェックボックスはオフにしておきます。
これは、ポリゴンメッシュに非平面が存在しないことが確実である場合に有効です。
非平面が含まれる場合は「三角形分割」をオンにしないとブール演算は失敗しやすくなります。

ブール演算結果は以下のようになりました。

それぞれの端に稜線の集中が見られます。
これはあまりいい状態ではないため、いったんブール演算前に戻して「背面ボード」のポリゴンメッシュにいくつか切れ目を入れます。

「ブール演算」のための最適化

ブール演算の影響を受けない面をあらかじめ分割しておきます。
以下の画像の赤い部分はブール演算で分割されてほしくないため、あらかじめ面を分けておきます。

面分割する場合、4つの頂点を持つ面は「ループスライス」を使えますが、3頂点、5頂点以上の面はループスライスは使えません。
そのため、「切断」を使います。
すべての面を選択し、ツールボックスの「編集」-「メッシュ」-「編集」-「切断」を選択。
正面図で、切断したい面を横切るようにドラッグします。

以下のように分割されました。

同様に、いくつか切断を行います。

再度ブール演算すると以下のようになりました。

透視図で見て左上の箇所はまだエッジが集中しているので調整します。
この部分は、穴を開ける際に1枚の凹ポリゴンメッシュでも表現できないパターンになります。
この場合は、切り取られる側のポリゴンメッシュで穴を横切るように切れ目を入れます。

再度ブール演算すると以下のようになりました。

これでブール演算は完了としました。
生成されたポリゴンメッシュを「背面ボード」と名前変更し、元の2つのポリゴンメッシュは削除しました。

なお、この背面ボードは面数が多いです。
そのため、ARで使う場合は穴のない板にして使用することにします。
レンダリングではこの穴あけした背面ボードを使います。

背面ボードの留め具

「背面ボード」の四隅に留め具を付けます。
ポリゴンメッシュの直方体を配置しエッジベベルで面取り、下側を少しX軸方向に縮小しました。

これを複製/回転させて四隅に配置します。

テレビの側面でつかむ箇所を追加

テレビの側面でつかむための穴を付けます。
「ループスライス」でテレビのポリゴンメッシュに切れ目を入れます。

面選択モードで、側面の面を選択して削除し穴を開けました。

反対側も同じように「ループスライス」で切れ目を入れて、面を選択して削除して穴を開けます。

この穴を埋めるようにポリゴンメッシュの直方体を配置します。

外側の面を選択し、面ベベルで「サイズ」0で面の内側に縮小します。

マニピュレータでYZ方向に拡大縮小して四隅が同じ幅になるように調整します。
面ベベルで「拡大率」1.0、「サイズ」をマイナス値にしてテレビの内側に押し出します。

角になる稜線を選択して、エッジベベルで面取りします。

反対側も同様につかむ箇所を作ります。
テレビはX軸方向に左右対称になっているため、「ミラーリング」を使って「形状を実体化」しました。

これで一通りのモデリングが完了しました。

次回はマテリアルを指定する前処理として、UVを割り当てていきます。