feature image

2020年4月3日 | ブログ記事

猫でもわかる(諸説)ハードサーフェスモデリング

こんにちは、これは新歓ブログリレー2020 26日目の記事です。担当のisak(いさくと読みます)です。グラフィック班に所属しています。

新入生の皆さん、合格おめでとうございます。

早速ですが、3Dモデリングをご存じですか?最近はバーチャルyoutuber人気もあって、youtubeなどでもモデリング講座が増えてきています。そこで、今回は3Dモデリングに全く触ったことのない人向けに記事を書いてみました。

コロナウイルスのせいでオフライン新歓ができないので、体験会の代わりになるつもりで書いています。入部希望者もそうでない人も是非読んでみてください。

ちなみに、traPではモデリングに関する講習会も定期的に行っています。みんな!traPに入ろうね!

はじめに

今回作るものはこちらです。

(ビューファインダーにレンズのテクスチャ貼り忘れたなんて言えない)

かっこよくないですか?え?サムネの美少女は何って?もちろんSour式鏡音リンちゃんです。かわいいですね。

というわけで、この記事ではリンちゃんではなく持ってる銃の方を作ります。

キャラクターが作りたい人でも最初はこういった小物から作ってみるのもおすすめです。

ハードサーフェスとは硬いものという意味で、ハードサーフェスモデリングに厳密な定義はありません。銃とか、機械とかなんとなく硬そうなもののモデリングだと思えばいいと思います。

流れ

大まかに記事の流れを書いておきます。

  1. blenderの紹介とインストール
  2. 基本操作
  3. 実践1
  4. マテリアル
  5. プラグイン追加
  6. bool,reboolツール
  7. booleanツール
  8. モディファイア
  9. 実践2
  10. ポリゴン、ノーマル
  11. 実践
  12. UV展開、エクスポート
  13. テクスチャリング
  14. ノードエディタ
  15. レンダリング

1.blenderをインストールしよう。

モデリングソフトには色々ありますが、今回は無料モデリングソフトの代表格であるblenderの最新バージョンを使用します。(記事執筆時点で2.82a)

ここからダウンロードしましょう。

ちなみに、blenderをインストールさせておいてアレなんですが、私はキャラクターモデリングにはXismo2というモデリングソフトを使用しています。もうすぐXismo3がリリースされるようなので、リリースされたら記事を書くかも?

ダウンロードしたファイルを開いたら、表示に沿ってインストールを完了します。

※blenderの日本語化は不十分な部分が多いため、私は英語のままの使用をおすすめします。 日本語化の方法はググってください。

blenderを触ってみよう

blenderを起動すると、このような画面が表示されると思います。

Save New Settingsをクリック、Generalをクリックします。Select With等の項目が画像と同じかどうか確認してください。

2020-03-29_21h22_38-12020-03-29_21h27_10

さて、下図のようなデフォルト画面が表示されたでしょうか。

デフォルト画面の構成を説明します。一番上のメニューをトップバー、下の部分をステータスバーといい、立体の頂点数やblenderのバージョン等が表示されます。アウトライナーには3Dビューポート内のオブジェクトの一覧、プロパティには選択中のオブジェクトの情報が表示されます。

続いて、Nキーを押してみましょう。右から出てきたのがサイドバーです。サイドバーには選択しているオブジェクトのパラメータが表示されます。試しにキューブを左クリックして選択し、パラメータを変えてみましょう。パラメータは左クリックでドラッグするか、左クリックしてからキーボードで入力することで変更できます。

また、左のツールバーはTキーを押すことで隠すことができます。

2.基本操作

3Dビューポート操作

※以下マウス必須です

ナビゲーションを使う

右上にあるxyzの軸をギズモといい、その下の4つのマークと合わせてナビゲーションといいます。
ギズモは動画のようにクリックしてドラッグしたり、丸い部分を押すことで視点を変更することができます。

マークは上から拡大縮小、移動、カメラ視点、投影方法を変更できます。

2020-03-30_16h10_02

キーボードとマウスを使う

先ほど説明したナビゲーションを使った操作はマウスとキーボードでショートカットできます。
マウスの中ボタン(マウスホイールを押し込む)をクリックしながら動かせば視点回転。
shift+中クリックしながら動かせば視点移動。
alt+中クリックしながら動かせば拡大縮小ができます。

さらに、ギズモでの操作はテンキーでショートカットすることができます。表にまとめました。

