いんでぃーづ

ゲームいろいろ、いろいろ自由

AssetStore から落としたモデル用の NormalMap を Blender で作成する

ボクセルのモデルがやっぱりちょっと物足りなかったので、NormalMap を自作して立体感を演出してみました。

法線マップ(Normal Map)(Bump mapping) - Unity マニュアル

Blender にモデルをインポート

blender.jp

モデルは FBX 形式だったのでそのままBlenderでインポート。
小さかったのでスケールを大きくしました。スケール自体は出力したいNormalMapには影響しません。

f:id:sugar_affordance:20190329175030j:plain

モデルのコピー

モデルを選択して Shift + D > Enter で同じ位置にコピー。

今回はコピー先のメッシュを変形し、その法線をコピー元マテリアルにベイクすることでNormalMapとします。

コピー元(NormalMapテクスチャ出力先):モデルA
コピー先(メッシュ変形):モデルB

とします。

モデルBのメッシュを変形

Editモードにしてナイフツールでメッシュを分割し、右クリックで面選択してEボタン で一部へこませます。

f:id:sugar_affordance:20190329175113j:plain

f:id:sugar_affordance:20190329175153j:plain:w480

わかりにくいけど少しへこんでいる。

モデルAに焼き込み用マテリアルを作成

インポートしたときについてきたマテリアルは削除し、新規にマテリアルを割り当てる。

f:id:sugar_affordance:20190329175255j:plain:w360

モデルAにNormalMap出力先テクスチャを作成

モデルAを選択してUV Editモードにして、下部のボタン から新規でテクスチャを作成します。

f:id:sugar_affordance:20190329175645j:plain

でUV展開しておきます。

f:id:sugar_affordance:20190329175847j:plain

メッシュ変形したモデルからベイク

モデルB選択 > Shift+モデルA 選択
としてベイクします。

f:id:sugar_affordance:20190329180400j:plain:w360

この状態でUV Editモードに行くと、さっき作成したテクスチャにNormalMapが書き込まれています。

f:id:sugar_affordance:20190329180448p:plain:w480

赤枠の部分に期待した法線情報が書き込まれていることがわかります。

あとは Save as Image するだけ。

f:id:sugar_affordance:20190329180711j:plain:w380

Unityでインポート

プロジェクトビューにD&Dして Normal Map 設定をする。

f:id:sugar_affordance:20190329180746j:plain:w380

マテリアルに設定

Standard Shader の場合 Normal map テクスチャに設定します。

f:id:sugar_affordance:20190329180842j:plain:w360

結果

f:id:sugar_affordance:20190329180952j:plain:w360
適用前

f:id:sugar_affordance:20190329181005j:plain:w360
適用後

鼻の部分がちょっと立体的になりましたね。わかりにくいから後で画像差し替えるか...。いじょ


このおはなしのアセットわぁ〜(森○レオ調)


“Unity” and Unity logos are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere, and are used under license.


免責事項

当サイトの広告バナー、リンクによって提供される情報、サービス内容について、当サイトは一切の責任を負いません。

また、当サイトの情報を元にユーザ様が不利益を被った場合にも、当サイトは一切の責任を負いません。

すべて自己責任でお願いします。