blender2.81でスフィアマップを作ろうと努力した話

結論から言うとペイントソフトで一から描いたほうが早いです。。。。。

スフィアマップとは何か!?みたいな話はしないしわかってる前提で話は進めるけども…すごい便利なんだよスフィアマップ

画像1

左が胴体にスフィアマップを入れたもの、右が入れてないもの

左にあるツヤツヤしたハイライトがスフィアマップの効果です。静止画だと地味だな…動画だとわりとすごいんだよ


本来このようなハイライトは”つやのあるマテリアル”と”位置、大きさ、角度にこだわったライト”の二つがないときれいに出ないのだけれど、キャラクターだけ配布したり、ゲームの各ステージごとにそんなにライトを作りこめなかったりする。そんなときはスフィアマップを入れるだけでだいぶそれっぽいハイライトが入ってくれてとても便利。

あとテクスチャとは別に管理されるので、まだ作りかけでUV展開してない、テクスチャを書き込んでいないモデルとかでもスフィアマップ入れるだけでだいぶそれっぽい見た目になる。作り途中のモデルで遊びたくなっちゃうときにとても便利。


と、そんな風にすごい奴なので一度自分で作っておきたかった…そんな話です。


画像3

いろいろやって最終的にこんな感じになった。この程度の雑なつくりでもあると無いとでは見え方ががらりと変わります。(保存して自由に使ってよい画像です)


ベースのシーンを作る

画像2

まずはシーンにICO球をおいて原点に配置、大きさはデフォルトの直径2メートルとかでいいや

オブジェクト→スムースシェードを選ぶでカクカクをなくしておきましょう

そのあとこの球体を撮影するカメラの設定をします。

画像4

カメラの位置は球を自然に眺めるくらいの距離、今回はYに-10で。回転も球が見える悪度に調整します。

プロパティウインドウの出力タブで、出力する画像のサイズを1024×1024の正方形にします。

あとはカメラを選択した状態でカメラタブの焦点距離を180にすれば、上の画像のようにレンダリング範囲にぴったり球体が収まるシーンが出来上がるはずです。


レンダリング設定

スフィアマップとは言ってしまえば正方形の画像のことなので、作ったシーンからレンダリングして画像を保存すればスフィアマップの完成です。

きれいな画像を出力するために、レンダリング設定を頑張ってみましょう。


blender2.81にはレンダーエンジンが複数入っていて、有名どころとしては


Eevee:新しいレンダーエンジン。きれいでレンダリング速度がめっちゃ早い

Cycles:わりと昔からあるレンダーエンジン複雑な設定ができるがきれいな絵を出そうとするとめっちゃ時間がかかる

大体この二つのどちらかから選ぶことになると思います。


今回はCyclesを使います。Eevee使ってみたかったんだけど…調べたところどうやら鏡面反射が苦手らしいので…

Cycles設定

レンダータブの中にあるレンダーエンジンをCyclesに変更

サンプリングの数値を小さい値に変えておく

このサンプリング数値を大きくすればするほど画像がきれいになりますが、めちゃくちゃレンダリングに時間がかかるようになります。3DCG映画とかでは一枚レンダリングするのに何日もかかったりすることあるからね…こわい…

今回はそんな時間をかけたくないのでサンプリング数値を小さくし、代わりにデノイズという機能を使ってきれいな画像にしていきます。


Denoise設定

①ウインドウを分割して、コンポジターを開く

②コンポジターのメニューにある「ノードを使用」にチェック

③メニューの追加からDenoiseを追加

④伸びてるヒモをつないでDenoiseを間に挟む


こうすることでサンプリング数が小さくてノイズだらけの画像でも、AIがいい感じにきれいな画像にしてくれるらしい。


ここまでできたらレンダリングを実行(メニューからレンダー→画像をレンダリング、かもしくはF12キー)するときれいな球体がレンダリングされるはず

解説記事書く用


あとはこの球体にマテリアル設定とか、映り込むオブジェクトを配置したりしていくとオリジナルのスフィアマップが完成だ!

となるはずだったんですが映り込むオブジェクトを配置するセンスがなさ過ぎてシーンがぐちゃぐちゃになったので気が付いたポイントだけメモとして残しておきます…


球体のマテリアル設定

球体のマテリアル設定

今回はつやつやした素材を作るので、ベースカラーは真っ黒、スペキュラーを1にします。こうすると鏡みたいに周りのものが映り込むような材質になる。

紙や、表面がさらさらしたプラスチックのような材質にしたいなら粗さの項目をちょっと上げてあげると映り込みがぼやけてマットな質感になるよ。


映り込む物の配置

結局よくわからなかった。

まずエディターウインドウ→ワールドタブ内のカラーを黒にします。

ワールド背景色

あとは映り込むオブジェクトをそれっぽく配置

映り込むやつの説明

・強めのハイライト

・規則的に並んだ長方形で無機質な映り込みを表現

青い床で照り返し、ハイライトにオレンジ系のライトを使うなど、複数の色を混ぜると豪華になる


とかとか…結局絵的なセンスが必要!


そんな感じでトップにあるスフィアマップを作りましたとさ!!


unityで使用する

スフィアマップができたらあとはunityに持っていっておしまい!

unityに入れる

今回はunityちゃんトゥーンシェーダーに使用しました

matcapをアクティブにして作ったものを入れればOK

ノーマルマップを使用していた場合はNormalMap for MatCap as SpecularMaskにノーマルマップ画像を入れる

これをやらないと溝やでこぼこを無視してハイライトが入ってしまう。


つやてか

こんなかんじでとりあえずスフィアマップを作ることができました…

これ絶対もっと簡単に作る方法があるはずだよ…


長々と記事を書いてきましたが結局よくわからんというお話でしたとさ


以上!おしまい!

この記事が気に入ったらサポートをしてみませんか?