2015年4月7日火曜日

【Cities:Skylines】Blenderで自作アセット! テクスチャ解説&スペキュラマップ書き出し編

はじめに

 C:Sでは自作アセットモデル(FBXファイル)を読み込む際にいくつかのテクスチャを適用できます。それらのテクスチャはC:S上でガラス面の反射を表現したり、壁面の目地の窪みや凹凸を表現したり、看板のロゴをモデリングなしにテクスチャ設定のみで切り抜いて表現したり、看板を発光して見えるようにしたり、特定の面だけカラーバリエションを持たせたりすることができます。
前の記事で作ったような、ディフューズマップ(基本のテクスチャ)だけでも十分ですが、他のテクスチャも適用すると見た目が格段に良くなります。ディフューズマップをもとにフォトショやGIMPなどの画像編集ソフトでスペキュラ(反射)のマップやイルミネーション(照明)のマップを作る方法もありますが、テクスチャベイクを使えば簡単にスペキュラ、イルミネーション、ノーマル(凹凸を表現)のテクスチャを出力することができます。特にノーマルマップは画像編集ソフトで作成するのは難しいので、ベイクだからこそ表現できるテクスチャと言えます。今回はそんな質感用テクスチャベイクの中でスペキュラマップの作成手順をまとめました。

1.テクスチャの種類を紹介

以下、蛇足だけどC:Sのアセットモデルに適用できるテクスチャ紹介。(一部しまむらのモデルに使用したテクスチャを例に挙げる)
 モデルの読み込み方法などはWikiに解説があるのでそちらを参考にしてね。

・ディフューズ マップ(FBXファイルと同じファイル名_d.拡張子)
 →モデルの色や見た目を表現する基本のテクスチャ。一番重要。

 
・ノーマルマップ(FBXファイルと同じファイル名_n.拡張子)
 →面の凸凹を設定する。ローポリでも凹凸面や溝・目地などを表現することができる。

 
・スペキュラマップ (FBXファイルと同じファイル名_s.拡張子)
 →グレースケール画像で面の反射・光沢を設定できる。真っ白に設定すると鏡面になる。光沢もこのマップで表現でき、下の画像では屋根や壁面の光沢を表現するためわずかに濃淡が設定されている。


・イルミネーションマップ (FBXファイルと同じファイル名_i.拡張子)
 →グレースケール画像で面の照明効果を設定できる。照明の色はディフューズマップの色に依存する。看板などの照明を表現する時に。白黒の濃淡と照明効果の違いはそれほどないようだ。(要検証)
2015/10/25追記
After Darkアップデートに伴い、ゲーム中に夜間の表現が追加され、それに伴いイルミネーションマップの仕様が変更となった。
イルミネーションマップ画像の0-256の白黒の強度で照明効果無し、ディフーズ色での照明、ランダム照明などの効果が設定できる。画像の白黒の数値を設定するのはBlenderでは難しいので、GIMPやフォトショップ等の画像編集ソフトで設定してあげるのがいいようだ。白黒の数値による効果の違いが下記のものだ。

0 = 照明効果なし
1-120 =ディフューズ色での照明、120が最大発光
(使用しているディフューズ色によっては120でも照明効果が分かりにくいこともある)
128-255 =この範囲内で設定された箇所はランダムで照明(照明はクリーム色で発光する)
After Darkアップデート前のイルミネーションテクスチャ
After Darkアップデート後のイルミネーションテクスチャ
(照明効果部分はすべて強度120)

アルファマップ (FBXファイルと同じファイル名_a.拡張子)
→グレースケール画像で切り抜く場所を設定できる。白い部分が残り、黒い部分は切り抜かれる。複雑な形状のロゴをローポリで表現したいときなどに使える。

 カラーマップ (FBXファイルと同じファイル名_c.拡張子)
→グレースケール画像で白く設定した部分はアセットエディタ編集時に設定した数種の色の影響を受け、逆に黒い部分は色の影響を受けないようにできる。こうすることでゲーム内で出現する建物の任意の面にランダムで色のバリエーションを持たせることができる。

 また、LODモデルとそのディフューズテクスチャも読み込むことができるが、今回は省略する。これらのテクスチャを駆使して目的の表現を実現させる。


