AIプログラムとかUnityゲーム開発についてスマートフォン用の表示で見るAIプログラムとかUnityゲーム開発について探索や学習などを活用したAI系ゲームを作りたいと思います。この広告は、90日以上更新していないブログに表示しています。二面に空中敵を配置そんなに進んでませんが、グロブダーが逃げるやつは、まずブラスター発射後のターゲットスコープを追加して、それのコライダーがグロブダーと接していると、グロブダーがtriggerで動くようにしました。ターゲットスコープ自体は、ブラスター着弾後にDestroyします。ギドスパリオ追加は簡単。スプライト画像を登録するだけ。こいつはただ上から降りてくるだけだから、アルゴリズムも何もない。ソルバルウが自動的に逃げる強化学習したいところだけど、どうやるかが煮詰まらないので、まずは自動的に弾から逃げる処理を入れてみる。画面上の敵弾をFindGameObjectsWithTagですべて引いてきて、その弾から弾の進行方向にRaycastをやって、ソルバルウに当たるなら、放っておくと着弾する可能性があると判断。その際、ソルバルだけを調べられるようにLayerMaskを仕込む。逃げ方としては、もし弾が一つなら弾の進行方向と直角に逃げるのが最短経路でしょう。弾が複数ある場合は、どっちに逃げたらいいかは解析的にはすぐには求まらない。よって、ランダムにテキトウに逃げてみて、再度、Raycastしてみて、すべての敵弾から避けている状態になるまで繰り返す。ある意味、モンテカルロ法みたいなアルゴリズム放棄的な手法をやってみました。3DにはSphereCastって太いRaycastがあるけど、2Dにはない模様。Rigidbody2DもRigidbodyも速度的には大差ないらしいので、3Dにしてみるかな?ちょっと思案中。Raycastを繰り返すのは重いかもしれないし、ここは直線と座標の距離を求めるやりかたでやりますか。距離がソルバルウの半径以内なら、直線と近い位置にいるので当たる。弾には方向があるので、それは考慮しないといけない。n」の形の場合が格段に易しい。このような証明が教科書に採用されないのか、とても不思議である。