Unity敌人生成器

创建一个空对象,添加下面脚本,然后加入敌人的预设即可
在这里插入图片描述

在这里插入图片描述

    public Transform m_enemy;     //敌人预设
    protected float m_timer = 0;  //计算时间间隔
    protected Transform m_transform;
    protected float run_time = 0;     //记录系统运行时间
 void Start()
    {
    //如果每帧调用 this 会很耗资源这里用m-transform初始化
        m_transform = this.transform;
    }
void Update()
    {
    //m_timer 小于0就生成敌人
        m_timer -= Time.deltaTime;
        run_time += Time.deltaTime;
    //run_time系统运行时间越长,产生敌人的速度越快
        if (m_timer <= 0 && run_time < 35 )
        {
           //系统运行时间<35秒时,15秒产生一个
            if (m_timer < 15)
                m_timer = 15;
            Instantiate(m_enemy, m_transform.position, Quaternion.identity);
        }
        if (m_timer <= 0 && run_time > 35)
        {
            
            if (m_timer < 10)
                m_timer = 10;
            Instantiate(m_enemy, m_transform.position, Quaternion.identity);
        }
    }

如有错漏,欢迎指出,互相学习!

好的,关于Unity自动生成敌人Unity2D AI敌人自动追踪的问题,我可以继续提供一些建议。 对于自动生成敌人,我们可以使用Unity中的预制体(Prefab)来实现。具体地说,你可以在项目中创建一个敌人预制体,包含敌人的模型、动画、碰撞体、脚本等元素。然后,你可以在场景中放置一个空对象作为敌人生成器,编写脚本来实现自动生成敌人的功能。 在脚本中,你可以使用Instantiate方法来生成敌人实例。具体地说,你可以将敌人预制体作为参数传入,生成一个新的敌人实例,并设置它的初始位置、属性等信息。你可以使用Random类来随机生成敌人的位置和属性,使得每次生成的敌人都不同。 对于敌人的自动追踪,你可以使用Unity中的NavMeshAgent组件来实现。具体地说,你可以为敌人添加一个NavMeshAgent组件,使它能够在场景中自动寻路。然后,你可以编写代码来实现敌人的追踪行为,例如让敌人朝向玩家并向其移动。 除此之外,你还可以为敌人添加视野范围、攻击距离等限制,使得敌人只有在一定范围内才会追踪玩家,并只有在一定距离内才会攻击玩家。你可以使用Collider组件和Raycast来实现这些限制。 总的来说,Unity提供了很多方便的工具和功能,可以帮助你实现自动生成敌人和AI追踪等功能。如果你需要更具体的代码实现或者有其他问题,可以继续向我提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值