相信只要用过unity3d4.0以上都都会用过NavMeshAgent这个组件,这是一个十分强大的寻路组件,只要对地形进行bake,然后设置一个目标点,就可以实现高效率的寻路了。
可是unity3d自带的AI用NavMeshAgent寻路,只有跑步走路,若我想跳跃蹲下瞬移怎么办?
在上一篇文章中提到的 Unity手游之路<十>自动寻路Navmesh之跳跃,攀爬,斜坡 虽然很好的实现了这些功能,但是该作者使用的Animation,而我要使用Animator对角色的动作的改变。只能再进一步研究NavMeshAgent了。
一:无空间间隔的寻路
首先,想要角色在自动寻路时进行跳跃,那必须给他个判断条件吧?第一个想到的肯定是设置一个触发开关,当角色寻径到这个地点的时候就把m_Jump设为true就行了。
private void Update()
{
if (target != null)
{
agent.SetDestination(target.position);
character.Move(agent.desiredVelocity, false, m_Jump,false,false,false,false,false,false,false);
}
else
{