当前位置:   article > 正文

unity有限状态机和模糊状态机(怪物AI、自动寻路)_unity丧尸ai

unity丧尸ai

自动寻路步骤:

1、把场景中不同的物体勾选static

2、烘培寻路网格

3、添加NavMeshAgent组件

4、给需要寻路的物体添加脚本

游戏中有限状态机的体现:小怪的巡逻和追逐功能

模糊状态机的体现:当玩家离小怪比较近时,小怪会追逐玩家,当玩家离小怪比较远时小怪会停止追逐玩家并且回到出生点,这里的比较近和比较远就是一个模糊概念。在游戏的设计中,是以小怪为圆心,8为半径画圆,当玩家出现在这个范围内,小怪就会追逐玩家,当玩家超出这个范围,小怪就会停止追逐玩家。

1、新建一个plane,window->AI->Navigation,然后在右边就会有Navigation。(如果敌人的路径不是在平面上,选择你要追踪的路径即可,这里是在平面上进行追踪,所以对plane进行烘焙)

 2、点击右侧的Navigation,选中plane,设置参数如下,然后点击Bake,点击右下角的Bake进行烘焙网格。(这里是2018.3.6版本,有些版本的Bake在Object界面,找到Bake进行烘焙即可),烘焙完成后可以看到plane变成下面这个样子,说明烘焙成功。

 3、导入敌人,这里导入的是资源商店中的资源,(下图最上面那个,它包含两个角色,我用到了其中的一个),导入后把预制体拖到场景中,命名为monster,然后修改他的角色控制器(它原有的状态有很多,但是我这里只用到了巡逻和追逐两个状态),具体操作如下。

 1)新建角色控制器

 2)把两个状态拖入角色控制器中,这里选择了以下两种,可根据需求修改

3)新建一个bool型来控制状态转换,对两个箭头的设置如下(右侧)

  

 4)把角色控制器赋予monster,并给monster添加刚体和碰撞。

3、添加网格代理,网格代理的参数可适当改变。

 4、写代码,把代码赋予monster,当玩家与monster的距离小于8时,monster追踪玩家,当距离大于8时,monster停止追踪并回到原来的位置,代码如下:

  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.AI;
  5. public class MosterController : MonoBehaviour
  6. {
  7. private Animator _animator;
  8. public Transform player;
  9. private float distance;
  10. public NavMeshAgent agent;
  11. Vector3 sta;
  12. // Start is called before the first frame update
  13. void Start()
  14. {
  15. _animator = GetComponent<Animator>();
  16. sta = this.transform.position;
  17. _animator.SetBool("isattack", false);
  18. }
  19. // Update is called once per frame
  20. void Update()
  21. {
  22. Vector3 playerPosition = player.transform.position;
  23. Vector3 ZombieToPlayer = playerPosition - this.transform.position;
  24. distance = ZombieToPlayer.magnitude;
  25. if (distance < 8f)
  26. {
  27. _animator.SetBool("isattack", true);
  28. agent.destination = player.position;
  29. this.transform.LookAt(player);
  30. }
  31. else
  32. {
  33. _animator.SetBool("isattack", true);
  34. agent.destination = sta;
  35. }
  36. }
  37. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/958898
推荐阅读
相关标签
  

闽ICP备14008679号