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

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

ML-Agents tennis 横移動もできるようにして学習中

X,Y軸移動だけだったのをZ軸移動も追加
ラケットもZ軸回転だけだったのをY軸回転も追加
これで斜め軌道でボールを打つこともできるようになったが

f:id:yasu9780:20201017121859g:plain

しかし、学習の難度はかなり増加したのでだいぶ学習時間がかかりそう
初めZ軸がまったく移動しないので、「はて?」と思ってたら
RigidBodyのZ軸がFreeze指定になってた。・゚・(ノ∀`)・゚・。 

Z軸にかなり離れたボールに触るだけでも、奇跡のような偶然がいるので、ラケットにボールが当たっただけでも報酬を与えないとだめかもしれない( ^ω^ )

斜め軌道でボールを打てるからサイドからコートアウトになる場合もでてくるので、判定のために壁は左右にも追加している

f:id:yasu9780:20201017130903p:plain

900万stepぐらい学習した状態

f:id:yasu9780:20201017182040g:plain

f:id:yasu9780:20201017182428p:plain

まだアウト連発するので学習が足りてない。
ボールの跳ねが強すぎるので下げてみます(設定ではbounceがmaxになってました。摩擦は0)
あとは、右に飛んでる時に、早めに右に移動するとか、端で打った時に内側の向きに打つようにするとか
なにか学習を促進する報酬の条件を考えたい
あと、cudaの環境を早く作りたい。RTX2080にしとくかなあ。