jaijai’s blog

Cities Skylinesアセット作成に関するメモ・考察

GIMPでノーマルマップを作る

ノーマルマッププラグインの導入

Google Code Archiveから環境に合うバイナリをダウンロードします。32ビット版と64ビット版があるので要注意です。
ダウンロードしたプラグインをどのフォルダに展開するべきかはGIMPの設定->フォルダ->プラグインから確認できます。

下絵の作成

サンプルとして次のようなグレイスケールの下絵を作成しました。下絵の基本色はグレイ0.5です。127です。凸は黒く凹は白く描いていきます。この画像をもとにノーマルマップを作成します。

次に「レイヤーー>可視部分をレイヤーに」でコピーされたレイヤーを作成します。

ノーマルマップフィルタで変換

先程コピー作成したレイヤーを選択して「フィルター>マップ->Normalmap」でノーマルマップに変換します。Normalmapの設定画面ではFilterにSobel 3x3をOptionsではInvert Xを忘れず選択してください。

ノーマルマップが作成されました。

明度で凹凸を表現する

変換された紫な画像をみるとは手前に盛り上がっているように見えは凹んでいるように見えます。ゲーム内でもだいたいこんなかんじで見えますが色として見ているためゲーム内での印象とは若干異なります。
ノーマルマップフィルタは下絵画像の明度をもとにノーマルマップを生成します。近傍のピクセルとの明度差により傾斜角が算出されます。生成された画像をみるとも凹んでいるように見えますがほどではありません。あらためて下絵を見るとより明度が高くなっています。このように明度が高いほど強い傾斜として認識されます。傾斜が強いほど濃い色に変換されゲーム内でも強い影(輝き)が生まれます。
サンプルではがもっとも傾斜が控えめになっています。ゲーム内ではこの程度でもしっかりとした影が生成されます。までいくとやりすぎで使う場合は稀です。

GIMPで作成されたノーマルマップについて

CSLではノーマルマップは2軸しか使用しません。赤チャンネルはX軸、緑チャンネルはY軸に相当します。青チャンネルは利用されないのでインポートの段階で無視されます。