今は昔、Unity のチュートリアル界にメタルギアソリッドのオマージュ的なステルスゲームのチュートリアルがあったそうな。
このチュートリアルでは、キャラクターの動かし方やMecanimのセットアップアプローチ、他にも様々なギミックの実装などが紹介された中々良いデモです。
Unity - Stealth tutorial (4.x only)
時は流れてUnity 5、幾つかの機能の変更があり、このデモはインポートした直後は動かなくなりました。
このデモは別の記事で使う予定なので、動くようにします。
StealthをUnity 5で動くようにする
Stealthを動かせない理由は3つあります。
- Lightmapが古い(Unity4で作成したもの)
- Navmeshが古い(Unity4で作成したもの)
- MeshColliderを動かすオブジェクトの存在
逆を言えば、この3つさえ解決すれば、Stealth はUnity 5でも普通に動作します。
まずLightmapを再度焼きます。
メニューバー > Window > Lightmapでライトマップを開きBuildボタンを押します。
これが面倒ならば、LightmapのClearを押すと、リアルタイムライトで動きます。すごく重いですが、一応動きます。
次に、Navmesh を再ベイクします。
メニューバー > Navigation でNavmeshウィンドウを開きBakeボタンを押します。Sceneビューに青い移動範囲が表示されたら成功です。
動くMeshColliderを全てConvexに設定します。
Unity 5になりMeshColliderはConvex抜きで動かすことが出来なくなりました(複雑な形状は複合コライダーで表現します)なので、MeshColliderにConvexを設定します。
Hierarchyビューで「cam_frustum_collision」と検索して、コライダーを動かすオブジェクトを全選択します。次にConvexにチェックを入れます。
どうせならUnity 5らしく
せっかくなので、Unity 5 らしくStandard Shaderも設定します。
Assets/Materialsフォルダ以下の、頭にalphaが付くオブジェクト以外を全て選択し、シェーダーをstandardに変更します。
tile_laser_fxは光るパーツなので、Emissionを赤くして輝度を2くらいにします。
樽も材質を鉄っぽくします。
色はAlbedoで塗られているので、Metallicを上げて金属感を出します。
該当のマテリアルの変更がどのオブジェクトに影響を与えるかを確認したい場合、マテリアルを選択し右クリック > Find Reference In Scene を実行すれば、該当のオブジェクトがハイライトされます。
最後にカメラを設定します。
まずカメラのRendering PathがLegacy Deferredに設定されているので、Deferred に設定します。
ついでにImage Effectをモリモリ追加して完成です。
Survival Shooter
ちなみにStealthより後に出た Survival Shooter チュートリアルは、Unity5に対応しています。Image Effectを使う事前提になり、画面が少しリッチになっています。
@tsubaki_t1 実際キモい。こんなの迫ってきたらアイエエエエどころじゃない pic.twitter.com/ZsUMv8Vqz6
— 椿 (@tsubaki_t1) 2015, 7月 3
https://kharma.unity3d.com/en/#!/content/40756