1.设计目的                                                
                                                   
    优化版本并行开发效率,缩短特殊玩法需求频繁迭代功能的开发周期。                                              
                                                   
  2.工作流                                                
                                                   
    对应负责人开启活动需求统筹表,下游各组资产制作完成后,根据需求统筹表描述放到对应路径提交上传,策划通过下列几个表格进行配置好索引表并上传,在引擎内使用导入工具检查资源。                                              
                                                   
  3.配置                                                
                                                   
    活动玩法会涉及到场景资源,镜头资源,UI资源,特效资源,所有资源会配表做静态字典映射,在开启活动模块式根据映射加载对应资源,行为树逻辑编辑器在节点引用时会从对应字典内进行查找引用。                                              
                                                   
    3.1 行为树配置表(自定义name                                              
                                                   
      工作表1:玩法关卡配置表,用来索引玩法场景的逻辑ID,场景资源,地图坐标打点list,默认主相机                                            
      打点功能编辑                                            
    Doc 行为树ID 关卡备注 场景名称 地图打点组 延迟关闭加载图 默认相机ID ...                            
    Name ActivityStageID Doc SceneName MapInfo CloseLoadingDelay CameraID                                
    Type Int String String ID Float Int                                
                                                   
      工作表2:行为树逻辑表,配置行为树头文件和行为树逻辑本身。                                            
                                                   
      行为树id 说明(注释) 节点 节点 节点 节点 节点 节点 ... 行索引id                          
      301502490 行为树头文件 平行                 关卡ID+0为头文件,里面的逻辑只执行一次,用来声明初始数据或执行一些初始化逻辑。                      
            组合 方法:通用关卡赋值               关卡ID】后开始是行为树正文,主要写正式逻辑,默认1秒运行60次(根据性能需求可调整到1秒20次)。                      
            组合 方法:关卡初始化               行索引id会在当前行拥有功能节点时打表自动生成,方便报错时定位行数。                      
            后面是你自己的逻辑               组合方法封装函数或子树,类似行为树的子树统一处理一些通用赋值,比如开场是否隐藏UI,是否播放某个入场动画,对多字典进行赋值等等。                      
                            行为树默认包含四个基础执行节点:                      
      30150249 行为树逻辑正文 顺序                      ● 平行:执行该节点下的所有子节点并返回true,无论子节点是否执行成功。                      
            组合 方法:关卡预准备                    ● 顺序:该节点下一旦有子节点返回false则停止执行返回false,子节点全部返回true该节点才返回true。                      
            平行                    ● 选择:该节点下一旦有子节点返回true则停止执行返回true,子节点全部返回false该节点才返回false。                      
              组合 方法:关卡通用集合                  ● 乱选:随机执行一个子节点,结果为true则返回true,结果false返回false。                      
              后面是你自己的逻辑             需要一个组合方法在头文件里分别在黑板创建1#(当前行为树域)2#(角色域)3#(自定义域)4#(系统全局域),UI,相机,特效,演出配置的映射字典                      
      ~                        或是在外部Data管理,功能节点默认找对应字典)。                      
                                                   
      待讨论:                                            
      1.行为树运行帧数是否需要做限制。如果限制,会提升性能,但后续一些需要精准tick的逻辑无法实现,比如一些音游点击类的活动。如果不限制,需要对策划配置进行约束比如禁止使用行为树通写每帧大量物体set坐标的逻辑来控制对象移动                                            
      2.行为树表管理,每个策划一张自己的行为树表区分文件名,如果需要用就自己配置自己的,表头和注释从模板表里同步到策划表,这样可以防止并行开发时互相占用表格。                                            
      3.索引ID是否统一用int(查询性能以及命名统一性),需要额外做一个ID段分配器,给策划分配自己的独立ID段。                                            
                                                   
      工作表3:行为树进行节点查询与说明,主要是注释用                                            
      例:                                            
      节点类型 描述 中文节点映射 参数1 参数2 参数3 参数4 参数5                          
      DoGetTime 参数1(帧数) = 当前关卡时间(帧数) + 参数2
(秒 转 帧数)
int赋值时间 int
帧数存值
fix
时间 单位秒
                               
      CheckNpcCamp 比较阵营是否相等或包含参数1NPC参数2阵营 ,(包含、相交、相等都是队友) 比较阵营 int
自定义
int
自定义
                               
      DoSetFightTarget 设置Npc1(参数1)的攻击目标为Npc2(参数2)
参数1:Npc1
参数2:Npc2(攻击目标)
设置战斗目标 int
Npc1
int
 Npc2的Id
                               
                                                   
                                                   
                                                   
      工作表4:组合节点说明,同上                                            
      例:                                            
      组合树ID 组合树类型 注释                                    
      String 节点名称                                      
      200009 方法:关卡初始化                                      
      200010 方法:关卡预准备                                      
                                                   
                                                   
    3.2 ActivityUiLut                                              
                                                   
      UI资源,填写需要使用的关卡和映射ID,可以填String                                            
      关卡ID UI映射ID Prefab路径                                    
      int int path                                    
                                                   
                                                   
    3.3 ActivityCameraLut                                              
                                                   
      相机资源,配置同上                                            
      关卡ID Cam映射id Prefab路径                                    
      int int path                                    
                                                   
                                                   
    3.4 ActivityFXLut                                              
                                                   
      特效资源,配置同上                                            
      关卡ID FX映射id Prefab路径                                    
      int int path                                    
                                                   
                                                   
    3.5 ActivityMapInfoLut                                              
                                                   
      地图打点存储表,需要对应的地图点位编辑器                                            
      infoID 点位ID 坐标 点位ID 坐标 点位ID 坐标 点位ID 坐标                            
      int String Vector3 String Vector3 String Vector3 String Vector3                            
                                                   
                                                   
    3.6 ActivityDialogInfoByStage                                              
                                                   
      活动文本UI配置索引表,文本配置ID就是下面DialogInfo配置表的name                                            
                                                   
      玩法关卡ID 对应文本配置表                                          
      int String                                          
                                                   
                                                   
    3.7 DialogInfo+自定义序号                                              
                                                   
      具体文本配置                                            
      与行为树一样,每个策划一张自己的dialoginfo,需要先跟本地化管线讨论                                            
      id isMask MaskTarget ClickKey DialogType UiType PrefabPath Name Text Duration Params1 Params2 Params3 Params4 Params5                
      配置ID 是否开启蒙层 蒙层位置 关闭蒙层键值 战中类型 UI样式,用来改变同类型战中的样式 UI预制体路径
默认不填写
显示角色名 正文
支持富文本
显示时间 特殊参数1 特殊参数2 特殊参数3 特殊参数4 特殊参数5                
      int bool 万分比屏幕坐标 int int int   String 对话正文 float                          
                                                   
      行为树对应功能节点                                            
      节点名称 参数1                                          
      DoShowDialog DialogInfoID                                          
      int int                                          
                                                   
  4.QA&Debug                                                
                                                   
      1.上传对应行为树前需要策划自检,流程是否完可以整跑通,过程中是否有节点报错,根据对应报错ID行进行Debug                                            
      2.资源检查,需要策划导入时自行检查资源是否与需求对应,是否在导入时出现丢失索引。                                            
      3.提测QA后,QA如发现流程卡死或报错,需要先向策划负责人提单,策划检查判断确定是非配置问题,再向其他对应下游提出修改需求。