この記事でのバージョン
Unity 2017.4.5f1
はじめに
現在、Oculus Go向けに札束風呂VR(仮)というものを開発しているのですが、
PS VRのねこあつめVRが話題ですが、ここで僕が開発合宿で作ったOculus Goの札束風呂VRを見てみましょう。 pic.twitter.com/77tcnqg0Nt
— カン@ゲームクリエイター(Unity/VR/Switch/Steam) (@Kan_Kikuchi) 2018年5月31日
見栄えをもうちょっといい感じに出来ないかと、
以下を参考に試行錯誤したものを記事にまとめてみました!
なお、今回はVR向けなので、
重くなるような(フレームレートが落ちるような)事は出来るだけ避けています。
ちなみに調整前後の画像が以下のものになります。(左が調整前、右が調整後)
結構良くなっているのでは無いでしょうか!
また、本記事に出てくる椅子や女の子のアセットは以下のものを使っています。
Home Bedroom and Bathroom Pack | 3D Interior | Unity Asset Store |
Naoko | Characters | Unity Asset Store |
目次
- はじめに
- 目次
- Static
- Environment Lighting
- Point Light
- Directional Light
- 影が出ない、ライトの明かりが反映されない
- (Reflection, Light)Probe
- 影を焼く(固定する)
- ポストプロセス
- おわりに
Static
まず、絶対に動かないオブジェクトをStaticにします。
こうする事で後述するベイクで、影を焼く(固定する)事が出来ます。
また、てきとうに置いたライトも一旦なくしました。
Environment Lighting
次にEnvironment Lighting(環境照明)を調整して、全体的な明るさを決めます。
なお、Environment LightingはWindow -> Lighting -> Settingから設定する事できます。
調整前はSourceがColorのピンクでやり過ぎな感じがしたので、
ColorをGradientにして、自然な感じ、かつ閉め切ってる部屋なので暗めに調整しました。
Point Light
今度はライトのオブジェクトあたりにPoint Lightを設置します。
色はライトのモデルに合わせて黄色っぽい感じに。
今回はキャラが動いた時に一緒に変化するような動的な影は作らないので、ModeはBakedにしました。
また、ShadowTypeはSoft Shadows、
Baked Shadow Radiusを少し増やしておく良いらしいので、10にしてみました。
Directional Light
Point Lightと同じ感じで、ちょっと怪しいピンク色のDirectional Lightも置きます。
Directional Lightを複数、違う方向に設定すると良いそうなので、
さっきよりちょっと弱めにしたものをShadow TypeをNo Shadowsにして影なしで置きます。
影が出ない、ライトの明かりが反映されない
上記のようにLightを設置した時に「影が出ない、ライトの明かりが反映されない」といった場合には、
Edit -> ProjectSettings -> Quality Settingsの
PixelLight Countを増やしたり、ShadowsをDisable Shadows以外にすれば解決するかもしれません。
なお、Shadow Resolutionで影の解像度(クオリティ)を設定出来ます。
(Reflection, Light)Probe
ライトの設定が終わったら、鏡などを反射させるためにReflection Probeという物
を設置するのですが、今回は反射させるものがない(重いから)ので設置しません。
また、動くオブジェクトにも固定したライトの影響を与えるためにLight Probeという物
を設置するのですが、今回は出来るだけ軽くしたいので設置しません。
影を焼く(固定する)
Probeの設定も終わったら(今回は設定してませんが)、影を焼きます(ベイクする)。
影をベイクすると普通にライトで影を表示するより軽くなりますし、見栄えも良くなります。
なお、影のベイクはEnvironment Lightingの時にも使ったLightingのWindowから行います。
今回は動的なライティングはないので
Realtime Lightingのチェックを外し、Mixed Lightingにチェックを入れ、
Lighting ModeをBaked Indirectにしたら、Generate Lightingを押して、しばし待ちます。
ちょっと暗過ぎるので、Light(PointもDirectionalも)のIndirect Multiplierを上げて、再度ベイクします。
なお、ベイク結果(テクスチャ)はシーンと同名のフォルダの中に生成されます。
リセットしたい時はこのフォルダを消して、シーンを再生すれば元の状態に戻ります。
ポストプロセス
最後にポストプロセスというカメラにかけるエフェクトを追加します。
Post Processing Stack | Essentials | Unity Asset Store |
導入方法や各項目の設定値は以下の記事を参照の事。
今回は以下の6種類のエフェクトを追加してみした。
が、Bloomだけでもフレームレートが結構下がったのでポストプロセスは諦めました。
おわりに
ライティング調整前後の動画もあるので、載せておきます。
ライティング調整前後#Unity #OculusGoDev pic.twitter.com/qMJXH86d00
— カン@ゲームクリエイター(Unity/VR/Switch/Steam) (@Kan_Kikuchi) 2018年6月19日