7:真上 8:上回転 9:反転
4:左回転 5:投影方法 6:右回転
1:正面 2:下回転 3:右正面
0:カメラ視点

テンキーのないキーボードを使っている人は将来的にはテンキーのあるものにした方がいいと思います。(便利なので)


ちなみに、私は視点回転をマウス右クリック、マウス中ボタンを視点移動に割り振っています。個人的にはこの方が使いやすいと思いますが、この設定は競合するキーが多く色々設定を変更しなければならないので紹介しません。

オブジェクトモードとエディットモード

blenderには色々なモードがありますが、この記事では、オブジェクトモードとエディットモードを使います。オブジェクトモードでは、そのオブジェクトについて細かい設定はできません。
立方体を選択して、Tabキーを押しましょう。

このような画面になったと思います。エディットモードではオブジェクトの頂点、辺、面(まとめてポリゴンと呼ぶことにします。)など細かい部分まで編集することができます。画像の赤で強調した部分は現在選択できるものを青で示しています。頂点、辺、面の切り替えはここをクリックするか、キーボードの数字1,2,3でそれぞれ切り替えできます。
また、shiftを押しながら複数クリックすることで複数選択ができます。


※右下に、押したキーを表示するようにしてみました。

主要ショートカットキー

blenderでのモデリングにおいて必須と呼べるほど使うキーです。逆に、これだけ覚えておけばある程度ののモデリングができます。それぞれ、動画をつけているので参考にしてください。

Gキー(ポリゴン移動)

ポリゴンをクリックして、Gキーを押すとポリゴンを動かすことができます。
Gキーを押した後にX,Y,Zキーを押すと移動方向を限定することができます。これは、特によく使う操作なので覚えておきましょう。

Sキー(拡大縮小)

ポリゴンをクリックして、Sキーを押すとポリゴンを拡大することができます。
同様にX,Y,Zキーを押せば拡大方向を限定することできます。
なお頂点1つだけ選択して拡大しても意味はありません。

Rキー(回転)

ポリゴンをクリックして、Rキーを押すとポリゴンを回転することができます。
X,Y,Zキーで回転軸を制限することができます。

Eキー(押し出し)

ポリゴンをクリックして、Eキーを押すと、ポリゴンを押し出すことができます。
こちらはX,Y,Zキーで押し出し方向を制限することができます。

Kキー(ナイフツール)

エディットモードでKキーを押すとナイフモードになります。頂点や辺をクリックしていくことで、頂点を追加することができます。追加できたら、Enterキーを押して確定しましょう。
また、ナイフモードで外部をクリックして、線を引くことでも頂点を追加することができます。
また、Zキーを押すことで、視点から見えない部分にも頂点を追加できます。
わかりにくいと思うので動画を見てください。

Xキー(削除ツール)

消したい対象を選択してXキーを押します。オプションが出るので、目的の操作を指定します。
これに関しては自分で試してみるのがいいと思います。

Fキー(面張り)

複数頂点を選択して、Fキーを押すと面を張ることができます。頂点が2つの場合は辺を引けます。

ctrl+Z(アンドゥ)

直前の操作を取り消すことができます。(動画略)
また、ctrl+shift+Zで取り消しにより戻った操作を逆に進める操作(リドゥ)ができます。

shift+A(プリミティブ)

オブジェクトの原型やライト、カメラなどを追加できます。エディットモードで追加すると編集中のオブジェクトと一つのオブジェクトとして扱われます。

Aキー(全選択)

Aキーを押すと編集中のオブジェクトの頂点を全部選択します。

ctrl+R(ループカット)

辺をループカットします。マウスホイールの回転でセグメントを増減することができます。

ctrl+B(ベベル)

選択した頂点、あるいは辺の角を丸めます。マウスホイールの回転でセグメントを増減することができます。

shift+D(複製)

オブジェクト、あるいはポリゴンを選択してshift+Dを押すことで複製ができます。

3.実践1(ワイングラスを作ろう。)

覚えた基本操作を使ってワイングラスを作りましょう。自信がある人は飛ばしてください。

glass-2
シュシュシュッと作ったワイングラスの下絵

キューブは必要ないので削除します。(バイバイ)
2020-03-31_11h41_37-1

続いてワイングラスの下絵を配置します。動画の通り下絵が正面を向くようにしましょう。

shift+Aキーで円を追加します。一旦下絵が邪魔なのでアウトライナーのEmptyオブジェクトの目玉マークを押して隠しています。再表示する際はもう一度目玉マークを押してください。
2020-03-31_11h41_552020-03-31_12h04_51