2.スペキュラマップをつくる


 それではさっそくスペキュラマップ(反射マップ)を書き出してみる。前の記事のような、ディフューズマップまで完成したモデルを用意する。

反射させたい面を新しいマテリアルで設定する場合
 反射させたい面(この場合は窓)を3Dエディタで選択し、プロパティウィンドウのマテリアルから新しいマテリアルを作成し、適用する。ミラーにチェックをいれ、反射色を白に設定。



  ベイクモードを「ミラー色」にしてベイクする。
マテリアルでミラー強度を設定すれば「ミラー強度」でも同じような結果がでるが、後述の理由により「ミラー色」での書き出しをおすすめする。


反射させたい面を既存のマテリアルで設定する場合
 既存のマテリアルにもミラー色を設定するだけで反射を設定できる。その場合、関係ない場所に反射させたいマテリアルが適用されていないか注意しよう。


スペキュラ情報を持つテクスチャを設定する場合 
ディフューズテクスチャにスペキュラ情報を持つテクスチャを追加することで素材の微妙な光沢を表現することができる。販売されている高級なテクスチャにはディフューズの他に、バンプ(ノーマル同様凹凸の情報が含まれる)、スペキュラのマップが用意されているものも存在する。そういったものは大抵値が張るが、以下のサイトは上記3種が揃ったテクスチャのサンプルをフリーでダウンロードできる。(有償版と比べ解像度が低いが、それでも実用に耐えるクオリティだ)そのほか、ディフューズのテクスチャを画像加工ソフトでグレースケールにして編集することでバンプやスペキュラのマップを作ることもできる。
 
Arroway textures

以下の画像はarroway texturesからダウンロードしたテクスチャだ。(ディフューズだけ色に手を加えた)しまむらのモデルでは屋根に使用している。
茶色のがディフューズ、白黒がバンプ、黒っぽいのがスペキュラだ。





今回はあらかじめ設定されていたディフューズにスペキュラを設定する。プロパティウィンドウのテクスチャから、何もない項目を選択し、「新規」で追加し、スペキュラ情報を持つテクスチャを読み込む。下段にある「影響」の「ディフューズ」の「カラー」のチェックをはずし、影響の項目の「ミラー」にチェックを入れる。

 
 
プロパティウィンドウのレンダー下部のベイクでベイクモードを「ミラー色」にしてベイクするとスペキュラ情報を持つテクスチャのスペキュラマップも書き出される。テクスチャで設定したスペキュラ情報はなぜか「ミラー色」でないと出力されないようなので、最初に「ミラー色」をおすすめした。


同じように他のテクスチャにもスペキュラ情報を設定していくと、以下の様なスペキュラマップが書きだされる。UVエディタの画像から画像を別名で保存するのをお忘れなく。




次回はイルミネーションマップ、ノーマルマップの書き出しについてまとめます。一気に全部まとめたかったのですが、書くべきことがどんどん増えて長くなってしまいました・・。今回も突貫まとめのため、粗が目立ちますがお許し下さい。不明な点があればコメントでお知らせください。

【Cities:Skylines】Blenderで自作アセット! イルミネーション・ノーマルマップ書き出し編へ



3 件のコメント:

  1. >Arroway textures
    のリンク先がNot foundになってしまいます

    返信削除
  2. リンク先のトップに移動してよく見てみたら、サイトの構造が変わったっぽいですね
    とりあえず「Texture Browser」に行って左側のタグ分類から一つのテクスチャを選び、Free Downloadsからrarをダウンロードする方式でいいでしょうか?

    返信削除
  3. >>Unknownさん、Beginnerさん
    Unknownさんご指摘ありがとうございます、リンクと画像を修正しました!テクスチャはBeginnerさんがおっしゃる方法でこれまでどおりダウンロードできますね。こちらの補足もありがとうございました!
    それと、イルミネーションマップの情報が古くなっていたので追記しました。

    返信削除