unity敌人的巡逻

这篇具有很好参考价值的文章主要介绍了unity敌人的巡逻。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 在unityunity游戏开发过程中,敌人、怪物的自动巡逻肯定是无法避免的,今天主要讲 给敌人和怪物设置定点巡逻。
在给怪物、敌人设置顶点巡逻的时候需要引入命名空间using UnityEngine.AI;

public class Spider : MonoBehaviour {
	private NavMeshAgent agent;//给怪物添加制动巡航组件
	private Animator an;//获取新动画
	public Transform[] waypoints;//创建一个对象数组,把需要导航的位置存入进去
	private int index = 0;
	private float timer = 0;
	private float times = 3;
	private Transform player;
	// Use this for initialization
	void Start () {
		agent = GetComponent<NavMeshAgent>();//
		an = GetComponent<Animator>();
		agent.destination = waypoints[index].position;
		player = GameObject.FindWithTag("Player").transform;
	}
	// Update is called once per frame
	void Update () {
		float dir = Vector3.Distance(player.position, transform.position);//获取玩家距离敌人的距离
		if(dir > 2 && dir < 5)//追踪
		{
			Track();
        }
		else if(dir <= 2)//攻击
		{
			Attack();
        }
		else
		{
			Patrol();
        }
	}
	void Track()
	{
		//transform.LookAt(player.position);//给定条件看向玩家   这行代码可以不用
        agent.SetDestination(player.position);//自动导航到玩家的位置
    }
	void Attack()//攻击
	{
		agent.ResetPath();//停止导航
		transform.LookAt(player.position);
		an.SetTrigger("Attack");
	}
	void Patrol()//自动导航
	{
        if (agent.remainingDistance < 0.5f)//在自动巡航到0.5m后进入这个判断条件
        {
			an.SetInteger("walk",0);
            timer += Time.deltaTime;
            if (timer >= times)
            {
                timer = 0;
                index++;
                index %= 4;//给怪物巡逻几个点位就给几
                agent.SetDestination(waypoints[index].position);//继续网下一个位置导航
            }
        }
		else
		{
            an.SetInteger("walk", 1);//播放动画
        }
    }
}

这里写了怪物自动巡逻,当玩家靠近到一定距离,停止巡逻,走向玩家,叫指定范围,敌人开始攻击玩家。文章来源地址https://www.toymoban.com/news/detail-512272.html

到了这里,关于unity敌人的巡逻的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity随机创造敌人

    先说思路,创建一个大的空物体,然后再创建几个子空物体,子空物体就是敌人的出生点,敌人随机在这些点之上创建。 有了思路,就开始行动 然后创建一个脚本挂在大的空物体上,然后脚本如下

    2024年02月12日
    浏览(40)
  • Unity 实现一个FPS游戏的全过程

    Unity是一款功能强大的游戏引擎,它提供了各种各样的工具和功能,以帮助开发者轻松地创建精美的3D游戏和应用程序。在本文中,我们将使用Unity实现一个FPS游戏的全过程,从场景设计、角色控制、敌人AI到最终的打包发布。 对啦!这里有个游戏开发交流小组里面聚集了一帮

    2024年02月05日
    浏览(68)
  • 【UE4 塔防游戏系列】08-敌人到达终点对玩家造成伤害

    目录 效果 步骤 一、敌人到终点时扣除玩家生命值 二、显示玩家生命值 可以看到敌人进入终点后,左上角的玩家生命值会减少。  一、敌人到终点时扣除玩家生命值 新建一个Actor蓝图类,命名为“BP_EnemyEndPlace”,用来表示终点 打开“BP_EnemyEndPlace”添加一个盒体碰撞组件,

    2024年02月17日
    浏览(68)
  • Unity实现敌人沿着指定路线移动

            使用的是2D模板,但是除了增加一个Z轴的考虑,其它基本都是一样的,当然如果你的3D场景是平坦面的话几乎代码可以直接复用。         想要让敌人沿着指定路线移动,就要规定他需要移动的路点位置。         在这里,我采用的是建立一个空对象line,

    2024年02月12日
    浏览(46)
  • 游戏界面设计:打造吸引人的视觉体验

    如何进行游戏界面设计?游戏UI界面设计的前景如何?我相信这是许多UI设计师和想要转向UI设计的设计师非常关心的问题。今天,小将和你谈谈。 首先,游戏界面设计师的前景仍然很好。游戏用户界面是一门研究人机交互的学科,是一个新兴的热门方向和活跃的领域。此外,

    2024年02月06日
    浏览(49)
  • 在 Unity 中引入第二个敌人运动

    这里的练习演示了敌人额外移动的实现,该移动从屏幕左端角以倾斜角度开始,在到达屏幕近一半时,倾斜到另一个角度以退出窗口。 在进一步讨论之前,请确保敌人和生成管理器(spawn manager)对象处于良好状态,因为需要它们在此处添加此功能。 这是高级伪代码。 首先在检

    2024年01月22日
    浏览(68)
  • Unity中敌人简单逻辑的实现(来回走动,攻击)2D

    unity自带一套自动巡航系统,但是目前应该先了解最基本的使用代码控制敌人实现逻辑(1来回走动,2发现玩家时追着玩家,3进入敌人攻击范围时进行攻击),一般来说这是最基本的敌人的功能 分析完敌人所具备的能力后,就将敌人的能力进行拆解,分别进行实现 一 来回走

    2024年02月12日
    浏览(44)
  • 关于Unity在游戏运行过程中切换场景导致场景变暗的问题

    相信很多新手都会遇到这个问题,那就是你正常打开的时候没有任何问题,但当你在游戏运行过程中切换场景的时候,目标场景会莫名其妙的变暗。这个问题在网上有很多教程,但是可能是对于老手们太简单的原因,所以很多人都是一句话带过,但是对于新手来说可能会让他

    2024年02月04日
    浏览(60)
  • 虚幻引擎游戏开发过程中,游戏鼠标如何双击判定?

    UE虚幻引擎对于游戏开发者来说都不陌生,市面上有47%主机游戏使用虚幻引擎开发游戏。作为是一款游戏的核心动力,它的功能十分完善,囊括了场景制作、灯光渲染、动作镜头、粒子特效、材质蓝图等。本文介绍了虚幻引擎游戏开发过程中游戏鼠标双击判定,一起来看看吧

    2024年02月13日
    浏览(47)
  • 【Ruby 2D】【unity learn】控制敌人随机运动以及动画控制

    前两天考完蓝桥杯稍微休息了一下,昨天做了一个动画控制,但是想到写出来可能会字很多,我就搁置到今天来写了,unity learn是一个官方教程平台,里面有unity assert store的配套教程,全是文档,比看视频高效太多了,想学习unity的可以去这里学习   网址 unity learn:Unity3d 教程

    2023年04月13日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包