TABキーでエディットモードに入りましょう。円に面が貼られていないのでFキーで貼ります。2020-03-31_12h10_16

下絵を表示し、テンキーの1を押して正面視点にし、Aキーで全選択し、底に移動します。
AGZの順で操作するといいでしょう。
移動したら、Sで底と大きさを合わせます。2020-03-31_12h44_42

EZで押し出し、Sで大きさを調整するという操作の繰り返しで大まかな形を作ります。

細かい部分をループカット、ベベルなどを使って調整します。
※動画で使用しているようにつながった頂点を選択するにはaltキーを押しながらクリックしましょう。

上部の面を消去します。
2020-03-31_12h59_50

TABキーを押してオブジェクトモードに移動しましょう。このままではワイングラスが角ばって見えるのでシェーディングを変更します。ワイングラスを右クリックしてShade Smoothをクリックします。
2020-03-31_13h04_30

これで、ワイングラスの形状は完成です。

4.マテリアル

ワイングラスのモデルを作りましたが、見た目がガラスっぽくないですよね。
blenderでは、オブジェクトに材質(マテリアル)を設定することができます。
早速、ワイングラスにマテリアルを設定してみましょう。
まずはビューポートをマテリアルビューにします。Zキーを押してマウスを下にドラッグしましょう。2020-03-31_15h12_39

続いて、ワイングラスにガラスのマテリアルを追加します。
オブジェクトモードでワイングラスを選択し、右下の球のマークを押します。2020-03-31_15h08_01

Newを押します。すると、マテリアルが適応されます。
surfaceという部分を押して、Base Colorを変更してみましょう。色が変わると思います。2020-03-31_15h15_22

他にも表面の粗さなどのパラメータがあるので触ってみましょう。
今回はワイングラスですので、ガラスのマテリアルを適用してみます。
surfaceというパラメータをPrincipled BSDFからGlass BSDFに変更してみましょう。
これで、ワイングラスは完成です。
2020-03-31_15h21_30
緑色っぽい色が入っているのは、環境光を反射しているからです。環境は下の画像のところで変更できます。2020-03-31_15h22_56

でも、これだとオブジェクト全体が均一の材質でない場合は困りますよね。例えば、ノートPCをモデリングしたければ、画面はガラス、筐体は金属にしたいはずです。あるいは模様などがあれば書き込みたいですよね。こういう場合は様々な手法がありますが、UV展開を行うのが一般的です。
立方体の展開図(すなわち平面)にテクスチャを書き込むイメージです。UV展開については、銃のモデリングのパートで詳しく説明します。

UV展開のイメージ

5.アドオンの追加

初心者がアドオンを使うのは、ある程度そのソフトに慣れてからのほうがいいという意見もありますが、僕は便利なものがあるのならどんどん使えばいいと思っています。
blenderにはビルトインアドオンと外部アドオンがあって、ビルトインアドオンは有効にするだけ、外部アドオンは外部からダウンロードして使います。
外部アドオンは有料のものと無料のものがありますが、今回は無料のものを使います。

jmesh-tools

jmesh-toolsはベベル、ミラー、ブーリアンなどのモディファイアを素早く適応できるアドオンです。
ここに移動してClone or Downloadをクリックし、Download ZIPをクリックして任意のフォルダにダウンロードします。

アドオンのインストール

画面左上のEditからPreferencesをクリックしAdd-onsタブに移動します。
2020-03-31_16h35_11
Installをクリックします。
2020-03-31_16h36_03
先ほどダウンロードしたZIPファイルを選択して、Install Add-onをクリックします。
2020-03-31_16h37_56
すると、このような画面になると思うので、チェックボックスにチェックを入れます。
2020-03-31_16h41_11
続いて、必要なビルトインアドオンを有効にします。

ビルトインアドオンではBool Tool,Carver,Node Wranglerの3つを有効にします。
それぞれ、検索窓に入力して、チェックボックスにチェックを入れてください。2020-03-31_18h04_26-1
操作が完了したら保存してPreferencesを閉じましょう。2020-03-31_18h14_05

6.Carverアドオン

