バーチャル3Dクリエイター神部まゆみです(*^-^*)
この記事は、blenderでヤシの木のチュートリアルをやってみた続きです。
前回の記事はこちら。

今回は、UV展開~シェーダーノード組んで、テクスチャペイントしてだいたい仕上げるあたりまでやってみます。
シェーダーノードは初めていじってみたけど、仕組みが分かればそんなに難しくないっぽい?
結構学ぶことが多かったので、この記事は自分用のメモとしてたびたび参照していこうと思います。
blenderはまだ勉強している途中なので、参考程度にしたほうがいいかと思います( ̄▽ ̄;)
blenderの勉強してる人はこっちの記事も参考になるかも↓

使用したblenderのバージョンは、2.93LTSです。

参考にした頭のいい先輩のページ
とても参考になりました。
ありがとうございます(*^-^*)
ただ、かみ砕きながら勉強のためにあっちこっち寄り道しているので、やり方はかなり違います。
動画を見ながらやったほうがいいかも。
とりあえずこの状態からやってみる
葉っぱに穴空けるのはなんか微妙な気がした…。
もう少し規則性をもたせたほうがいい気がするので、デフォルトでやります。
葉っぱに穴を開けるより、葉っぱの芯の部分を作って、棒状の平面を配列で並べていったほうがそれっぽくなるかもしれない。
まぁ今回はとりあえずデフォルトでやります。
UV展開をする
配列で並べてる葉っぱをクリック⇒TABキーで編集モードに移行して、Aキーで全選択。UV⇒UV展開でUV展開し、UV Editingに。UV展開図をAキーで全選択したら、Pキーを押して一応ピンを打っておく。
UV展開→ピン止めって、以前チュートリアルで学んでおまじない的にやってるけど、UVを固定するみたいな感じ?
でも調べてみたけど、これ闇雲に全選択してピン打っても意味ないっぽい?
ピン止めしておいた部分は、次にUV展開した時に固定されるみたい?なので、その後メッシュやUV配置図を調整する時に使うと良い感じかな?
次にやる時までに調べておこう。
木のほうもUV展開する。
円形のやつはシームを切ってやると良い。
動画と葉っぱと木をジョイントして、一つのオブジェクトにしてやってるから一枚のテクスチャで塗ってたけど…。そのために木のUVは葉っぱと被らないように移動させてみた。
でもそうすると葉っぱと木が一緒のマテリアルになってしまうからどうだろ。
今回は別々にやろうかな。
これで配列適用すれば、一つ葉っぱを塗るだけで全部に適用される
配列適用し、新規でテクスチャを作成する。
そのテクスチャを 画像⇒名前をつけて保存 する。
右側のテクスチャペイントで、モードを「単一画像」にして、保存したテクスチャを指定すると、
全ての葉っぱに塗が適用される。
一枚一枚塗らなくてもいい。一枚一枚凝って塗りたいなら別だけども。
ただ、シェーダーノードを作る場合は単一画像じゃなくてマテリアルでやる。
でも結局この画像を使うことになるので、後で切り替えればいいです。
葉っぱのシェーダーノードを作成する
動画では葉っぱと木を両方選択して、Ctrl+Jで結合して一つのオブジェクトにしてるみたいなので、シェーダーノード一つ作るだけで両方に適用されてる。
でもそれだとマテリアルが葉っぱと木で共通になってしまうので、どうだろ。
勉強のためにも別々に作ってやってみようかな。
そもそもシェーダーノードって?
これ苦手意識があったけど、要はunityのシェーダーみたいな感じで、ノードでシェーダーの要素を組み合わせて、いい感じの影をつくる感じ?
マテリアルを作る工程だと思っていれば大丈夫かな?
でもまだちょっといじれるレベル程度なので、この説明で合っているかは分からない。
設定項目がたくさんあるみたいで、どれが何なのかよくわからないですね(-_-;)
まぁテクスチャを表示するくらいなら簡単みたいだし、そのレベルからやります。
最終的にunityに持っていくなら、blenderではそこまで凝らなくていいかな?
画像テクスチャ(Image Texture)を二つ追加して、RGBミックス(Mix RGB)で乗算(Multiply)する
()内は英語の場合です。日本語と英語では名前が違うので、間違うと検索しても出てこない。
つまりやりたいのは、ベースカラーでベタ塗りした画像と、ベタ塗り部分に影を付けた画像を用意して、乗算させて影を付ける感じ。
ペイントソフトでよくある、下塗りレイヤーと影を付けるレイヤーを分けて、乗算で合成させるっていう感じ。
今回はやりませんが、最終的にベイクして一枚のテクスチャにできるみたいです。
とりあえずやってみます。
Shadingメニューを開いて、「新規」を押すと プリンシブルBSDF と マテリアル出力 ってのができる。
そして画像テクスチャ×2とミックスRGBだけとりあえず追加しておく。
プリンシブルBSDFってのはPBR(物理ベースレンダリング)に基づいたシェーダーのことらしいです。
最終的にプリシブルBSDFのシェーダーを通して、マテリアル出力させる感じ。ノードを組むのは、シェーダーを通す前の段階でアレコレやる感じ?だと思う。
↓見るとナントカBSDFってのがたくさんあるみたいなので、シェーダーを色々変えて試してみるといいかも。
新規で画像テクスチャを作成し、ノードを組む
画像テクスチャ×2で、「新規」を押してテクスチャを作成しておく。下塗り用の「Base」と影用の「Shade」でいいかな。
そしてBaseのカラーをミックスの色1に、Shadeのカラーをミックスの色2にノード接続し、ミックスを乗算に変える。ついでに乗算のカラーを、プリンシブルBSDFのベースカラーに繋げる。
これで、画像二つを乗算で表示させて、プリンシブルBSDFのベースカラーに繋げ、マテリアル出力する…ってことになるみたい。
色1が下のレイヤーで色2が上のレイヤー?っぽいので、ノードを間違うと意図しない表示になっちゃうので注意。
ミックスRGBでは二つしか合成できないので、三つ以上合成したい時は、更にミックスRGBを追加してノードを組む感じみたい↓。
とりあえずBaseとShadeの二つだけでやるので、これは例ね。
このウィンドウみたいなやつ?たくさんあるみたいなので、それらを組み合わせて良い感じにシェーダーを調整していく感じっぽい。
最終的にunityに持っていく場合、blenderではあまり凝って作らなくていいか?
unityにはそのままblenderのシェーダー?というかマテリアル?を持っていけないっぽいので、画像だけある程度作って、unityで調整したほうがいいかも?
unityに持っていくとデフォルトのスタンダードシェーダーになるので、unityに持っていくなら最低限UV展開とテクスチャだけある程度作って、unityで調整したほうがいいかな?
unityは優秀なシェーダーがたくさんあるので、そっちのほうがいいかも。
でもblenderでいい感じにシェーダーを作って、それをベイクしてリアルなテクスチャを作れるみたいなので、最終的にどんな感じでunityに持っていきたいかにもよるかも。
でもテクスチャに影をベイクした場合は、unityでライトが当たったところでも影がついてる感じになる。
あんまり立体感出さない感じならいいかもしれないけど、最終的にどう表示したいかで判断したほうがいいかもしれない。
葉っぱをテクスチャペイントで塗る
UV展開図のところだけ塗りたい場合、マスクをかける ※重要
これやらないと、塗りつぶした時にテクスチャ全体を塗りつぶしてしまう。
これ私もしょっちゅう忘れるので、とりあえず手順だけ書いとく。
- テクスチャペイントに行き、マテリアルモードに。塗りたいテクスチャを選択する
- TABキーで編集モードに変え、塗りたい部分(この場合は葉っぱ)をLキーでリンク選択?する(つながったメッシュを選択、らしい)
- TABキーでペイントモードに戻り、ペイントマスクボタン(「ビュー」の横にあるやつ)を押す
- 好きな色を選択して、塗りつぶしツールで塗る
- 塗り終わったらペイントマスクボタンを押してマスク解除する
実際やってみるとこんな感じ。
ペイントマスクは便利っぽいので覚えておいた方が良いかも。
選択した面だけ塗れるみたい。
選択した部分のみ塗れる感じなので、変なところでONになってると「あれ?塗れないぞ?( ̄▽ ̄;)」って状況になる可能性があるかも?
塗り終わったらオフにしといたほうがいいかも。
グラデーションも使える
影をグラデーションで塗ってみる。
同じようにマスクしてから、「カラー」を「グラデーション」にして、グラデーションかけたいところを左クリックでドラッグ&ドロップする。
あらかた塗ったら、最後にシェーダーノードを調整する感じで
↑でグラデーションをかけたけど、Layoutで確認しても影が反映されてなかった…。
でもテクスチャはちゃんと塗れてるので、これはシェーダーノードの項目で最終的に調整する感じ。
係数を上げたらいい感じに影がついた。
木も同様にシェーダーノード作成、テクスチャペイントする
UV展開まではやってあるので、シェーダーノード作成からやります。
Layoutに戻って、木を選択してShadingモードに。
葉っぱと同様画像テクスチャ×2でミックスさせてノードを組みます。
画像テクスチャの名前は下塗り用をtree、影がtree-shadeにしておく。ミックスRGBは乗算に。
これ項目が色々あるので、勉強がてら色々組み合わせてみると良いかもしれない。
テクスチャペイントに行って、編集モードで選択、テクスチャペイントモードでマスクをかけ、選択したカラーで塗りつぶす。
ちょっと色が微妙だから後で直すかも。
影を塗る時は配列適用しておいたほうがいいっぽい?
同様にtree-shadeにグラデーションで影を付けよう!と思ってやったけど、何故か塗れなかった。
配列もデイファイアを適用し、Lキーでリンク選択したら塗れるようになった。選択した部分だけ色が変わっている状態だと大丈夫っぽい。
葉っぱの方では最初に配列適用しておいたけど、木の方はやってなかった。
こういうちょっとした部分で詰まったりするので、こうやって備忘録を残しておくと良いと思う。
うんまぁこんなところかな…?
画像→外部エディターで編集 機能を使うと、フォトショップやGIMPなどでテクスチャ編集できるみたい
これね。
でも事前にどのエディターを使うのか、プリファレンスで指定しておく必要がある。
GIMPのexeファイルはbinフォルダにありました。
Image path ‘.’ not found, image may be packed or unsaved エラーは画像を保存してないことが原因
外部エディターを設定して開こうとしたら、このエラーが出た。
画像がありません、みたいな意味だと思う。
シェーダノードのところで画像テクスチャを追加、新規で名前を付けるとblender内で画像が生成されるけど、保存しておかないと外部からは開けない感じ?
画像⇒名前をつけて保存をしておいたほうがいいです。
編集結果をblenderに反映させるには、ペイントソフト側で画像を保存して、画像の再読み込みをする必要があるっぽい
blender内でGIMPが開くイメージだったけど、単にGIMPが起動して開くだけみたいです( ̄▽ ̄;)
blenderに反映させるには、ペイントソフト側で上書き保存して、blenderで再読み込みする必要があるみたい。
普通に一つの画像ファイルを編集して同期する感じ?
手動で読み込まないといけないなら同期と言えるか分からないけど…。
マスクや選択範囲の指定もやり直さないといけないし、最初にどちらで塗るか決めておいた方がいいかも?
UV配置図だけエクスポートして、ペイントソフトで塗るのも良いかも
UV editingメニューで UV → UV配置図をエクスポート をすると、UV配置図だけエクスポートできます。
そうするとこんな感じのUV配置図だけの画像がエクスポートされるので便利。
これをblenderと同期させて、ペイントソフトメインでテクスチャ編集していくのもいいかも。
でもそのまま上に描くとUV配置図の線まで反映されてしまうので、上にレイヤー作って描いた方がいいです。
できるだけ平面に近づけたほうが塗りやすいと思うので、そのために上手くシームを切ったり、上手く展開できたところをピン止めしていって、いいUV配置図ができるまで試行錯誤する感じなのかな?たぶん。
仕上げする
葉っぱを木の上に配置して、あとは葉っぱを一枚ずつ角度をつけて仕上げる。
葉っぱは配列適用して一つのオブジェクトになっているので、編集モードにして全選択、Pキーを押して「構造的に分離したパーツで」を選択すると分離できます。
一つのオブジェクトに戻したい時は、SHIFTを押しながら左クリックで一つずつ選択し、Ctrl+Jで結合すればまた一つのオブジェクトにできます。
葉っぱを曲げて角度をつける
葉っぱの先端あたりを選択、プロポーショナル編集オンで、適当に不揃いに曲げるといいかも。
R(回転)よりは、G+Z(上下に移動)で上下に移動させる感じがいいかな。
自然界の物体だからあんまり画一的に曲げると不自然になるので、適当にほどほどにやるのがちょうどいいかも。
前の記事で書いたカーブモディファイアを使う手もあります。

