Unity进阶:行为树 02 夺旗战搭建场景,AI脚本,旗子拿起

版权申明:

  • 本文原创首发于以下网站:
  1. 博客园『优梦创客』的空间:https://www.cnblogs.com/raymondking123
  2. 优梦创客的官方博客:https://91make.top
  3. 优梦创客的游戏讲堂:https://91make.ke.qq.com
  4. 『优梦创客』的微信公众号:umaketop
  • 您可以自由转载,但必须加入完整的版权声明

场景搭建效果图

730245-20190827092322128-587403802.png

展示图GIF(夺旗,夺旗后去终点)

730245-20190827092333274-1281793876.gif
Decorators:对单个任务进行操作
Composites:复合任务
Conditionals:做判断
Actions:做行为

行为树1找旗帜

Flee远离目标
Inverter:取反
创建全局变量:OffenseSpeed,AngularSpeed。
原理:是否看到敌人,没看到取反去找旗帜,看到敌人远离敌人,Sequence的中断类型选Self
730245-20190827092346048-32915432.png

找旗帜行为树样板
730245-20190827092359475-1071599839.png

添加行为树
730245-20190827092417532-881186618.png

添加注释
730245-20190827092431500-1910186222.png

创建全局变量
730245-20190827092442346-1036835029.png

可以切换行为树

行为树2找到旗帜去终点

730245-20190827092453907-1533631673.png

拿到旗帜去终点,未拿到旗帜,追旗帜
脚本判断是否拿到旗帜,运行成功失败。

public class IsHasFlag :Conditional {
    private Offense offense;
    public override void OnAwake()
    {
        offense = this.GetComponent<Offense>();
    }
    public override TaskStatus OnUpdate()
    {
        if (offense.hasFlag)
        {
            return TaskStatus.Success;
        }
        return TaskStatus.Failure;
    }
}

旗帜上面添加脚本,判断是否与tag为玩家的发生碰撞,发生碰撞给一个boll值,并让旗子碰撞玩家坐标相等,做出带着旗子走的样子

   private Offense owner;
    public void OnTriggerEnter(Collider other)
    {
        if (other.tag == "Offense")
        {
            if (owner != null)
            {
                owner.hasFlag = false;
            }
            other.GetComponent<Offense>().hasFlag = true;
            transform.parent = other.transform;
            owner = other.GetComponent<Offense>();

        }
    }
}

转载于:https://www.cnblogs.com/raymondking123/p/11416296.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值