アドオンが正しく有効になっていないと機能しないので注意してください。
carverアドオンはオブジェクトを切り取る、くりぬく、分割する等の操作ができます。
まず、テンキーの5を押して平行投影(Orthographic)にしましょう。透視投影だと見た目と異なった結果になることがあります。
オブジェクトモードでctrl+shift+Xを押しましょう。画面下部にオレンジ色でいろいろ表示されると思います。
初期では、Rectangleに設定されています。このモードでは長方形の形状で操作ができます。
ビューポートをクリックすると、そこを頂点に長方形が表示されるのでオブジェクトに触れるようにポインタを移動してクリックしてみましょう。動画のように切り取れると思います。

オレンジ色のメニューが出た状態でspaceキーを押すとカットタイプをLineに変更できます。
Lineは次の動画のように操作します。頂点を置き終わったらspaceキーを押すことで、完了できます。

もう一つCircleというカットタイプがあります。spaceキーを2回を押すとこのモードになります。操作はRectangleとほぼおなじです。

Rebool

shiftキーを押しながら上の操作を行うとオブジェクトを分割することができます。
Carverアドオンは銃のモデリングで必須なので使い方を覚えておきましょう。

7.Bool Tool,JMesh-Tools

boolean

2020-04-01_11h44_29
このような、円柱型のくぼみを作ろうとするときナイフツールなどで作るのは非常に難しいです。このような場合にはbooleanを使います。
こちらも、アドオンが正しく有効になっていないと機能しませんので注意してください。

booleanでは
・他のオブジェクトと重なっている部分を削除する。(Difference)
・他のオブジェクトと重なっている部分を結合する。(Union)
・他のオブジェクトと重なっていない部分を削除する。(Intersect)
・他のオブジェクトと重なっている部分を切り取る。(Slice)
の操作ができます。
上のような立体は、キューブにシリンダーを重ねれば再現できそうですね。早速やってみましょう。

まずNキーを押し、EditメニューのBool Toolを出しておきましょう。
基本的に、Auto Booleanを用います。適用方法はいずれも、オブジェクトを2つ以上選択して、ボタンを押すだけです。カレントオブジェクト(最後に選択したオブジェクト)によって結果が変わるので注意してください。
それぞれ動画にまとめました。

booleanを応用するとこんなこともできます。
2020-04-01_12h03_59
↑こういうものを作れば
2020-04-01_12h04_50
こうできます。

JMesh-Tools

JMesh-Toolsはベベル、配列、ミラーのモディファイアを素早く適用するアドオンです。
モディファイアについては次の章で説明します。
Nキーのメニューから、JMeshを選択しておきましょう。

ベベル(Bevel)

基本操作でctrl+Bのベベルを紹介しましたが、それとは異なりオブジェクト全体にベベルをかけます。オブジェクトを選択してBevelを押しましょう。Bevel widthではベベルの大きさを指定できます。また、Un-Bevelを押すとベベルを解除できます。

今後モデリングをしていくとき、ベベルをかけた際に表示が崩れる時があります。原因はベベルの大きさなので、値を小さくして対応しましょう。

配列(Array)

Arrayはオブジェクトを複製して並べるモディファイアです。Circle Arrayは円状に複製して並べます。まずはキューブで試してみましょう。
Item countで複製数、Offset X,Y,Zで間隔を指定することができます。ウィンドウはescキーで消せます。

ミラー(Mirror)

MirrorはX軸に対して反転したオブジェクトを配置します。(あまり使いません。)
その下のto Xなどの6つをよく使います。これらはオブジェクトを原点を通る平面に対して対称化します。説明が難しいので動画を見てください。例としてto Xto -Xを見せます。

8.モディファイア

モディファイアとは、オブジェクトの元形状に変更を加えないで作用する機能です。
曲面化subdivision surfacesが代表的です。数学的に説明を試みると、こんな感じでしょうか。modifier
元オブジェクトxに関数fを作用させるとビューポート上での見た目がf(x)になるといった感じです。
もちろん、モディファイアを確定すれば、適用後のオブジェクトにも細かい変更を加えることができます。

試しにキューブに曲面化モディファイアを適用してみましょう。モディファイアは画像の矢印のスパナマークから追加できます。
2020-04-01_16h33_29
Add ModifierからSubdivision Surfacesをクリックしましょう。

2020-04-01_16h42_10

2020-04-01_16h58_47
この状態になりましたでしょうか。TABキーを押してエディットモードに入ってみましょう。元のキューブの頂点が維持されているのがわかると思います。
2020-04-01_17h01_52
次にモディファイアを確定してみます。オブジェクトモードでモディファイアタブのApplyを押しましょう。2020-04-01_17h06_41-1

