放課後の校舎を歩く Japanese School Corridor Set ~ OculusRiftホラーを作る その1 #アセットアドカレ 12本目

 

この記事は Unity Assets Advent Calendar 2014 12日目の記事になります。

アセット製作者の方にそこはかとなく失礼な気がしたので、UnityAsset供養AdventCalendar改め、Unity Assets Advent Calendarへ変更します。

また、カレンダー名変更に合わせて趣向も変え、1本のOculusRiftのコンテンツを数日に渡って作成し、毎日アセットを一本選んで組み込んでいきます。

今回作成を行うOculusRiftコンテンツは和製ホラー「学校の怪談(仮)」。

初日となる本日はホラーのステージを組み込んでいきます。

スクリーンショット_121214_095731_PM

環境

Unity 5.0 beta 17
Oculus SDK Unity 4 Integration 0.4.4 beta

余談。Oculus SDKをUnity5 b14以降で使用する場合

Unity 5 beta 14から、Unity4.6で開発が進められていた新しいGUIの機能がマージされたようです。
OVRMainMenu.cs内のTODOコメントに従って当該箇所を削除しましょう。(2ヵ所)

スクリーンショット_121214_112044_PM
スクリーンショット_121214_112418_PM

アセット概要

Japanese School Corridor Set by SbbUtutuya http://u3d.as/8Aa
バージョン: 1.1 (Dec 09, 2014)サイズ: 76.0 MB
パブリッシャーサイト

スクリーンショット_121314_020324_AM

日本のモデルデータを多数販売されている、 SbbUtutuya さん の日本チックな校舎のモデルデータです。

「Image effects are not included.」とあるように、アセットストアに掲載されているサンプルの動画や写真のクオリティを表現するには、CameraにImageEffectsを設定してあげる必要があります。

ImageEffectを設定してサンプルの絵に似せる

アセットストアのサンプル画像の絵に似せてImageEffectを設定します
※ImageEffectsとは、カメラの絵をいじるPostEffectのUnityでの呼称。

イメージエフェクト リファレンス / Image Effect Reference
Unity – Unity Manual

理想の絵

スクリーンショット_121314_121315_AM

Unityでサンプルシーンを開いた時の初期状態

(SettingsのQuality SettingのAAはOFF)
スクリーンショット_121314_121003_AM

 AntiAliasing ジャギーを目立たなくさせる
スクリーンショット_121314_121817_AM

Bloom 明るい部分をぼやっとにじませる
スクリーンショット_121314_122427_AM

Ambient Occlusion 階段や壁などの境目の影を付ける
スクリーンショット_121314_124356_AM

Color Correction Curves 夕方の柔らかい色調へ調整
スクリーンショット_121314_125227_AM

かろうじてサンプルに近い感じになりました。

スクリーンショット_121314_121315_AM※本来であればLightmap 焼いた上でImageEffectsをいろいろ試し設定値の調整を行います。ですが今回はタイムアタック的な記事なのでbake処理は時間がかかるのでやらず、ImageEffectについてはAOの影の調整とColor Correctionの色調のみ変更しました。

12/15追記

作者の @SbbUtutuya さんからImageEffectのアドバイスいただきました。ありがとうございます。
Unity4.xを使用される場合はこちらの設定をご参考に。Unity5の場合はImageEffectの更新が入ってこの通りにはいかないようです。

校舎を歩く

シーンに「OVRPlayerController」を配置して元あった「First Person Controller」のTransformの位置をコピーして設定。同じ位置に配置します。
配置後に不要となった「First Person Controller」をDisableへ

スクリーンショット_121314_011551_AM

自由に校舎を歩き回れるようになりました。

スクリーンショット_121314_011521_AM

ImageEffectをOculus用のカメラへ設定する

Oculus用のカメラ「OVRCameraRig」は「LeftEyeAnchor」「RightEyeAnchor」の2つにカメラコンポーネントが存在します。
PostEffectはカメラのレンダリング後にエフェクトを加えるものなので、それぞれにImageEffectを設定する必要があります。

先ほどImageEffectを設定した「Main Camera」と、Oculus用の2つのカメラがアタッチされたゲームオブジェクトのインスペクターをロックして横に並べます。
「Main Camera」へ追加したImageEffectを、Copy Componentでコピーし、Oculusのカメラ2つにそれぞれPaste Component As Newで追加します。

無題クリップ_121314_012718_AM

無題クリップ_121314_013240_AM

完成、早速OculusRiftで確認。
スクリーンショット_121314_013222_AM

スクリーンショット_121314_014035_AM

ここでスペースキーを押してFPSが75出ているか確認。
出ない場合の最適化についてはOcu本をチェック!XD