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

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

飛べるようになった

ジャンプというより飛行モード( ゚Д゚)
f:id:yasu9780:20170218220941p:plain


ビルの上に行けるようになった。
f:id:yasu9780:20170218220949p:plain


飛ばす時に役に立つのがQueryちゃんの飛行モーション( ゚Д゚)


歩行時はプレイヤーもNavMeshAgentなので、普通にtransform.positonを更新するだけNavMeshの障害物を突き抜けないで移動できる。
ただし飛行時は、NavMeshAgentをenable=falseにしているので、壁にめり込んでしまう。
RigidBodyとColliderで壁対策をするとたいへんなので、CharacterControllerを使うことにした。
これだと、Colliderは壁として突き抜けなくなる。


meshにたいしては、staticでnavigationStaticを設定し、同時にmeshColliderでisTriggerをFalseにしておけば、
NavMeshAgentとしても突き抜けないし、CharacterControllerとしても突き抜けないで移動できる。
同時に、このColliderで、カメラからのRayCastチェックをすれば、プレイヤーが映っているかどうかのチェックもできると思う。
その線で行きましょう。


CharacterControllerはあまり使ったことが無いのと、MeshColliderもあまり使ったことが無いので色々と調べたい。
MeshCollider同士は衝突できないというけど、どちらかにConvexをOnしておけばいいらしい。
今回は使わないけど。


でもプレイヤーってNavMeshAgentだけど経路探索をまったく使ってないので、実はCharacterControllerとして常時使えばいいのかもしれない。
これなら、ジャンプでいちいちNavMeshのon/offしないでいいし。
実装がシンプルになる。
これは明日ちょっと実験してみよう