確定した後にエディットモードに移動すると、元形状が消えているのがわかると思います。2020-04-01_17h08_40

お気づきの方もいるかもしれませんが、実はBool Tool,JMesh-Toolsはこれらのモディファイア適用の手順を省略するものだったのです。いちいちモディファイアタブから適用するのは面倒ですからね。アドオンウィンドウでできない細かい設定はモディファイアタブから設定しましょう。

9.実践2

アドオンを使って車を作りましょう。今回作るのはこちら!
20191122-00442753-autocar-000-4-view
これ、テスラのサイバートラックというらしいですが、なんか1分くらいでモデリングできそうですよね。練習にピッタリだと思ったワケですよ。今回も自信があるなら飛ばしてください。下絵はありません。

エディットモードでキューブを伸ばします。2020-04-01_17h47_04
オブジェクトモードでCarverを使って横をいい感じに切り落とします。2020-04-01_17h47_41

上視点に切り替えて角を落とします。2020-04-01_17h50_27
正面視点でも角を落とします。2020-04-01_17h51_21
横視点で土台を分割します。分割はshiftを押すのでしたね。2020-04-01_17h54_04
タイヤの入る位置が下過ぎるので上にあげます。2つのオブジェクトを選択してエディットモードに入り、調整します。Zキー左でワイヤーフレームビューにすると選択しやすいと思います。2020-04-01_17h55_57

土台の部分が厳密に地面と平行になっていないので調整します。
選択→SZ0の順に入力します。これは、Z軸方向の拡大率を0にする操作です。2020-04-01_18h02_45

タイヤが入る部分をくりぬきます。
2020-04-01_18h04_53
微調整します。
2020-04-01_18h05_55

JMesh Toolsで2オブジェクトに対してto -Xを行います。2020-04-01_18h07_29

幅が大きく見えるので調整します。ついでに土台の部分をx軸方向に拡大してはみ出させます。2020-04-01_18h09_15

窓をくり抜く感じで分割します。2020-04-01_18h11_332020-04-01_18h13_58
それぞれ、to -Xを使いましょう。2020-04-01_18h15_17

タイヤをつけましょう。今回はあまりこだわらないことにします。
タイヤはこんな感じにしました。2020-04-01_18h18_02

配置します。
2020-04-01_18h19_15
ミラーで反対側にも配置します。2020-04-01_18h20_40
配列で後輪を作ります。
2020-04-01_18h21_38

最後に全オブジェクトにベベルをかけましょう。見栄えが良くなります。2020-04-01_18h24_46
と思ったら、タイヤの描画が崩れていますね。こういうときはBevel Widthを小さくすればいいのでした。今回は0.002にしてみます。2020-04-01_18h26_27
いいかんじですね。最後にマテリアルを追加してみましょう。黒、金属、ガラスの3つがあればよさそうですね。

2020-04-01_18h30_58
できました。なんか若干違うような気もしますが完成ということにします。
ちなみに、この車の後ろ側は一切見ていないので適当です。

tesla-2
おまけでちょっとレンダリングしてみました。適当なのでちょっと汚いですが。

10.ノーマル

いよいよ銃のモデリングといきたいところですが、すこしだけノーマルについての話をしておきます。

例えば、表面にねじのような微小な凹凸をつけたいとき、ねじ山をいちいちモデリングするのは面倒ですよね。そのうえ、モデリングするたびにねじの分の頂点が増えるので、処理が増えて重くなります。これを解決するには法線マップ(ノーマルマップ、バンプマップ)が有効です。法線マップとはテクスチャにオブジェクトの表面の凹凸情報を書き込んだものです。これがあると、光が当たった時にその凹凸情報に合わせて光が反射するため視覚的には凹凸があるように見えます。

ここで具体例を挙げようと思ったのですが力尽きたので、先輩の記事を貼っておきます。"バンプマップ"という項目が参考になると思います。

Blenderでテクスチャを貼る
おはようございます。rencon_manです。 今日はtraP内で開かれるはずであった幻の “Blenderテクスチャ講習会”の資料をせっかくなので投稿しようと思います。(投稿でもしないと私の労力が無駄になってしまう。。。) 目標 今回の目標はBlenderで作成したモデルにテクスチャを貼り付けられるようになることです。モデルの作成方法などについては触れませんのでご了承ください。 テクスチャとは > テクスチャマッピング (Texture mapping) とは、3次元コンピュータグラフィックスで作成された3Dモデル表面に質感を与えるための手法。(Wikipediaより) とりあえずテ…

