ばしりのブログ

初心者による初心者のための初心者を言い訳にした色々創る記録

BlenderとSubstancePainterを使ったモデル作成の一通り(STANAG編)

BlenderとSubstancePainterを使ったモデル作成の一通り

 

f:id:nemes:20200903230843j:plain


どうも、コロナで留学が延期中のニートです。

正確に言うとハロワ行ってるのでニートではないです。

 

今日はBlenderモデリングをしてサブスタンスで色塗り(スマートマテリアルしただけ)してそのテクスチャを貼ってレンダリングする工程をメモしていきます。毎度のことながらCG初心者が調べながら完成させたメモなので適当なところあり。

 

今回のゴールは何かしらのオブジェクトをレンダリングするまで。

 

 

0.作るものを決める

何を作るかを決める。出来れば実物があるものがいいと部屋を見渡すと

f:id:nemes:20200902220008j:plain

f:id:nemes:20200902220517j:plain

はい、TOP M4のカート式STANAGですね。どこの家にでもありそうなものを選んでみました。

以前、練習で5.56NATO弾を作ったのでちょうどいいかなと。

 

 

1.モデリングする

Blenderでローポリモデルを作ります。

なんてことはないです。

f:id:nemes:20200902223613j:plain

 

f:id:nemes:20200902223721j:plain

なんとなくでいいです。

 

そしたらUV展開をしておきます、今回はサブスタンスで塗るのでこれも適当でいいです。

 

f:id:nemes:20200902224142j:plain

そしたらスカルプトで細かなディテールを作っていきます。

とはいえ側面の溝だけです。

 

メッシュを複製し、ローポリとハイポリで分けておきます。

ハイポリだけ表示させてスカルプトモードに移ります。

 

まずはスカルプトの準備です。

・ミラーしたい方向をオン(私の場合はY軸のミラーをオン)

・ダイナミックトポロジーをオン

・ディテールサイズをとりあえず最小に設定

f:id:nemes:20200902230908j:plain

ダイナミックトポロジーをオンにすることでスカルプトしてる時に勝手にメッシュを割ってくれます。

ディテールサイズについては、この後ローからハイへベイクを行うので最小設定にしています。あたりまえですが結構処理が重くなります。

また、この時オブジェクトモードで>オブジェクト>適用>全トランスフォームを行い数値を綺麗にしておく。

 

そして、肝心の溝の作り方ですがカーブを作って投影するような感じで作ります。

ブラシの設定です。

f:id:nemes:20200902235614j:plain

変更点

・半径は細い方の溝が18で太い方が34とかだったかな?

・凹ますので方向は減算

ストローク方法をカーブ

・間隔は10%以下で様子見ながら調整

Newを押すことでペイントカーブを作成します。ここで追加しなくてもビュー上で直接追加も可能。

 

カーブを追加して溝をつけていく。

f:id:nemes:20200903001945j:plain

Ctrl+右クリックで制御点を追加し、溝に沿って配置していく。

追加した制御点は重なって編集しにくいのでShift+右クリックでスライドできます。

なんとなく良さげになったらCtrl+左クリックでスカルプト実行。

f:id:nemes:20200903003923j:plain

うーん、微妙・・・

といった感じでムラがあったりカーブが歪んでたりするので色々試しながらやり直して妥協点をみつける。

.

...

.....

完成。

f:id:nemes:20200903004354j:plain

いい感じ。

f:id:nemes:20200903004544j:plain

忘れずに保存しようね!

 

2.ベイクする

ノーマルマップのベイクをしよう。

スカルプトしたやつはポリゴン数がすごいことになってるのでローポリモデルにハイポリからノーマルを焼き付ける。

 

まず、最初に全く同じ場所にローとハイを配置させる(地味にここが出来てなかった・・・)

ずっと違う場所に配置しててもベイクできると思ってて失敗し続けてた。

ローにデフォルトマテリアルを適用。そしてベイク先の画像テクスチャをノーマルにくっつけておく。

f:id:nemes:20200904000945j:plain

ベイクの設定をする。

f:id:nemes:20200904002633j:plain

・レンダーエンジンをCycles

・ベイクタイプをノーマル

・選択→アクティブにチェックをつける。

・レイの距離を100くらい

レイの距離は様子みながら変えるといい

 

ベイクポチーーーー

 

f:id:nemes:20200904003807j:plain

いい感じ(色変えた)

f:id:nemes:20200904003832j:plain

見えてるとこだけちゃんとなってればいいのでサクセス。

そしたらこのノーマルマップを保存してローポリメッシュをFBXでエクスポートしてブレンダーは一旦終了。

 

 

 

3.SubstancePainterでテクスチャ作成

サブスタンスペインターを起動します。Steamのセールで買っててよかった~~~(型落ち2018ver)

 

f:id:nemes:20200904215616j:plain

解像度とか好きなのでおk

f:id:nemes:20200904215754j:plain

こんなん。

 

まずはBlenderで作ったノーマルをサブスタンスに持ってくる。

File>Import resources...から

f:id:nemes:20200904230316j:plain


 Add...から作ったノーマルを選択、Defineでtexture、下の方のImport your...はshelfに。

これで作ったノーマルがシェルフに追加される。

次はノーマルの適用する。

塗りつぶしレイヤを追加、PROPERTIESのNormalをクリック。

f:id:nemes:20200904231357j:plain

ウィンドウが出るのでそこからインポートしたノーマルマップを選択。

f:id:nemes:20200904231748j:plain

スケールが変だったりするのでPROPERTIESでScale値を1にするとぴったしになります。あとはマテリアルをペタ。

f:id:nemes:20200905000453j:plain

Steel Dark Agedがいい感じでした。

おわり。エクスポートする。ファイル>Export Textures

ConfigからUnreal Engine 4 (Packed)を選択

f:id:nemes:20200905002910j:plain

これで必要なものがエクスポートされるのでおk

f:id:nemes:20200905003719j:plain

こんな感じ。

 

4.Blenderに戻ってレンダリングまで仕上げ

あとはBlenderに戻ってちょいちょいやってレンダして終わり

Shadingタブで作ったテクスチャを以下のように設定

f:id:nemes:20200905005400j:plain

メタリックとラフネスとオルクージョンは一枚にまとめられているのでRGBで分離して繋げる必要がある。

と、こんな感じ

f:id:nemes:20200905010329j:plain

やっぱレンダリングはめんどいからやらね、でもかなりいい感じになった。

 

以下、ちょっとつまずいたとこ

 

テクスチャが変編

f:id:nemes:20200905022122j:plain

なんか明らかにおかしいところがある、これは頂点マージと貼り直しでよくなった。

ミラーが出来てなかったんかな?真相は不明だけど12点ほど重なってたから綺麗にした。

 

はい次、ノーマルの凹凸が逆。

これは結構あるらしくてググったらすぐ出てきた。

f:id:nemes:20200905031103j:plain

このVを押してBitMAPから正しいものにすれば治る、OpenGLやらDirect3Dやら。

何に使うかによるね

 

以上

 

反省としてはモデルが角ばりすぎたので次はちゃんと面取りをしたいね。こんなマガジン痛くて持てねぇよ。

色んなマガジンを作りたいね。

 

 

(参考)

www.youtube.com

 

www.youtube.com

www.youtube.com

monsho.blog63.fc2.com

 

saladmix.blog.fc2.com