テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

【Unity】Unity 4向けのステルスアクション、Stealth を Unity 5 に持ってくる

f:id:tsubaki_t1:20150813233215p:plain

今は昔、Unity のチュートリアル界にメタルギアソリッドのオマージュ的なステルスゲームチュートリアルがあったそうな。

 

tsubakit1.hateblo.jp

 

このチュートリアルでは、キャラクターの動かし方や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を押すと、リアルタイムライトで動きます。すごく重いですが、一応動きます。

 

f:id:tsubaki_t1:20150813232936p:plain

 

次に、Navmesh を再ベイクします。

メニューバー > Navigation でNavmeshウィンドウを開きBakeボタンを押します。Sceneビューに青い移動範囲が表示されたら成功です。

 

f:id:tsubaki_t1:20150813233551p:plain

f:id:tsubaki_t1:20150813233640p:plain

 

動くMeshColliderを全てConvexに設定します。

Unity 5になりMeshColliderはConvex抜きで動かすことが出来なくなりました(複雑な形状は複合コライダーで表現します)なので、MeshColliderにConvexを設定します。

 

Hierarchyビューで「cam_frustum_collision」と検索して、コライダーを動かすオブジェクトを全選択します。次にConvexにチェックを入れます。

 

f:id:tsubaki_t1:20150813234058p:plain

 

どうせならUnity 5らしく

 

せっかくなので、Unity 5 らしくStandard Shaderも設定します。

Assets/Materialsフォルダ以下の、頭にalphaが付くオブジェクト以外を全て選択し、シェーダーをstandardに変更します。

 

f:id:tsubaki_t1:20150813234609p:plain

 

tile_laser_fxは光るパーツなので、Emissionを赤くして輝度を2くらいにします。

 

f:id:tsubaki_t1:20150813234748p:plain

f:id:tsubaki_t1:20150813234842p:plain

 

樽も材質を鉄っぽくします。

色はAlbedoで塗られているので、Metallicを上げて金属感を出します。

 

該当のマテリアルの変更がどのオブジェクトに影響を与えるかを確認したい場合、マテリアルを選択し右クリック > Find Reference In Scene を実行すれば、該当のオブジェクトがハイライトされます。

 

f:id:tsubaki_t1:20150813235109p:plain

 

最後にカメラを設定します。

まずカメラのRendering PathがLegacy Deferredに設定されているので、Deferred に設定します。

ついでにImage Effectをモリモリ追加して完成です。

 

f:id:tsubaki_t1:20150814000012p:plain

 

Survival Shooter

 

ちなみにStealthより後に出た Survival Shooter チュートリアルは、Unity5に対応しています。Image Effectを使う事前提になり、画面が少しリッチになっています。

 

https://kharma.unity3d.com/en/#!/content/40756

関連

StealthをUnity5に対応させてホラゲを作る方法 | Unity覚書