11.実践(銃のモデリング)

長い前置きに付き合っていただきありがとうございました。ここまで来た皆さんなら楽にモデリングできるのではないかと思います。

サササッと作った銃の下絵

原型制作

銃の下絵を用意しましたが、自分で用意してくれてもいいです。想像力が大事。

新規プロジェクトで下絵を配置し、エディットモードでキューブの大きさを調整します。
2020-04-01_21h17_01

まずボディから作ります。
ワイヤーフレームモードでCarverを使ってボディの形に切り取りましょう。
2020-04-01_21h27_26
2020-04-01_21h29_12
下絵は奥に移動します。
シリンダーを拡大してバレルをつくり、別のキューブからバレルに付属する部品を作ります。また、ベベルをかけ、適宜調整します。2020-04-01_21h34_24

持ち手の部分と、穴の開く部分をくりぬきます。
2020-04-01_21h36_16

こんな感じでノリでボディを分割していきます。くりぬいた穴の部分にはシリンダーを追加してみました。2020-04-01_21h42_37

ここで、上から見てみると厚みが一定で面白みがありませんね。
2020-04-01_21h45_14
厚みを調整してみましょう。

さらに分割します。これと全く同じである必要はないのでお好みで分割しましょう。
2020-04-01_21h52_08

ボディの後ろの部分が寂しかったので穴をあけてみました。
2020-04-01_21h53_31

バレルの部品をかっこよくします。2020-04-01_21h57_00-1

これはBooleanを用いて作ります。Booleanを適用する際は一旦ベベルを解除します。

パーツごとに角を落とします。片側の角を落としてto -Xで対称化するのが楽だと思います。2020-04-01_22h07_29-2

銃口を押し出しと拡縮を使って作っています。現状こんな感じです。

真ん中のシリンダーを装飾し、トリガーも作ります。
2020-04-01_22h26_11
このように作ります。最後はS+shift+Yを使っています。拡縮をY以外に制限する操作です。
作ったらベベルをかけましょう。

シリンダーをベースにBooleanを使ってビューファインダーを作ります。

BooleanArrayを使ってボディに細かい装飾をいれます。2020-04-01_22h58_44
このようなものをつくってBooleanで埋め込みます。
2020-04-01_23h13_51

銃口を広げたり微調整して銃の原型は完成です。
2020-04-01_23h31_44

マテリアル設定

最終完成図では、主に黒い金属と紫の金属の2種類で色分けされているのがわかると思います。
オブジェクトごとにマテリアルを適用してみましょう。テクスチャは別に作るので、色分けされているのが分かればなんでもいいです。
最終的にこうなる予定です。
2020-04-02_09h36_03

Zキー下でマテリアルプレビューに変更しましょう。
適当なオブジェクトを選択してマテリアルタブに移動します。画像の部分をクリックし、Materialをクリックします。これは初期状態のマテリアルです。ない場合はNewでもいいです。
2020-04-02_09h53_43
Base Colorを変更してみましょう。色が変わりましたか?
2020-04-02_09h55_38
同じ色の部分には同一のマテリアルが適用されてなければいけません。blenderには継承という便利な機能があります。黒くしたいオブジェクトをすべて選択します。今色を変えたオブジェクトは最後に選択するようにしましょう。次に、ctrl+Lで出てくるメニューからMaterialsをクリックします。選択したオブジェクトすべてにマテリアルが適用されたはずです。2020-04-02_10h00_402020-04-02_10h02_43

マテリアルの名前がMaterialだとわかりづらいのでMetalに変更します。2020-04-02_10h04_06

白いオブジェクトに別のマテリアルを適用します。選択してNewを押します。こちらはPaintという名前にします。2020-04-02_10h19_50

分かりやすいように色を変えます。2020-04-02_10h22_23

先ほど使った継承を使って他オブジェクトにもマテリアルを適用します。3種類以上のマテリアルを使いたい人はお好みで増やしてくれても構いません。(ただし、後に行うUV展開の回数が増えます。)
2020-04-02_10h25_18
もう結構それっぽいし、疲れたから記事終わっていいですか

12.UV展開、エクスポート

あと少しで完成です。頑張りましょう。UV展開はマニュアルで行うこともできるのですが、今回はblenderに自動でやってもらいます。
UV Editingパネルに移動します。
2020-04-02_11h01_33
同一マテリアルのオブジェクトをすべて選択します。2020-04-02_11h03_36
この状態でエディットモードに入り、全選択してからUキーを押し、smart UV projectを選択します。2020-04-02_11h08_32-1

