業務アプリケーションエンジニアをしている、しまふくろうです。
好きな色は薄群青(うすぐんじょう)。好きな甘味はキャラメルです。
先日、「3Dモデリングでクッキーを焼いてみよう!」という社内勉強会を開催しました。
コロナウイルスの蔓延に伴う外出自粛期間に、何か新しい趣味を始めてみよう!と思い立ち私が勉強し始めたのが3Dモデリングでした。
この会を開催した理由は、「やってみたら案外3Dモデリングが楽しかったので、その楽しさを伝えたい」、「在宅でできる趣味の1つとして3Dモデリングを広めたい」、と思ったからです。
勉強会では、ワークショップ形式で市松模様・ハート型2種類のクッキーを作りました。本記事では、3Dモデリングに関する基本的な知識と市松模様のクッキーの3Dモデリングの方法を説明します。
こちらがワークショップ内で実際に作ったクッキーです
※今回は、Blenderのv.2.91を前提として説明します。
ーーーーーーーーーーーー
■目次
・事前知識解説
・Blenderの基本的な使い方
・市松模様のクッキーを焼いてみよう!(3Dモデリング)
ーーーーーーーーーーーーー
■事前知識解説
・3Dモデリングとは?
3Dモデリング(Modeling)とは、3D(3次元=縦・横・奥行き)をXYZの座標で指定して、形状を表現することをいいます。
・3Dデータの中身
3Dデータの中身は、基本的には頂点、辺、面の3つのデータでできており、これらは「ポリゴン」や「メッシュ」と呼ばれています。
画像をデータの表面に張る場合は「UVマップ」、可動させるデータの場合は「ボーン」、重量や表面積を正確に計算する必要がある場合は、「ボリューム」といったデータを付与する場合もあります。
・3Dデータを作成する3つの手法
以下の表にあるポリゴンモデリング、スカルプト、CADが3Dデータを作成するための主な手法となります。
ポリゴンモデリング | スカルプト | CAD | |
概要 | 点線面を延長したり、つないだりして作る | 粘土遊びの様に指定範囲を盛る、削る、といった手法で作る | 図面からモデルを起こして作る |
得意なこと | ・軽量なデータ作成 ・無機物のモデル ・デフォルメされたモデル ・可動3Dデータ | ・有機物のモデル ・リアルなモデル ・凹凸など複雑な形 | ・厚み、寸法、重心などを正確に表現する ・3Dプリンタ出力※ |
主な用途 | ・ゲームや映画のデフォルメされた3Dキャラクター ・VRモデル | ・ディティールの細かいフィギュア ・リアルな生物の彫刻 | ・工業用部品 ・医療用装具 ・製品の形状や建築イメージなどを確認するための試作 |
イメージ図※Blenderは基本、辺の長さなどを数値指定できないので、CADはイメージです |
※今回詳しくは記載しませんが、3Dプリントサービスでも、ボリューム(中身)のあるタイプのデータでないと受け付けてもらえない場合があります。(ボリュームのないタイプのデータを作って後からボリュームのあるデータへと変換することもできます)
それぞれ特徴や得意な分野があり、用途も異なります。
複数の手法を組み合わせることも可能ですが、3Dモデリング用の有料ソフトを購入する場合等は予め目的を定めておくことをおすすめします。
(しまふくろうはポリゴンモデリングでよくやる可動モデル作成が主にやりたかったのですが、知識不足でスカルプト専用ソフトを購入して後悔したことがあります…)
■Blenderの基本的な使い方
Blenderは3DCGデータやアニメーション制作ができるフリーウェアで、多機能なのが大きな特徴です。いくつか紹介すると…
・ポリゴンモデリング機能
・スカルプト機能
・シェーディング(細かい陰影の設定)機能
・ボーン(可動用設定)割り当て機能
・アニメーション作成機能
と、本当に多機能なので、初めて使う時は、「機能が多すぎるから、全部は理解できなくてもいい」「自分が最低限触れるところだけちょっとずつ覚えて行けばいい」といった気持ちの方が楽だと思います。
本記事では、3Dデータを作っていくために必要な基本的な操作をお伝えできたらと思います。
・Blender操作画面の基本的な見方
・どんな操作ができるか
の順に見ていきましょう。
・Blender操作画面の基本的な見方
①モード変更:操作モードを変更する。形状を編集するモードや、アニメーションを作成するモードがある。
②シーンコレクション:3Dデータや光の設定をするためのライトといったデータ(オブジェクト)を管理するエリア
③プロパティ:テクスチャや表示方式など、データの細かい設定値を変更するエリア④ツールバー:形状の編集などに使うツールバー
・どんな操作ができるか
操作の種類 | 操作イメージ | 備考 |
掴んで動かす | 掴む(grub)ため、ショートカットキーもGキー。 頂点や辺、面を選択して動かすことができる。 ※現在の視点を基準に動かす。 | |
回転させる | 回転させる(rotate)ため、ショートカットキーもRキー。 辺、面を選択して回転させることができる。 ※現在の視点を基準に動かす。 | |
拡大縮小させる | 拡大縮小させる(scale)ため、ショートカットキーもSキー。 辺、面を選択して拡大縮小させることができる。 ※現在の視点を基準に動かす。 | |
プロポーショナル変形(モード) | 掴む(grub)、回転(rotate)、拡大縮小(scale)などの処理を、 範囲指定して実施することができる。 通常は選択した1点だけが変形されるが、 角の1点を選んでプロポーショナル(比率)変形モードにて 掴んで動かすと、周辺の点も合わせて変形している。 | |
方向を固定して操作 | 掴む(grub)、回転(rotate)、拡大縮小(scale)などの 処理をする際、操作を確定する前に、XYZ等の方向を表すキーを押すことで、変形の方向を固定することができる。 |
■市松模様クッキーを焼いてみよう!
①立方体のメッシュを用意する
※最初の形状は、平面や円柱など様々な形から選べます
②高さを調節(Z軸方向に縮小)
③十字線を入れる(ループカット)
※カーソルを当てた辺や面を分割する形で、自動で頂点を追加してくれます
④十字線を入れる(ループカット)
※生地の膨らみを表現するため、境目を凹ませます。3本に線を増やしましょう。③のループカットはただの2等分でしたが、今回は分割の幅が違うので、分割線を入れる時に係数という数値を調整して、9:1位の分割にしています。
⑤生地の境目をへこませる(Z軸方向にスケール)
※Altキーを押しながらクリックで辺を選択すると、自動で連なる点や辺をまとめて選んでくれます。(ループ選択といいます)
ループ選択で3本線の真ん中の線を選んで、高さを縮めることで、凹の形ができます。
⑥UV展開用の切れ目を入れる(シームを入れる)
※複雑な形(人間の顔など)であれば細かくシームを入れたりしますが、今回は単純な形なので、最低限4つのブロックが切り分けられるように切れ目を入れれば大丈夫です。
⑦切り開く(UV展開)
※UV展開モードで「展開」をすると、左画面に展開図が、右画面には3Dモデルが表示されます。
⑧テクスチャ画像を設定
※プロパティエリアでクッキーのテクスチャを設定します。
Material(素材)がテクスチャや色、材質を設定する対象となります。
ここにhalf.jpgという画像を指定したり、クッキーらしく艶を消すために「粗さ」も高く設定しています。(ノードといった機能を使えば、もっとリアルにクッキーの凹凸が表現できたりしますが、今回は画像でクッキーの色ムラを表現します。)
⑨UVマップとテクスチャを対応させる(選択中の面は茶色にしたい)
※上から見て対角線にあるブロックが同じ色の生地になるように設定します。
⑩茶色いエリアに選択中の面を移動(グラブ)
※オレンジの選択した面が、茶色い生地のエリアに入るように、左の画面で操作します。
左の画面で面を移動すると、右の画面のテクスチャにも反映されます。
これを生地の4つのエリア全てで行います。
⑪モディファイアー(細分化)で頂点数を増やす
※モディファイアーという、全体に適用できる変形ツールで、頂点数を増やして丸みを出します。モディファイアーには沢山種類がありますが、今回は「細分化」を選択します。
「ビューボートのレベル数」を増やすと滑らかになりますが、増やし過ぎるとPCの操作が重くなることがあるので、先に保存してから作業するのがおススメです。
レベル数 | 表示例 |
0(かけていない状態と同じ) | |
1(クッキーらしくなりましたが、頂点数が少ないので まだカクカクに見えます) | |
2(これくらい丸くするとクッキーっぽいですね!) |
■さいごに
私の場合は、予め手順を考えてから作り始めないとモデリングの途中で形が崩れたり、納得のいく形にならなかったり、ということがあります。
そのため、「どう頂点を動かせば作りたい形になるか?」「どの手順を先にやると効率的なのか?」を考えて試行錯誤する必要があり、実際に目的の形になった時はパズルが上手く解けたみたいで楽しいなと感じます。
この記事で、その楽しさが一端でも伝わったら幸いです。
あなたもAMBLで働いてみませんか?
AMBLは事業拡大に伴い、一緒に働く仲間を通年で募集しています。
データサイエンティスト、Webアプリケーションエンジニア、AWSエンジニア、ITコンサルタント、サービス運用エンジニアなどさまざまな職種とポジションで、自分の色を出してくださる方をお待ちしています。ご興味のある方は、採用サイトもご覧ください。
●AMBL採用ページ
-メンバーインタビュー (1日の仕事の流れ/やりがい/仕事内容)
-プロジェクトストーリー (プロジェクトでの実績/苦労エピソード)
●職種ごとの募集ページ
プリセールス/ エンジニア/ クリエイター/ データサイエンティスト /営業・コンサルタント /コーポレート /サービス企画 /教育担当