jaijai’s blog

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

光沢感の出し方あれこれ

Cities Skylinesのグラフィックス表現は発売時の基準からしても貧弱で、あらゆる状況で良い感じに見える光沢表現はかなり困難です。ここでは、光沢表現に関係する要素と私が使った手法について紹介します。

スペキュラマップ

おなじみの反射度を表すテクスチャです。値を上げるほど光沢度が増します。

透過対応アセットの場合は0.7前後から透過が始まるのでそのあたりが上限になります。副作用として、上げるほど夜間や雨のときでも明るく浮きやすくなります。

ディフューズマップ

Cities Skylinesでは間接光の表現が乏しいのでスペキュラマップだけでは思いの外反射してくれません。よって、少なからず「光沢感のある絵」を描く必要があります。よくあるのは写真からコピペして明度やコントラストをいじるパターンです。

ゼロから自前で描く場合は絵描きさん向けに光沢や金属の描き方を解説しているサイトなどが役に立ちます。

ノーマルマップ

光沢とは無関係に見えるノーマルマップですが、大きく影響します。

Cities Skylinesではモデルの上下がひっくり返る事がほぼ起こりません。そこでノーマルマップで法線を上に向けます。これによりゲーム中での見下ろし視点においても格段に光源から反射されやすくなります。

f:id:jaijai_lt:20200517172405p:plain

斜め上に向いてる面ではもともと反射しやすいのでノーマルマップは弱い値にするかもしくは使いません。斜め面では逆に反射しづらくなることがあります。

スムーズ面とフラット面

スムーズ面のほうが圧倒的に光沢感を出しやすいです。フラット面では光源からの光を反射する角度が狭くディフューズマップのクオリティが求められます。

作例

拙作アセットで使った光沢表現からいくつか紹介・解説します。

基本的な考え方として、スペキュラマップ(_s)あるいはノーマルマップ(_n)の値を上げるほどディフューズマップ(_d)は暗くする必要があります。このバランスが悪いとやたら明るかったり常に暗かったりします。求める光沢感に合わせて調整が必要になります。

表の数値_nは緑または赤チャンネルで主要な部分の値です。0.5が中央値(効果なし)です。

作例1

f:id:jaijai_lt:20200517194455p:plain
いすゞフォワードで使っている正面のロゴ部分です。

使用しているテクスチャです。左から_s_d_nです。 f:id:jaijai_lt:20200521153451j:plain

反射は控えめで時折キラっとする程度を狙っています。_sは控えめなので_dはほんのり暗くする程度です。

_s 0.45
_d 0.13-0.34
_n 0.61

作例2

f:id:jaijai_lt:20200517210342p:plainf:id:jaijai_lt:20200517210353p:plain
フォワードグローバル仕様のボディー部分です。鏡面よりも少しくすんだ感じの光沢です。

f:id:jaijai_lt:20200521160133j:plain

_sはかなり低いものの_nは強めです。_dは全体的に暗めになっています。

_s 0.41
_d 0.17-0.31
_n 0.7

作例3

f:id:jaijai_lt:20200517231444p:plain
Tollトラックの泥除けカバー部分です。

f:id:jaijai_lt:20200521160150j:plain

フラット面で目立たないパーツということもあり光沢強めの値にしています。UVマップは横向きなので_nは赤チャンネルを使っています。光沢模様の調整は_nで行っています。フラット面はスムーズ面より_n強めにしないとなかなか反射してくれません。

_s 0.6
_d 0.13-0.15
_n 0.71

作例4

f:id:jaijai_lt:20200518023342p:plain
EF66の飾り帯です。スムーズ面ですが下向きの面です。

f:id:jaijai_lt:20200521160202j:plain

ノーマルマップを強くすることで下向きの面でも強引に反射させることができます。

_s 0.42
_d 0.25
_n 0.9

作例5

f:id:jaijai_lt:20200518010218p:plain
Amazonトラックです。

f:id:jaijai_lt:20200521160213j:plain

強い光沢を求めて試行錯誤していた頃のアセットで_sは大きな値になっています。その反動で_dの明度はかなり落とすことになりました。_sを上げると_dの調整は難しくなるのであまりおすすめしませんがこれはこれでアリかなと感じています。

_s 0.79
_d 0.05-0.29
_n 0.59

作例6

f:id:jaijai_lt:20200518030537p:plain
UDクオン焼津トラックです。

f:id:jaijai_lt:20200521160223j:plain

Amazonトラックより_sを下げて_nを上げています。

_s 0.65
_d 0.11-0.35
_n 0.67

作例7

f:id:jaijai_lt:20200518033616p:plain
出光トレーラーです。

f:id:jaijai_lt:20200521160250j:plain

丸いのでもともと反射しやすいため_nは使っていません。広い面積の光沢表現は難しいです。ある程度小さく凸凹があるほうが簡単です。

_s 0.6
_d 0.23-0.38
_n 0.5