角度制限、マージンを設定します。
Angle Limit = 45.0,Island Margin = 0.001,Area Weightはそのままに設定しました。
OKをクリックします。
2020-04-02_11h11_55

2020-04-02_11h15_13
もう一つのマテリアルについても同様に設定します。2020-04-02_11h15_53

これでUV展開は完了です。とっても簡単ですね。ありがとうblender。

さて、テクスチャリングは外部ソフトで行いますので一旦エクスポートします。この際に、ベベルをかける前のオブジェクト(ローポリ)とベベルをかけたオブジェクト(ハイポリ)の2つを出力し、ノーマルの章で説明した焼きこみを行います。
※ローポリとはポリゴン数が少ないという意味です。ベベルをかけるとポリゴンが増えます。

まず、銃のオブジェクトだけをすべてを選択しFileExportwavefront(.obj)を選択します。2020-04-02_11h31_32

先に、ローポリから出力します。Selection Onlyにチェックし、Apply Modifierのチェックを外します。名前はgun-lowpoly.objとします。
2020-04-02_11h40_50
設定できたら、Export OBJを押します。保存フォルダは自分で決めてください。

次は、ハイポリを出力しましょう。今度はApply Modifierにチェックを入れて出力します。名前はgun-highpoly.objとしました。正しく出力できていればハイポリのほうがデータサイズがはるかに大きいことがわかると思います。2020-04-02_11h43_57
これで、出力は完了です。

13.テクスチャリング

テクスチャリングにはsubstance painterを使用します。リンク先から体験版をインストールしましょう。今回は体験版を使いますが学生は元々無料で使えるので安心してください。ここから登録できます。
※商用利用はできないので注意しましょう。

13413_13332_substancepainter20170227

起動します。起動したら、Closeを押します。
2020-04-02_13h10_46
FileからNewを押して新規プロジェクトを作ります。
2020-04-02_13h12_22
Selectから先ほどエクスポートしたローポリモデルを読み込みます。
2020-04-02_13h13_49

正しくTEXTURE SET LISTに2種類のマテリアルが読み込めているか確認しましょう。
2020-04-02_13h21_17

焼きこみ

ハイポリモデルの焼きこみを行います。
TEXTURE SET SETTINGSBake Mesh Mapsをクリックしましょう。
2020-04-02_13h23_46
High Definition Meshesの項目からハイポリモデルを選択します。またMax Frontal Distance,Max Rear Distanceを小さい値にします。
2020-04-02_13h25_25
設定が終わったらBake all texture setsを選択します。
2020-04-02_13h28_32
しばらく待つと焼きこみが完了します。

smart materials

substance painterの使い方講座をここに書くと記事の分量がさらに爆発することになるのでズルをする方法だけ書いておくことにします。
substance painterにはsmart materialsというマテリアルのプリセットがあるので、今回はこれを使います。まず、metalから作ります。このようにタブを移動しましょう。
2020-04-02_13h49_12
金属質な見た目にしたいのでSteel Gun Matteを使います。

2020-04-02_13h51_46
こんな感じでドラッグすると使えます。

paintの方はSteel Gun Paintedを適用してみました。2020-04-02_13h54_55

Booleanで埋め込んだ装飾に色を付けます。Add Layerでレイヤーを追加します。
2020-04-02_14h03_01-1
対称編集にチェックを入れます。
2020-04-02_14h05_57
Alphaから丸っぽいシェイプを選びます。ビューポートはaltキーを押しながらマウスをドラッグで動かせます。
2020-04-02_14h07_40

プロパティから、色を変更します。
2020-04-02_14h10_48
ブラシサイズを調整します。2020-04-02_14h11_53
イラストを描くときのように塗ります。ペンタブがあるといいかも。

完成です。
2020-04-02_14h15_24

エクスポート

blenderに読み込むためにテクスチャをエクスポートします。

Export Texturesを選択します。
2020-04-02_15h53_47
Configが画像と同じかどうか確認してExportします。
2020-04-02_15h54_37
矢印で指したテクスチャは必要ないので消しても構いません。
2020-04-02_15h56_58
これで、エクスポートは完了です。

14.ノードエディタ

