第三节 对象管理器


一、自定义信息配置

       自定义信息:即供AI及脚本调用和读取,用来控制游戏对象属性、信息、状态、动作及特殊功能的自定义变量。
       成功导入动画后,右侧对象管理器即出现对象对话列表。点选其中一个对象,右键点选“自定义信息配置”打开自定义信息配置菜单。
       输入名称及默认初始值后,点击右侧增加,添加新自定义信息变量。如需修改,需点击下方列表待修改变量,重填名称或数值并点击修改方可成功修改,删除同修改。


二、状态配置

       状态:即游戏对象所匹配播放的各种动画,不同的状态可共用同一动画。
       成功导入动画后,右侧对象管理器即出现对象对话列表。点选其中一个对象,右键点选“状态配置”打开状态配置菜单。
       右键状态列表空白处点击增加,添加游戏状态,可在下方状态编辑框中修改状态名称。右键状态编辑框中空白处增加四方向状态动画,用于指定游戏中游戏移动方向的播放动画。
       忽略状态:被忽略状态,在某些特殊情况需求下,游戏对象不会因为其他游戏对象的AI控制而切换至此状态。(例如BOSS不会因主角的攻击而切换至受伤状态,放弃自己的逻辑)


三、AI配置

       AI(Artificial Intelligence,人工智能)配置是游戏制作当中最为重要的环节之一,它包括了对象状态的控制、对象信息与数据的修改、以及对象各种自主的智能逻辑行为。一款游戏的可玩性、智能性、多样性的高低,即体现在AI的编写程度高低上。
       成功导入动画后,右侧对象管理器即出现对象对话列表。点选其中一个对象,右键点选“AI配置”,打开AI配置菜单。
       AI配置窗口由“规则编辑窗口”、“条件编辑窗口”、“执行编辑窗口”、“工具栏”四个部分组成。

             1、规则编辑窗口------用于定义编辑AI类型规则的窗口。
                  a、规则类型:
                       If(每帧必扫描规则);
                       ElseIf(前一规则不成立时则扫描该规则);
                       If_Break(必扫描规则且当该规则成立,则终止该帧AI扫描);
                       ElseIf_Break(同理);
                  b、子条件的逻辑运算符:AND(表示子条件全部满足时才可做执行条件)、OR(表示子条件其中一个条件满足即可做执行条件);
                  规则的顺序与类型必须严谨,否则将导致AI逻辑错误,无法正确执行。(第一条规则必须为IF类型,否则将导致代码运行崩溃);

             2、条件编辑窗口------用于添加AI执行所需满足的条件的窗口。
                    0)    按键控制:设置按键与按键类型是否触发。(例:“单击 * OK键 * true”表示单击一次OK键)
                    1)    对象信息:设置对象的信息为指定值或与指定值做比较。(例:“enemy_1 * X * 大于等于 * 200”表示对象“enemy_1”的X坐标大于等于200时)
                    2)    对象信息标记:设置对象的信息标记是否成立。(例:“enemy_1 * Visible_可见 * false”表示对象“enemy_1”为不可见时)
                    3)    对象属性:设置对象的属性为指定值或与指定值做比较。(例:“enemy_1 * HP * 小于 * 500”表示对象“enemy_1”的血量小于500时)
                    4)    对象自定义信息:设置对象的自定义星系为指定值或与指定值做比较。(例:“enemy_1 * 攻击变量 * 等于 * 2”表示“enemy_1”的攻击变量等于2时)
                    5)    对象状态:设置对象的状态是否成立。(例:“enemy_1 * walk * false”表示“enemy_1”不在walk状态下时)
                    6)    动画播放:设置对象动画是否播放完毕。(例:“enemy_1 * true”表示“enemy_1”动画播放完毕时)
                    7)    对象框:设置对象1是否处于对象2的数据框中。(例:“hero - enemy_1 * 激活框 * false”表示主角不在“enemy_1”的激活框中)(对象框的概念:激活框---为场景中该对象的激活范围框,按住Shift拖画;攻击框、碰撞框---动画编辑器中所定义该帧动画数据框;镜头可见框---为自定义品屏幕大小总范围;镜头扩展框---为包含屏幕大小且向外延伸的总范围(当地图格大于48x48时,四方向延伸48x2个像素;当地图格小于48x48时,四方向延伸3倍地图格边长);地图框:为地图编辑器地图定义大小总范围)
                    8)    阻挡判断:设置对象是否遭遇判断。(例:“enemy_1 * true”表示“enemy_1”遭遇阻挡时)
                    9)    对象数据比较:设置对象1的某一类型的数据值指定为对象2的同一类型数据值或两者之间进行比较(例:“enemy_1 * 对象属性 * MP * 等于 * enemy_2 * 对象属性 * MP”表示“enemy_1”的魔法值等于“enemy_2”的魔法值时)
                  10)    对象数据计算比较:设置对象1的某一类型的数据值与对象2的同一类型的数据值数学计算后指定为对象3的同一类型的数据值或者与对象3进行比较。(例:“hero * 对象信息 * y * Abs(-) * enemy_2 * 对象信息 * y * 小于等于 * enemy_2 * 对象自定义信息 * 攻击范围y * 10”表示主角的y坐标值与“enemy_1”的y坐标值的差的绝对值小于等于“enemy_1”自定义值攻击范围y加上10时)
                  11)    随机概率:设置当前规则成立的概率。(例:“70 * 100 * true”表示百分之七十的概率)
                  12)    系统变量:设置系统变量为指定值或与指定值做比较。(例:“(0)怪物死亡数量[局部变量] * 大于等于 * 20”表示怪物死亡数量大于等于20时)
                  13)    路径移动:设置对象路径移动是否完毕。(例:“enemy_1 * true”表示“enemy_1”路径移动完毕时)
                  14)    数据层:设置对象当前坐标(附加偏移)所在数据层值为指定值或与指定值做比较(例:“enemy_1 * 0 * 0 * 等于 * 2”表示“enemy_1”当前坐标所在数据层值等2时)注:此X、Y单位为格子数值。

             3、执行编辑窗口------用于添加AI规则条件满足时所做执行的窗口。
                    0)    移动:设置对象指定方向执行移动。
                    1)    设置状态:设置对象状态与面向。(例:“右 * attack”表示设置对象状态为攻击状态且面向向右)
                    2)    设置信息:设置对象信息值累计或不累计为指定值。(例:“enemy_1 * moveSpeed_移动速度 * 不累计 * 10”表示设置“enemy_1”的移动速度为10)
                    3)    设置信息标记:设置对象信息标记true或false。(例:“enemy_1 * invincibility_无敌 * true”表示设置“enemy_1”为无敌)
                    4)    设置自定义信息:设置对象自定义信息值累计或不累计为指定值。(例:“enemy_1 * 视野范围X * 累计 * 100”表示设置“enemy_1”的自定义值视野范围X累计增加100)
                    5)    设置属性:设置对象属性值累计或不累计为指定值。(例:“enemy_1 * 攻击力 * 累计 * 500”表示设置“enemy_1”的攻击力累计增加500)
                    6)    攻击:设置对象按指定攻击类型、攻击值比例执行攻击。(例:“普通攻击 * 特殊攻击-1”表示设置对象按特殊攻击-1的攻击比例执行普通攻击)
                    7)    设置面向:不改变当前状态,仅设置对象的面向。
                    8)    设置升级:设置对象按指定比例获得经验值并设置状态。
                    9)    三对象数据计算:设置对象1的某一类型的数据值累计或不累计为对象2的某一类型的数据值与对象3的同一类型的数据值的数学计算结果。(例:同条件中“对象数据计算比较”)
                  10)    双对象数据计算:设置对象1的某一类型的数据值累计或非累计为对象2的某一类型的数据值。(例:同条件中“对象数据比较”)
                  11)    重置动画播放:执行重置当前状态动画;
                  12)    替换对象:------待定;
                  13)    设置系统变量:设置系统变量累计或不累计为指定值;
                  14)    设置对象在镜头上的坐标:设置对象的坐标为当前镜头上指定坐标;
                  15)    设置对象的路径:设置对象移动路径为指定路径;
                  16)    执行路径移动:设置对象按指定路径执行移动;
                  17)    发射粒子:设置对象发射粒子攻击;

             4、工具栏------关于对象配置的扩展功能工具栏
                    0)    导入AI:将以保存的AI数据文件导入到当前对象;
                    1)    导出AI:将当前对象的AI导出并保存;
                    2)    导出文本:将当前对象的AI以文本形式的方式导出;
                    3)    查看其他AI:在当前对象AI配置窗口下打开其他某对象的AI配置窗口对比查看;
                    4)    替换对象:将当前对象AI配置中的某对象批量替换为另一对象,提高编辑效率;
                    5)    启动调试:在模拟器运行游戏时,启动调试可监视每帧AI的扫描情况;
                    6)    监视:在AI调试模式下,监视当前对象的属性、信息及自定义变量等数据;


