【第36回】〜Enemy Vision – Patrol and Line of Sight〜ステルスゲーム作成をサポートしてくれるアセット
Enemy Vision – Patrol and Line of Sight
Indie Marcよりリリースされている、
2D3D両方対応のステルスゲーム作成に便利なアセット
敵キャラクターの視界、パトロールの動きなどをこのアセットで手早く実装可能です。
どんな人にオススメ?
- ステルスゲームをつくりたい
- 敵の視界の実装など手軽にやりたい
- パトロールの移動設定も手軽にやりたい
- 発見されたときに追ってくるのも任せたい!
使ってみた
これは個人的にも一度作ってみたいゲームの感じを再現してくれそうです・・・!
メタルギアソリッドシリーズVRミッションとかすごいやってましたね・・・・
そんな感じのものが出来そうかチェックです!
まずは3Dのデモシーンがあるので、
サンプルをチェックしてどんなアセットが理解してみます!↓

プレイヤーの移動は実装されていたので、
とりあえず再生してみました。↓
薄い視界部分に当たると!マークが出てこちらを確認しにきます。
!マークだとなんとなくもう見つかってしまった気になる方は少なく無いはず・・・・w
濃い視界部分に当たると発見状態になって敵が追いかけてきます。
ある程度撒くと追いかけて来なくなります。
基本的な敵の動きも確認できました。
2Dのデモシーンの方も見てみます↓
動きは同じ感じで、発見すると追いかけてきます。
どういう仕組みなのか見てみます。
とりあえず2Dの状態で、敵の警察官プレハブがあるので、
デモ設定されていた敵キャラクターなどは一旦閉じて新しくプレハブを置いてみます。↓

コライダーとリジッドボディと一緒に3つのスクリプトが付いています。
PatrolPointというプレハブも移動先あたりに置いてみます。

まだ敵キャラクターとPatrolPointが紐づいていないので、
敵キャラクターインスペクター内のEnemy 2DスクリプトにPatrol_targetsがあるので+を押して追加し、
先ほど設置したPatrolPointをアタッチします。
すると敵キャラクターとPatrolPointが赤い線で繋がれる様になりました。

この状態で再生して確認します。
敵が配置したPointまで歩いてくれています。
wait_timeを調整すると向かい始めるまでの時間を設定したり、Patrol Facingで視界の自然な揺れ具合とか調整できるようです。
Enemy Vision 2Dスクリプトに視界のアングルだったり調整できるところがあり、
EyeにアタッチされているTransformはプレハブで用意されていますが、
からオブジェクトを敵の目あたりの位置に配置して紐づけている感じですね。
Vision_Prefabに視界として現れる赤いコーン状のプレハブがアタッチされています。

大抵赤くて良いと思うのですが、色変えたりとか特殊なものに変えてみてもありかもしれません。
Enemy Demo 2Dには!マークがついていて、発見された時に生成されていますね。

Spawn FXというスクリプトが!マークプレハブに付いていて、Lifetimeを変更できる様にもなっています。
あとはNoiseZoneというプレハブです。

プレイヤーが触れるとアラートが鳴る様に敵がこちらを向きます。
音が出てしまったみたいな波紋のプレハブも生成されています。
ちょっとアレンジしてみても良さそうですね。
3Dでもキャラクターに与えるコンポーネントなどは似ていて、

NavMeshの設定は必要になりそうです。

まとめ
いかがでしたでしょうか?
気になった方は是非アセットストアでチェックしてみてください!
こちら↓
スクリプトが用意されていて、
すぐ使える様にプレハブで準備してくれているので、
組み合わせるだけでも早く敵の視界、追跡の実装ができますね。
いざ発見されて攻撃してきたり、敵に倒されてしまったりする処理などはプラスα自分で実装してあげる必要がありますね。
ただかなりの時間短縮にもなると思うので、
ステルスゲームを作る際は手始めにこのアセットで組んでみると良いと思います!
今回はこんな感じで!
それでは💤