ノードとは下図のようなもので、テクスチャやエフェクトを線でつないで扱うものです。
blenderのノードエディタは素晴らしい機能でおそらく皆さんが想像する大体の表現は再現できると思います。(簡単とは言っていない)しかし細かい説明をしていると日が暮れるので、今回はsubstance painterでの見た目をそっくりblenderで再現するだけにとどめます。
2020-04-02_16h09_09

Shadingタブに移動します。
2020-04-02_16h21_12-1
まず、metalマテリアルから設定します。適当にmetalマテリアルの適用されているオブジェクトを選択します。2020-04-02_16h25_55

ノードエディタ上でPrincipled BSDFノードを選択し、ctrl+shift+Tを押します。エクスプローラーが表示されたら、metal_Normal.png以外のテクスチャをすべて選択し、Principled Texture Setupをクリックします。
2020-04-02_16h35_34

blenderで自動的にノードを組んでくれます。
2020-04-02_16h38_54
しかし、くすんでいるように見えますね。このアドオンは大変便利なのですがたまに画像の割り当てをミスります。治してあげましょう。

よく見ると、MetallicのノードでBase Colorを読み込んでしまっているようです。2020-04-02_16h41_27

フォルダーマークからmetal_metallic.pngを読み込みなおします。
いいかんじですね。
2020-04-02_16h44_15

paintマテリアルについても同様に設定します。
2020-04-02_16h48_46

これにてモデルは完成です。お疲れ様でした。
2020-04-02_16h51_42

15.レンダリング

最後に、せっかく作ったのですからかっこよくレンダリングしてみましょう。
ステージを作ります。shift+APlaneをベースにしましょう。ステージはShade Smoothにしておきます。

カメラを消してしまった場合はshift+Aで追加します。テンキーの0を押してカメラ視点にします。
画像のWalk NavigationでゲームでおなじみのWASD移動でマウスで視点操作ができます。視角に銃を映しましょう。Q,Eではアップダウンができます。

2020-04-02_17h01_50

このままだと光源が無くて暗いので、ライトを追加します。タイプはSun,strength = 10にしました。お好みで光の色を変えてもいいです。

blenderには物理ベースの強力なレンダリングエンジンCyclesがあるので、これを使います。

デフォルトでは、EeveeになっているのでCyclesに変更します。
2020-04-02_17h21_00
PCにグラフィックボードがある場合はGPU Computeに変更します。2020-04-02_17h24_49-1

さて、準備ができましたのでレンダリングします。ビューポート上でF12キーを押すとレンダリングが始まります。

2020-04-02_17h29_54

完成画像はここから保存できます。
2020-04-02_17h33_54

お疲れさまでした。これで本当の本当に完成です!!
完成品はぜひ#traP20welcomeとタグをつけてTwitter等に載せてください!
(僕が喜びます。)

Tweet #traP20welcome

まとめ

いかがでしたか?(言ってみたかった
blender完全初心者には少し難しい部分もあったかもしれませんが、お役に立てたなら幸いです。この記事が誰かがモデリングをはじめるきっかけになってくれることを祈っています。ありがとうございました。

さて、もう忘れていそうですが実はこの記事は新歓ブログリレーの記事でした。
明日は@Suu_u君の記事です。お楽しみに!

おまけ

記事執筆開始時点では完全にわすれていたビューファインダーのテクスチャをつけたので、動画でレンダリングし直してみました。ついでに今回紹介しきれなかったノードエディタを少し使っています。これについては僕がもう少し成長したら記事を書こうと思います。
asads

ちなみに、この5秒の動画をレンダリングするのに2時間程度かかっています。CG屋は大変ですね。

isak icon
この記事を書いた人
isak

traPグラフィック班 xismoでモデリングしています。

この記事をシェア

このエントリーをはてなブックマークに追加
共有

関連する記事

2020年5月15日
【新歓ゲーム制作特集 第2弾】Inverse製作秘話
Saltn icon Saltn
2020年5月19日
【新歓ゲーム制作特集 第6弾】個人でゲームを作る話
Facish icon Facish
2019年12月21日
モデリングを始めてみたい君へ、MagicaVoxelのススメ
isak icon isak
2020年4月12日
Growl Bassの研究【新歓ブログリレー2020 35日目】
fomalhaut icon fomalhaut
2020年4月6日
はじめてのドット絵
xxpoxx icon xxpoxx
2020年3月19日
Ubuntuの環境構築備忘録【新歓ブログリレー2020 11日目】
manyato icon manyato
記事一覧 タグ一覧 Google アナリティクスについて