四、对象属性

       对象属性框包括标记栏与属性栏。
       1、标记栏:
            是否创建属性:设置对象是否创建属性数据;
            是否跟随镜头移动:设置对象是否跟随镜头移动;
            是否可见:设置对象在场景中是否可见;
            是否全局逻辑:设置对象在场景中是否做逻辑;
            是否显示数字动画:设置对象在场景中是否显示数字动画;
            是否需要保存:设置对象数据是否保存;
            是否有碰撞:设置对象是否存在碰撞;
            是否做逻辑:设置对象在场景中是否做逻辑;
       2、属性:
            Class ID:包括[主角]、[系统脚本]、[镜头]、[战场]、[Trailer]、[Fighter]、[Npc]、[MineEnemy]等类型;
            动画 ID:为当前对象的次序动画ID;
            是否导出动画:是否导出对象的动画数据;
            数据类型:包括[主角]、[物品]、[装备]、[商人]、[敌人]等类型;
            移动速度:设置对象的默认移动速度;

            对象的自定义信息配置、状态配置信息、AI配置信息等数据可在对象管理器导入、导出,便于编辑。


     Tips:

       1)对象状态、自定义变量新建完成不得轻易更改顺序或删除,以免AI调用发生错误;
       2)对象的AI扫描每帧扫描一次,扫描结束后,根据最终满足条件的执行规则进行动画播放;
       3)对象AI状态设置只可设置一次,及设置状态的条件只可达成一次,负责对象将重复设置状态,造成对象卡死现象。
       4)
       5)
       6)



回到顶部
返回目录