※本記事で扱っているBlenderのバージョンは2.79です。2020年3月6日現在最新バージョンは2.82です。
こんにちは、技術開発の三浦です。今回はBlenderというオープンソースの3DCGソフトを使って簡単な3Dイラストを作る手順をご紹介します。
技術書、完成しました!
先日技術書典8中止のお知らせの記事を掲載しましたが、技術書の作成は引き続き進めていました。そして先日ついに完成までたどり着くことができました!
前回の技術書に比べ、手前みそですがかなりパワーアップした内容になっています。技術開発のメンバーの成長を感じます。
この表紙のロボット君やSmart StoreをBlenderという3DCGソフトを使って書きました。なかなか面白い作業だったので、今回は簡単な3Dイラストの作成手順を紹介し、その魅力をお伝えできればと思います。
作るイラスト
作業
大まかな作業の流れ
完成までの大まかな作業の流れはこんな感じになります。
- オブジェクトを配置、編集してロボット君の形を作る。(モデリング)
- オブジェクトなどにマテリアルという質感・色を設定する。(今回は色のみ)
- ランプやカメラを配置する。
- レンダリングして画像データを出力する。
Blenderの画面
Blenderの画面構成です。左、下、右にあるメニューをよく使います。
形を作る(モデリング)
まずはロボット君の形を作ります。ここでは頭の作り方の手順をご紹介します。
オブジェクト
ロボット君の頭は以下のオブジェクトで構成されています。
- 頭全体
目2つ
頭のぴょんと伸びたワイヤーの先
- ワイヤー
- ワイヤー根本
作業モード
ここではオブジェクトモードと編集モードという2つの作業モードを必要に応じて切り替えて作成を進めていきます。オブジェクトモードではオブジェクト全体の移動・回転・拡大縮小ができます。一方編集モードはオブジェクトの細部を編集することができます。
マニピュレータ
オブジェクトの移動や回転、サイズの変更はマニピュレータを使用します。
視点
見やすい視点で作業を進めます。視点の変更はマウスの中ボタンを押しながらマウスを動かすと行えます。正面、右面、上面からの視点はよく使うため、それぞれテンキーの「1」「3」「7」がショートカットキーになっています。
また、平行投影・透視投影というものがあり、平行投影だと平坦な画面、透視投影だと奥行きのある画面になります。テンキーの「5」で切り替えることができます。作業は平行投影のほうがやりやすいので、平行投影に切り替えておきます。
頭全体のベースを追加する
頭全体は立方体をベースに作ります。Blenderを立ち上げると3Dビューの中心に最初から立方体が存在しているのでそれを使います。立方体が選択されていない場合は選択してください。オブジェクトの選択はマウスの右クリックで行います。立方体の縁がオレンジになっていれば選択されている状態です。まず立方体を上に移動します。「移動マニピュレータ」に切り替えて立方体の中心から垂直方向に伸びる青色の矢印をドラッグすると上に移動できます。
次に立方体を横に少し長くします。今度は「拡大縮小」マニピュレータを選び、赤色の線をドラッグしてX軸方向に少し長くします。
目を作る
次に目を作っていきます。目はUV球をベースに作ります。[作成]-[プリミティブ追加]-[UV球]でUV球を追加します。
このままだと大きすぎるので小さくします。オブジェクトの拡大・縮小は対象を選択し、キーボードの「S」を押してマウスを動かすことでも行えます。
今度は縦長にします。「拡大縮小」マニピュレータで青い線をドラッグしてZ軸方向に長くします。
目は同じものが2つ必要なので、このオブジェクトを複製します。対象のオブジェクトを選択後、「Shift」+「D」で複製、X軸の方向に平行に移動するためキーボードの「G」+「X」を押した後マウスを動かして調整します。(オブジェクトの移動はキーボードの「G」を押してマウスを動かすことでもできます。「G」の後に「X」や「Y」、「Z」を押すとそれぞれの軸にだけ動かすことができます)
顔の正面にくぼみをつける
ロボット君の顔の正面にはくぼみがあります。これはこれまでのオブジェクトモードではなく、編集モードで作ることができます。まず顔全体のオブジェクトを選択、編集モードに切り替えます。
編集モードでは対象のオブジェクトの点・辺・面を編集することができます。ここでは「面選択」にします。
最初はすべての面が選択されている状態です。顔の正面だけを編集したいので、一度選択を解除します。選択の解除はキーボードの「A」で行います。選択が解除されたら顔の正面を選択します。正面に新しい面を差し込み、その面を奥に押し込むことでくぼみを作ります。面の差し込みは[メッシュ]-[面]-[面を差し込む]です。
マウスを動かすと差し込む面の大きさが変わります。ちょうどいい大きさでマウスをクリックします。
今度は作成された面を選択、キーボード「E」を押します。マウスを動かすと選択された面が前や後ろに移動します。少し後ろに動かします。作業がしやすいように必要に応じて視点を変更してください。
目を埋め込む
顔に目を埋め込みます。2つの目を「Shift」を押しながら右クリックすると両方選択することができます。これを顔の正面まで移動します。視点を正面、右面に切り替えながら埋め込みます。
頭のぴょんと伸びたパーツ
まず先と根本はUV球で作ります。それぞれ適当な大きさに拡大縮小し、配置します。次にそれぞれをつなぐワイヤーの部分ですが、少し工夫をしました。まずトーラス(ドーナッツ型)を追加します。そのままトーラスの太さを小半径の数値を小さくして細くします。
細くしたら拡大縮小で適当な大きさにします。今度は編集モードに切り替え、点選択の状態にします。また、陰面処理をオンにしておきます。こうすると画面上は見えない奥にある点についてもまとめて選択することができるようになります。
「Ctrl」を押しながらマウスをドラッグすると、自由範囲で点を選択することができるのでトーラスの4分の1を残し、全ての点を選択します。
点が選択できたら[Del]を押します。メニューが表示されるので[頂点]を押すとトーラスの4分の3を削除することができます。
おそらくXY平面に対して平行になっていると思います。これを回転させてXY平面に垂直にします。回転は[回転]マニピュレータでもできますが、角度を数値で指定したほうが簡単です。キーボード「R」、「X」、「90」の順に押すとワイヤーを立たせることができます。 あとは適当な場所に配置すればOKです。これでロボット君の顔を作ることができました。
マテリアルを作る(色)
残りの胴体も同様に作っていきます。
ちなみに手の部分はトーラス、足や腕は立方体をベースに、1面を縮小したり移動したりして作りました。ロボット君の形ができたので、色を付けていきます。マテリアルはオブジェクトに色や質感を設定するためのもので、金属のようなツヤや粘土のようなマッド感を出すことができます。今回は色だけを設定していきます。
体全体に設定するマテリアルを作る
マテリアルの設定はレンダリングを行うレンダーによって異なります。最初は「Blenderレンダー」が選ばれているのですが、なかなかきれいにレンダリングできず、自分は「Circlesレンダー」を選びました。
まず顔のオブジェクトを選択し、マテリアル設定メニューを開きます。丸いアイコンで開くことができます。その後マテリアルの追加をし、[サーフェス]-[ディフューズ色]を指定します。またマテリアルには名前をつけることができます。ここでは「robot_body」としました。
顔の正面のくぼんだ部分は違う色にしたいのですが、このままだと顔全体が同じ色に塗りつぶされてしまいます。顔を選択し、編集モードに切り替えます。マテリアルのリストの横の[+]をクリックするとマテリアルを追加することができます。色を指定しくぼんだ面を選択して[割り当て]ボタンを押すとくぼんだ面だけ色を変えることができます。
同じマテリアルを複数のオブジェクトに適用することもできます。ロボット君の体を選択し、先ほど作成した「robot_body」を選択すると同じ色で塗ることが出来ます。
同様に他のオブジェクトにもマテリアルを設定していきます。
ランプ・カメラの配置
ロボット君に色を付けることができたので、いよいよ撮影会の始まりです!光源となるランプ、レンダリングしたときの視点となるカメラを配置していきます。この作業は複数の画面を見比べながらすると効率的です。スクリーンレイアウトを「Compositing」にしてみます。
画面レイアウトがこんな感じに切り替わります。
一番上の画面はエディタタイプが「ノードエディタ」になっているかと思います。今回「ノードエディタ」は使わないので「3Dビュー」に変更します。この画面でランプやカメラの配置を行います。左下の画面はレンダリング結果を表示する画面です。右下の画面はカメラから見える画面です。
ランプの設定
まずランプの設定をします。自然光のような柔らかい光源にしたいので、ランプのタイプを「サン」にします。
ランプの配置
「サン」には光の向きがあるのでランプの場所と向きの両方を決める必要があります。ロボット君を斜め上左から照らすように配置してみます。ランプはオブジェクトと同様に移動したり回転したりすることができます。いろんな角度から調整する必要があるので、正面・右面・上面を同時に表示させておくと作業がしやすいです。画面は右上をドラックすると追加することができます。
ランプの回転は「回転」マニピュレータかキーボード「R」を押してマウスを動かして行います。ロボット君の顔に光が降り注ぐようにします。
カメラの配置
カメラもランプと同様に動かしていきます。右下のカメラから見た画像を見ながら、ちょうどいい場所にカメラを配置します。
レンダリングして3Dイラストを出力する
ここまでで作業はほぼ完了です。最後に背景を変えてみます。
ワールドの設定
ここでは白背景にします。地球のボタンを押してサーフェスを背景、カラーを白にします。
レンダリング
いよいよレンダリングです。左下の画面をクリックし、キーボード「F12」を押すとレンダリングが開始されます。
気に入ったイラストができたら左下の画面の下にある[画像]メニューから[画像を保存]メニューを選んで画像ファイルに出力します!
最後に
3Dで一度作っておくとカメラを変えたり光源を変えたりしていろんなイラストを作ることができて楽しいです。ロボット君のパーツを動かしていろんなポーズを取らせるのもいいですね。
Blenderは無料と思えないほど機能がいっぱいあります。アニメーションを作ることもできるようです。引き続き触ってみて面白い機能が見つかったらまた紹介させて頂きます!