【Blender】放射マップベイクでワイヤーフレームテクスチャを作る
ワイヤーフレームかっこいいですよね。
Unityだとスクリプトとかジオメトリシェーダーを使えば、ワイヤーフレーム表示だけなら案外簡単にできるのですが、そこから色々やろうとすると結構扱いにくい…。
そんなわけで色々(10分ぐらい)考えたところ、ワイヤーフレームテクスチャを作っちゃえば、あとは貼っつけるだけなので楽だし色々扱いやすいじゃんという結論に至りました。
ということで、本記事ではBlenderでワイヤーフレームテクスチャを作る方法を紹介します。
タイトルにある通り放射マップをベイクする方法で作っていきます。
UV展開して「UV配置をエクスポート」でも作れるのですが、画質低いし、色の設定とかやりにくいしでイマイチです。※そんなことないよ!こうすればいいよ!という方いましたら連絡ください。
それでは早速やっていきましょう。
Blenderのバージョンは2.8です。
ちなみに本記事ではUV展開のやり方については説明しません。
今回はこちらのAstronautくんのワイヤーフレームテクスチャを作ってみます。objファイルをダウンロードしてBlenderにインポートします。
レンダーエンジン変更
ここからが本番です。まずは、レンダーエンジンをCyclesにします。(デフォだとEeveeになってます。Eeveeでできるかは未検証です。すいません。)
Astronautくんをワイヤーフレーム表示に
続いてAstronautくんをワイヤーフレーム表示にしていきます。
オブジェクトモードでAstronautくんを選択し、マテリアルAstronaut_matを選択。そして、シェーダーエディターを開きます。
開くと下図みたいになってるかと思います。
ここからノードを追加していきます。「入力>ワイヤーフレーム」、「シェーダー>放射(英語ならたぶんEmitもしくはEmission)」、「シェーダー>シェーダーミックス」の3つのノードを追加します。
追加したノードを下左図のようにつなげましょう。3DViewの表示を「レンダー」に切り替えたら下右図のようにワイヤーフレームっぽくなってるかと思います。
放射マップをテクスチャにベイク
ワイヤーフレーム表示ができたので、ベイクしていきましょう。
まずは、「UV画像エディター」を開きます。
開いたら、「画像>新規」で新しい画像を作成します。
設定ウィンドウが出てくるので、名前と幅、高さなんかを決めてOKをクリックします。設定はだいたい下図の通りでオッケーです。サイズはちょっと大きめにしてます。
下図みたいに真っ黒い画像ができます。この画像にワイヤーフレーム柄をベイクしていきます。
ここでもう一回、シェーダーエディターに戻りましょう。そして、「テクスチャ>画像テクスチャ」ノードを追加します。このノードはどこにもつなげなくていいです。
画像テクスチャノードに画像を指定する欄があるのでそこに先ほど作った画像(wireframe)を指定します。
ベイクタイプを「放射」にし、ベイクをクリックしましょう。
ベイク中…
できあがりー
今回はAstronautくんのワイヤーフレームテクスチャを作りましたが、UV展開さえすれば別のモデルでもほぼ同じ手順で作れます。たぶん。
おまけ
テクスチャなのでかなり扱いやすいです。下のようなこともスクリプトとかジオメトリシェーダー使うときより全然楽チンにできます。
#ar_fukuoka #unity #shadergraph
— TheStoneBook@バーチャル紙相撲協会 (@thestonebook) 2019年7月6日
もくもくの成果。
そういえばコード一切書いてない。 pic.twitter.com/GM4VHsB3SD