一个简单的游戏框架:行为树设计

本文介绍了一个简单的游戏行为树框架的实现,包括行为树的基本概念、框架设计、编辑器的使用以及工作流程。行为树节点分为业务节点和组合节点,如并行、随机、选择和顺序执行等。作者提供了自定义行为树的代码链接,并分享了使用NodeCanvas插件创建行为树编辑器的过程,支持导出和解析JSON文件。整个工作流程包括编写业务节点、编辑器节点,然后由策划进行配置和运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码:https://github.com/HushengStudent/myGameFramework

这里主要是介绍一下自己写的一个简单的行为树。

1、行为树?

①行为树是常见的游戏ai解决方案;常见做法就是程序实现好工具,由策划配置实现ai功能;这里就涉及到一个是行为树的框架实现和行为树编辑器实现;

②行为树节点分为两类,一是常见业务节点,可以有一个子节点;二是组合节点,一般没有具体业务逻辑,一般有多个子节点,只对子节点进行处理;以下是常见组合节点:

BTParallel 并行执行节点;

BTRandom 随机执行节点;

BTSelector 选择执行节点;

BTSequence 顺序执行节点;


2、行为树的框架

首先我们实现一个行为节点基类:

public abstract class AbsBehavior
    {
        private bool _awake = false;
        private int _id;
        private BaseEntity _entity = null;
        private BehaviorState _reslut = BehaviorState.Reset;

        public int Id { get { return _id; } set { _id = value; } }
        public BaseEntity Entity { get { return _entity; } }
        public BehaviorState Reslut { get { return _reslut; } set { _reslut = value; } }

        public virtual bool IsComposite { get { return false; } }

        public BehaviorState Behave(BaseEntity entity)
        {
            if (!_awake)
            {
                _awake = true;
                _entity = entity;
                Reslut = BehaviorState.Running;
                AwakeEx();
            }
            Update();
            return Reslut;
        }

        public bool ResetBehavior()
        {
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值