あとはオブジェクトモードで、葉っぱ全体で曲げたり移動させたりするのも良いと思います。
ヤシの実を塗る
適当にシームを切ってUV展開して、
テクスチャ×2でシェーダーノード組めばいいかな。
組み上げて大体完成?
まぁそれっぽくはなったかな…。
あとはテクスチャ凝ったりシェーダー凝ったりだけど、そういうディテールをいかに凝るかだと思う。
でもまずは細部にこだわりすぎるよりも、ざっくり全体の流れを把握していったほうがいいかもしれない。
思ったこと:モデリングも重要だけど、凄そうに見せるにはシェーダーが重要かも?
最近youtubeでblenderのチュートリアル見てるけど、「おお!」ってなるのは大抵シェーダーをいじってリアルな陰影ができていく段階かもしれない。
モデリングの段階では「へー」って感じでどこまで凄いのかちょっと分かりにくい気がするし、特に最近は便利なモディファイアとかたくさんあるわけで…。
人物モデルとかはVRoidやMakehumanとか、ベースとなるものが今はあるし。
unityでもPPSとかの見た目をいじるだけでなんかプロっぽくなるし、見た目を整えるシェーダーは超重要かも。
というかシェーダーを凝れば、テクスチャはベタ塗りでも影や光がついて映える気がする。
影と光の表現が上手ければ造形が微妙でも凄く見えるし、一番力入れるべきはそこかも?
3Dって設定項目が多いぶん、最終的なクオリティは掛け算で決まる気がするから、特定の部分では1点でも、他で5点とか10点出せるならそれで良いのかもしれない。
まぁ全部まんべんなくできるのが一番いいんだろうけどね(;^_^A
続く?次はunityに持って行って見た目を調整する感じ?
こちらの先輩のお陰でだいぶ勉強になった。
ありがとうございます(*^-^*)
本読むより参考になったと思うから投げ銭したいけど、受け付けてないみたい。残念。
次はunityに持って行ってシェーダー調整するあたりかな?
というかunityでライト調整とかしたりして見た目を整えていくのがいいかな?
まだ木しか作ってないからアレだけど、海や砂浜、スカイボックスなどを用意して、最終的に舞台の見た目を整えるがいいかもしれない。
勉強のために一応全部作ってみたいけど、いきなりは無理か(;^_^A
素材を配置して上手く整えるくらいはできるかな?
どこまでやるかわからないけどね。