AIプログラムとかUnityゲーム開発について

探索や学習などを活用したAI系ゲームを作りたいと思います。

NavMesh

交通システム:車もNavMesh、歩行者を増やした

自動車もNavMeshの上でのWayPoint巡回に切り替えた。これでトラックが倉庫からお店に移動したりもできるはず。 それと、歩行者を15人ぐらいSpawnするようにした。疲れると走るのを辞めて歩き始める。椅子に座ると回復してまた走り出す。NavMeshSurfaceだと、…

交通システム:信号追加。まだまだダメ

信号追加してみた まだ、止まるタイミングが遅かったり、後続車に押されて横断歩道に乗り上げたりする 先行車と接触したら停車して、onColisionExit()で再発車にしてるけど、先行車が走り出したのに、後続車のExitイベントが発生しない場合が頻繁に発生する …

交通システム:とりあえず車を走らせる

横断歩道がない道路をnot walkbleにして、navMesh的に移動不可にして、横断歩道を渡って道路を横切るようにする 車はとりあえずWayPoint巡回次に追加したいのは、 信号 車と人間の衝突 車が人間を検知して衝突を回避

3人でNavMeshSurface

3人で移動するので後から来た人に押されて2階から地面に落ちる場合がある 次はWayPointを入れて巡回させてみるかな? で、椅子を見つけると疲れたら座って休むみたいな。 NPC Populator モブが歩き回る$10アセット。動画見ていい感じだったんで買ってみたけ…

動的にbakeできるNavMeshSurface

試そう試そうと思いながら数年経ってしまった。・゚・(ノ∀`)・゚・。 やっと実験しましたマウスでクリックした場所にエージェントが向かう。 壁を動かしても経路変更に対応して移動できるマウスでクリックしたら改めてNavMeshをbakeし直してます。navMeshの経路の細さ…

交通信号を追加してみる

結構、信号機ってややこしい。 コライダーを信号機のある場所に設置して、○秒で赤と青(車にとって)を切り替える。 コライダーに接触し、かつ赤信号機の方を向いているなら、車は停車 コライダーに接触し、かつ赤信号機の方を向いているなら、人は進む(車…

navMeshAgentで自動車を走らせる

すんなりできるかと思ったらはまりました。 navMeshAgentでspeed=20ぐらいにするとコーナーを曲がりきれません。 今までみたいに遅いなら普通に曲がれます。 AutoBrakingはありますがそれでも足りません。 内部的にrigidbody使ってるんですかね? 遠心力の影…

ターゲットへの視線を可視化

ガンパレード・マーチキタ━━━━(゚∀゚)━━━━!! ゾンビおじさんはポニーテール娘だけをターゲットにしているので近くに来るとSetDestinationするので、経路パスを可視化してみた。 ま、でも、視線なんだから経路で曲がってる必要はない気がする。 むしろサイコキネ…

高度差のあるNavMeshと定期巡回

NavMeshについて一通り学習中。 スロープのある経路を作って、定期巡回のコードを作りました。 ゾンビなので、ターゲットが近い場合は、定期巡回を外れてそっちに襲ってくる。 StandardAssetのToonシェーダーがいい感じ! 高度差のある経路でBakeします。 定…

AIタンクにNavMeshAgentを使ってみる

昨日のSDユニティちゃんで学んだNavMeshをAIタンクに適用してみました。 まずマップにNavigationをbakeします。 ランダムに画面上にターゲットを配置。 画面上にクリックした位置にAIタンクを配置できます。 タンクは近くのターゲットに対し、 agent.SetDest…

動的に障害物を動かすNavMeshの使い方

NavMeshを初めてやってみました。予め経路探索をやっておいて、実行時に最短経路で移動させられる仕組みです。 動かせる障害物を設定できるようで、これを使うと動的に変化する環境を実現できるのでやってみようと思いました。 こちらの記事を参考にさせても…