123 lines
8.7 KiB
Plaintext
123 lines
8.7 KiB
Plaintext
|
|
,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如发现流程卡死或报错,需要先向策划负责人提单,策划检查判断确定是非配置问题,再向其他对应下游提出修改需求。,,,,,,,,,,,,,,,,,,,,,,
|