Unity Japan Office  メイキング6 ~ 表現の工夫 ~

画作り

Unity Japan Oficce メイキング第6弾 ~表現の工夫~ 編です。

 

Unity Asset Store でプロジェクトデータを入手できます。

 

ビルドデータ及び各種データのダウンロードは以下のサイトから。

日本におけるデザインビジュアライゼーションの例として、Unityの最新技術を駆使したフォトリアリスティックなデモを制作いたしました。

 

 

 色付きガラス

Unitiy Japan Office メイキング

 

HDRP で色付きのガラスを表現する場合、

マテリアルを Transparent にして、屈折オプションの Transmittance Color を設定します。

Unity Japan Office メイキング

 

しかし、薄いガラスなので比較的重い屈折処理は無視したいのと、

近寄った時に変な描画になってしまったので、別の方法でやることにしました。

Unity Japan Office メイキング

 

ガラスの内側に色付け用の板モデルを仕込みます。

Unity Japan Office メイキング

 

FakeTransmittance という色付け用の Unlit マテリアルを作成し、先のモデルに割り当てます。

このシェーダーは、指定色で画面を乗算するだけのごくシンプルなものです。(両面描画)

Unity Japan Office メイキング

 

Shader Graph で作成する HDRP 用の Unlit シェーダーでは

「単純な乗算」のやり方が分からなかったので、

従来の手書き Vertex/Frabment シェーダーで作成しました。

これはレンダリングパイプラインに関係なく動作します。

 

 

 マリモ

Unity Japan Office メイキング

 

花器のモデルは、①ガラス・②水上面・③水側面の3つに分けています。

それぞれで違う屈折設定にするためです。

Unity Japan Office メイキング

 

花器水中のまりもを表現するのは難しいです。

ゲームエンジンの屈折表現は結局のところ、ただ背景画像をオフセットさせているだけです。

屈折面から物体までの距離を考慮しないので、「すぐそこ」にあるマリモの存在など関係なく、

こう↓なってしまいます。

Unity Japan Office メイキング

 

どうすればよいのか。。。

マリモよりも水側面が後に描画されるから↑のようなことになります。

では、水側面の法線を反転させて裏面描画し、マリモを後に描画するとどうなるか。

Unity Japan Office メイキング

 

マリモは見えるようになりますが、当然屈折の見え方は正しくありません。

そこで、水側面のモデルに少し細工をします。

 

屈折描画が変なのは、見えている面の法線が凹型になっているからなので、

無理やり凸型の向きに合わせます。

何か特殊な追加機能を要するわけではないので、手法としては最もシンプルな騙しです。

Unity Japan Office メイキング

Unity Japan Office メイキング

 

コースティクスは、適当に手描きした画像をスポットライトの Cookie にして照らしているだけです。

Unity Japan Office メイキング

 

 

 遠景

Unity Japan Office メイキング

 

意図通りの写真を撮るのは不可能なので、東京の宝町周辺のモデルをパノラマ画像化して使っています。

1ブロックだけでは広さが足りないので、適当に角度を変えながら複製して並べます。

Unity Japan Office メイキング

Unity Japan Office メイキング

 

太陽光と SkyBox を設定し、奥がバレないように標準機能のフォグでごまかしてパノラマ画像化します。

必要なのは正面のみなので背面は黒くつぶしています。

Unity Japan Office メイキング

 

空の高い照度を表現するためにパノラマをHDR化しますが、

エディター上でグリグリ調節できるようにしたかったので、

別画像で照度マスクを用意し、シェーダーで強さを調節できるようにしました。

 

Rチャンネルが太陽、Gチャンネルが空です。

Unity Japan Office メイキング

Unity Japan Office メイキング

Unity Japan Office メイキング

 

 

 事務室

見えにくくするために敢えてぼかしていますが、ぼかしを外すとこんなです。

Unity Japan Office メイキング

 

廊下やキッチンスペース・作業スペースが奥に見えますが、モデルの形状はただの箱です。

Unity Japan Office メイキング

 

Theta で撮影した現地の360度画像を Cubemap にし、Box Projection を応用して表現しています。

Unity Japan Office メイキング

 

 

 Reflection Probe の Box Projection

Box Projection は Reflection Probe のオプションで、

オブジェクトがキャプチャ位置からずれている場合でも、いい感じに補正してくれます。

特に四角い室内で効果を発揮します。建築コンテンツでは必須です。

ボックスプロジェクション(Box projection)

 

つまり、Box Projection を利用するとガラスに反射する四角い室内は綺麗に再現できる訳です。

 

「四角い室内が反射する」という事は、言い換えると、

「四角い部屋が内側にあるかのように、色を乗せて反射に見せる」と言う事である。

では、「四角い部屋が外側にあるかのように、色を乗せて透過に見せる」と言う処理に変えれば、

ただの箱でも実際にモデルがあるかのような、立体的な見た目にすることができるわけです。

 

詳しい解説は以下参照。

 

とりあえず正面の空間サイズに合わせて Box Projection するとこうなります。

Unity Japan Office メイキング

 

「横道」である廊下やキッチンの見た目が変です。

Box Projection とはその名の通り箱型に投影するので、ただの四角い空間は良いですが、

横道はうまく再現できません。「壁に貼りついた道」になってしまいます。

 

 

 レイヤー構造にする

横道の廊下を正常に再現するには、それに合わせた Box Projection サイズが必要ですし、

キッチンスペースを正常に再現するにも、それに合わせた Box Projection サイズが必要です。

 

つまり、場所によって Box Projection サイズを変えて、レイヤーとして重ね合わせれば良いのです。

Unity Japan Office メイキング

Unity Japan Office メイキング

Unity Japan Office メイキング

Unity Japan Office メイキング

 

 

 HDR化

Theta で撮影した Jpeg 画像は LDR です。

このまま使用すると照明の輝度が足りず、EV値を変えたときに嘘っぽくなってしまうので、

手作業で照明部分の輝度を上げ、HDR 画像として Cubemap にします。

Unity Japan Office メイキング

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)