*一、 设计目的*

· 主旨是解决当前任务系统存在的四类问题:

 o 元数据(单个任务)不标准、未模板化,之前任务步骤的任务框架会影响后续编辑器对数据的统一操作。

 o 任务状态区分不明晰,这对后续引入编辑器以及维护任务会有很多麻烦。比如之前设定的任务进行条件(声望达到X、队伍中有Y等)与任务完成条件就存在很多耦合的地方。

 o 数据存储方式影响后续流程,比如多人编辑、多版本合并等。

 o 任务功能不全,比如条件逻辑关系(比如多条件判定、发奖与条件发奖等)

· 除此之外,在整理好任务功能后,还需要引入一套方便策划编辑的编辑器。这可以增加策划的工作效率,也能一定程度上避免配置错误的几率。

*二、 任务状态流程图*

image-20230811152121502

*三、 功能概述*

· 这版任务系统是以最小化的任务结构,对任务进行拆分的系统。

· 期望能以堆积木的方式组合出多种多样的复杂任务。

· 下文将以单个任务所涉及的任务状态为出发点,详述与之相关的任务系统。任务编辑器的存储、操作、界面相关功能,另起文档描述,本文仅在聊到具体任务系统功能时,会以任务编辑器的界面来举例,不详述编辑器界面本身。

*四、 任务状态与任务*

· 我们将任务状态区分为5个状态,如下:

 o 初始状态

 o 可接取状态

 o 接取未完成状态

 o 完成未交付状态

 o 交付发奖状态

· 任何一个任务,都可以用这五个状态,串联起来。

· 任何任务流程,都可以用这样的任务,串联起来。哪怕当前功能不支持,也可以在某个状态对应的配置里加功能来实现,不会改变基础的架构。

· 这5个状态,我们以一个简单的例子来进行展开,例子为“有个老大爷,家里的羊总是被三只狼叼走,需求有一个40级以上的玩家能帮他杀掉这三只狼,他会用3个金币作为回报。”

*4.1 任务状态时间线*

· 上述例子与任务状态的变化也可线性的来看。

image-20230811152156739

*4.2 初始状态*

· 当我们建立一个任务(通过编辑器)后,会配置这个任务相关的数据。但是,此时这个任务的数据只是在游戏内初始化了,还并未真正生效,这个状态,我们就称之为初始状态。

· 之所以要单立一个初始状态出来,除了是因为逻辑上可以这样划分,还因为玩家的数据是在变化的。当玩家的数据从不满足后续的“接取条件”到满足,在时间线上也确实可以划分出这么一段区间来。

*4.3 可接取状态*

· 如上所述,当玩家的数据从不满足“接取条件”到满足的时候,任务的状态就从初始状态切换到了可接取状态。

· 如上述例子中,老大爷需求一个40级以上的玩家。所以,对于玩家来说,当自己的等级处于0-39级时,这个任务就是初始状态。当自己的等级处于40级及以上时,这个任务就是可接取状态(前提,以前没做过这个任务,不涉及重复完成等问题)。

*4.4 接取未完成状态*

· 从玩家满足“接取条件”但没有去接取任务,到玩家满足“接取条件”且去找了老大爷接取任务时,任务的状态就从可接取状态切换到了接取未完成状态。

*4.5 完成未交付状态*

· 玩家接到任务后,此时去山上(举例而已)杀那三只狼。当这三只狼都被玩家杀掉,但是玩家还没有回去告诉老大爷这段,就被称之为完成未交付状态。

*4.6 交付发奖*

· 交付发奖状态分为两个状态:

 o 成功状态

 o 失败状态

· 成功状态就如上文,玩家告知老大爷(就是在交付任务),这个时候任务就完成了。但是需要注意的是,部分的任务需要处理为实际发奖发到玩家身上了或者说发奖完成了,才算任务完成,后文会提到(这部分与完成条件相对应就好了,详见下文)。

· 当玩家满足失败条件时,任务失败。根据配置走失败的相关的奖励和条件奖励。

*五、 任务流程与任务*

· 任务流程可以是整个剧情故事,也可以是某个剧情片段。

· 任务流程是逻辑概念,与功能无关。

· 这里提到任务流程,是为了理清楚任务与剧情之间的关系。

*5.1 任务流程举例*

· 上文中,以老大爷需求玩家杀狼的单个任务为例子,拆解了任务状态。

· 现在引入一段任务流程:“玩家来到长生村,想要调查长生的秘密。于是先找到了村长,了解情况。但村长不太信任玩家,想要玩家帮忙做三件事,才能透露信息。这三件事是,帮助村口的孩子小王抓蛐蛐;帮助村南的老大爷解决问题(上文提到的杀狼任务);帮助村长把信带给村外哨站的保卫员阿强。“

*5.2 任务流程拆解*

· 在上述任务流程中,我们可以拆分出7个任务:

 o 与村长的对话任务

 o 前往小王所在地的区域类任务

 o 抓蝈蝈的交互任务

 o 前往老大爷所在地的区域类任务

 o 杀狼的打怪任务

 o 前往村外哨站的区域类任务

 o 听村长讲述长生的秘密

*5.3 任务拆解*

· 根据上文以老大爷为例的任务拆解,我们现在讲示例的任务流程按任务的各个状态拆解如下:

· 任务拆分示例 - JRPG - H3D Confluence

· 在拆解中,我们能够看到,一段剧情(整个故事,剧情片段,任务流程),可以拆解为多个任务。而每一个任务都是由五种状态组合而成的。

*六、 任务配置详述*

· 有了前面的概念解析,下面我们来详细描述概念与配置之间的关系,以及配置相关的细节。对应关系图如下:

image-20230811152213041

*6.1 任务全貌*

· 主要用于配置任务基本信息,包括任务简介、任务显示、任务计次的相关功能。

*任务简介*

· 任务简介的整体配置项如下图所示,注意,所需功能按文字描述为准(因为在编辑器的部分还会涉及到配置项折叠的功能,下同):

img

· 任务名字:

 o 显示上暂定限制6个字。

 o 需求任务名字支持RGB的十六进制标签配置,即如果任务名字是“少女与猫“,那么”#FF0000少女#与猫“,那么少女的字体颜色就是红色:“少女与猫”。

 o 正常任务名字如下图:

 o img

· 任务描述:

 o 这里指的是对于任务的详细描述,一般不显示在主界面,而是显示在任务面板中,如下图:

 o img

· 接取NPC:

 o 发放任务的NPC,也可以说是玩家可以从这个NPC 处,接取任务。

 o 当一个NPC(会出现这种情况的也只能是接取NPC)有可接取的任务时,这个NPC的头顶应该显示一个感叹号(UI类型,这里的感叹号需要支持根据不同的任务类型配置不同的颜色)。感叹号的可视范围随NPC的可视范围。

 o 当这个NPC身上的可接取的任务变为其他状态时,感叹号需要消失。

 o 配置一个NPC的模板ID。

 o 对应的NPC身上需要挂载这个任务(能让玩家在此处接取这个任务即可)。

 o 如果取消或更换了这个配置的NPC,则这个NPC需要去掉此任务(对应上述挂载)。

 o 玩家通过接取NPC接到任务后,任务状态由可接取状态变为接取未完成状态。注意,任务状态还有别的方式可以由可接取状态变为接取未完成状态,比如后文会提到的“满足条件自动接取”。

· 完成NPC

 o 用于玩家交付任务的NPC。即当玩家有完成未交付状态的任务,且需要找完成NPC交付时,与完成NPC交互(对话),可以让玩家的任务状态由完成未交付变为交付发奖。

 o 当一个NPC有可交付的任务时,NPC的头顶应该显示一个问号(UI类型,这里的问号需要支持根据不同的任务类型配置不同的颜色)。问号的可视范围随NPC的可视范围。

 o 当这个NPC身上的可交付的任务变为其他状态时,问号需要消失。

 o 配置一个NPC的模板ID。

 o 对应的NPC身上需要挂载这个任务(能知道对应任务到达完成未交付状态即可)。

 o 如果取消或更换了这个配置的NPC,则这个NPC需要去掉此任务(对应上述挂载)。

 o 任务的完成交付也不仅仅由NPC来实现,也可能出现“自动完成”的情况。这种情况下,就不需要完成NPC,任务(不用交付)直接发奖即可。

· 接取对话

 o 当玩家接到任务时,会触发的对话(接取对话在前,接取任务在后)。对话形式比较简单,不涉及多机位、多NPC。仅仅是单NPC做动作(相比AVG更简单,易配置),如下图:

 o img

 o 对话可配置:

   § NPC语音

   § NPC动作

   § NPC表情(如何和肢体动作是分开的话)

   § NPC对话内容

   § 玩家语音

   § 玩家动作

   § 玩家表情

   § 玩家对话内容

 o 配置的内容可动态增加,比如(此界面由接取对话项后面的“编辑”按钮弹出):

 o img

 o 当玩家点击“增加对话”按钮后,就会整体出现蓝框内的配置项。初始时,这个面板只有“增加对话”这一个按钮。

 o img

 o 多次点击“增加对话”按钮,可增加多个蓝框配置。

 o 蓝框配置之间的关系为顺序对话,比如下图:

 o img

 o 如果此界面处于只有“增加按钮”,没有蓝框的情况,则认为没有配置接取对话。对于这种情况,在接任务时,就不出现接取对话框。

 o 这里还需要判断“NPC对白”与“玩家对白”:

   § 如果“NPC对白”配置为空,也就是没配置内容,则跳过此“NPC对白”。

   § 如果“玩家对白”配置为空,也就是没配置内容,则跳过此“玩家对白”。

   § 比如上图中,如果把“据说是被暗鬼的某个组织带走了,最后是在城东出现。你能把这些贵族找回来吗?”去掉,则对话的顺序为:

   § NPC说:最近,有贵族失踪了,闹得人心惶惶的。

   § 玩家说:有什么线索吗?

   § NPC说:没问题,包在我身上。

 o

​ 注意,这里仅仅显示3次对话框,2次NPC的和1次玩家的。

 o

· 完成对话

 o 和接取对话一样的编辑规则,只不过触发时机为任务的交付发奖之前,完成未交付之后。

 o 另外接取对话与完成对话不能用奖励来代替,因为在发AVG的同时,如果要发别的物品,就会出现显示问题。而且,特殊处理也会带来更多的问题。

· 任务类型

 o 用于标记任务的类型,根据这个标签,就能对不同类型的任务进行定制化的功能补充,比如主线任务的首任务是初始就发到玩家身上且为初始被追踪的任务,又比如奇遇任务需要专门的任务触发界面等。

 o 任务分类规划以经验性的任务形式来分类,具体在开发过程中,不局限于此分类,根据实际需求进行扩充、删减。如下:

   § 主线任务(极光任务,故事的主要展现)

   § 支线任务(光灵任务,角色定制任务,用于展现角色性格、特点)

   § 奇遇任务(暂不涉及,满足一定条件才发到玩家身上,需求初始状态计数)

   § 区域任务(暂不涉及,对应激战2的区域任务,在一个区域内发生了一系列动态事件)

   § 世界任务(暂不涉及,对应原神的世界任务,一次性任务,关联世界等级)

   § 活动任务(暂不涉及,分类繁多,如节日任务,委托任务,甚至日常、周常这种与时间强相关的任务,后续考虑补充小分类)

 o 根据上述分类,我们主要对主线任务、支线任务进行简单区分与优先级排序。

   § 主线任务在任务面板界面优先级最高,排最上面,暂定为

   § 支线任务在任务面板界面优先级次高,排在第二,暂定为

   § 优先级以数字越小,优先级越高,这个不用配置,程序可写死,有需求再调整。

   § 任务面板界面示例如下:

image-20230811152244467

 o 主线任务和支线任务挂载在NPC上时,对应的可接取与可交付头标不同。这部分可以开放配置,也可策划给资源,程序写死,改动频率不高。

 o 举个例子,主线任务的可接取头标的问号是黄色的问号,而支线任务的可接取头标的问号是黄色外加地图有个菱形的问号,后续活动任务的可接取头标的问号是蓝色的问号等。

*任务显示*

· 任务显示的整体配置项如下:

img

· 是否废弃任务,配置后,任务不在游戏内生效。这个项的作用在于,部分策划临时废弃了的任务,但是又不想删除配置,留待以后使用。

· 是否在任务栏隐藏,默认为隐藏。任务栏的规则,由于我们是选用原神的规则,而不是传统MMO的规则,所以,除了当前正在追踪的任务以外,所有任务都需要在任务栏隐藏,如下图:

· img

​ 当有任务追踪时,如下图:

img

​ 传统MMO的任务栏会有很多任务,这里就不列举了。这里程序也可写死,不开放此功能。现阶段策划需求不强烈。

· 是否隐藏任务,指的是在任务面板隐藏(任务默认是不隐藏的),即玩家通过如下图的任务详情界面也找不到任务了:

· img

​ 这类隐藏的任务,往往用于任务的衔接、玩家状态的判定、以及一些特殊功能需求。

· 任务接取时提示,即当玩家接到某个任务时,游戏内会有一个简单的提示,比如“接到任务”,此功能主要用于策划做任务调试。

· 任务完成时提示,同上。

· 是否显示任务状态头标,勾选后,对应的NPC就需要显示上述的“可接取”的感叹号,以及“可交付”的问号图标。如果一个NPC同时满足可接取与可交付的状态,则优先显示可交付的问号图标。

· 任务能否被查找,即当任务可接取时,是否在任务面板上显示,如下图:

· img

​ 原神每日的委托任务和世界任务就是属于“任务能被查找”的。

​ 但是部分在地图中的一些可接取的打怪等任务,仅仅在小地图上显示的,而不在上图的任务面板里显示。

· 是否自动检索任务,当,前一个任务的完成NPC和后一个任务的接取NPC是同一个,且前一个任务有完成对话,后一个任务有接取对话时,后一个任务勾选了此选项,则会自动弹出后一个任务的接取对话。

 o 如果后一个NPC有多个任务,则判断后一个任务的接取条件,是否前置为上一个任务。优先展开前置条件为上一个任务的任务。

 o 如果有多个前置条件都是上一个任务的任务,则随机展开一个任务即可。

 o 这里的前置任务的条件指的条件里详细描述的“多个任务完成次数“。

*任务计次*

· 任务计次指的是任务在各个状态下的次数统计,以及任务限次相关的配置,配置项如下:

img

· 为了避免后续混乱,在此增加两个词的定义:

 o 任务次数,指的是任务当前可以接取或者完成的次数,可被清空。

 o 任务计次,指的任务的历史已接取或已完成的计次,不可被清空。

· 接取计次,此选项不勾的时候,任务为完成计次,即当任务交付发奖时,记一次数。此选项勾选后,就是在接取的时候,记一次数(注意,这个计数是每个玩家的具体任务独有的,和后文的杀怪计数、交互计数都是相互独立的。另外,与后文提到的任务限制次数也不同)。

· 失败后可重新接取,一个勾选的配置项,如果勾了的话,当任务失败后,需要返还玩家任务次数,可重新接取。

· 任务间隔,也可理解为接取冷却。配置默认为0秒,即无间隔。如果有间隔,则满足间隔时间后,才能再次接取。这部分规则也需要关联上述的接取计次,决定是任务完成间隔还是任务接取间隔。

· 初始状态开始计数,主要用于奇遇等任务。(补充在具体的条件内)

 o 即当该任务为初始状态时,需要根据配置的接取条件来进行相应的计数。

 o 举例说明为,当前玩家没有接取任何任务,但是在杀死20只狼后,玩家接到了一个叫做“野狼的哀嚎”的任务。

 o 即“野狼的哀嚎”这个任务的接取条件是“击杀20只狼”。

 o 所以勾选了“初始状态开始计数”后,在此任务的初始状态,每击杀一只狼,就会记一次数,直到击杀20只狼,则“野狼的哀嚎”这个任务的任务状态由初始状态变为可接取状态(这里接取到任务,是因为还勾选了下文会提到的功能,满足条件自动接取)。

· 最大可接取次数,达到了最大可接取次数,则该任务就不能再接取了。表现为提示“任务名字 的次数已耗尽。”

 o 如果这里的次数配置为0,则代表该任务不限接取次数。

· 次数清空,这里清空的是“最大可接取次数”里的次数,而不是“接取计次”的计次。可以复选配置“每天/每周/每月”,即是每隔一天清空次数、还是每隔一周清空次数、或是每隔一个月再清空次数。清空的时间点程序写死,每日对应次日凌晨5点。每周对应次周周一凌晨5点。每月对应次月月初第一天的凌晨5点(这里具体时间点沟通决定,后续可能修改,也可能进行其他清空间隔或方式的拓展)。

· 清空时间点,和上一个字段“清空次数的方式”为一组,即如果是每隔一天就清空次数的话,那么是具体是每天的什么时候清空,是由这个字段配置的。配置1-24的小时数、然后1-59分钟、1-59秒。对应的,每周/每月 有不同的配置。

*6.2 接取条件*

· 只有满足了接取条件,玩家才可以接取到任务。即从可接取状态变为接取未完成状态的条件。

· 接取条件部分,与后文的任务条件通用。具体配置界面如下图:

image-20230811152313827

· 任务发放,这是一个复选项,可以选择任务是“NPC接取”、“界面接取”还是“满足条件自动发放”(需要注意的是:如果是别的任务发放的任务,则忽略“任务发放”、接取对话与接取NPC)。

 o NPC接取,默认为此选项。即和NPC交互,然后接取任务。

 o 界面接取,用于玩家通过界面接取任务。此类型的任务发放是客户端发起的,向服务器说,要接某个任务。

 o 满足条件自动发放,即满足接取条件后,任务自动发放到玩家身上。

· 接取条件,即满足了这个条件,任务的状态就从初始状态变为了可接取状态。且接取条件与完成条件通用。

 o 接取条件的配置如下图:

image-20230811152329377

​ 当玩家点击增加后,会出现一个列表,列表即条件列表,如上中图。勾选后,则在左图内增加相应的配置。

​ 点击删除按钮后,则出现当前已选择的条件的列表,如上图的条件,则点击删除按钮后如上右图。之后,选择一项,再点击确定,就能删除一个接取条件了。在编辑器界面上,对应的条件配置也将被删除。

· 以下为具体的任务条件列举(仅包含近期能用到的):

· 任务条件列举

· 接取条件之间的逻辑关系,需要支持且与或的关系配置,默认为且的关系。这里条件的出现顺序,按实际配置接取条件的出现顺序而定。如果是一次性多选了接取条件,则任意顺序皆可。

· 达成顺序,显性的配置任务的条件达成顺序,且所有的条件都需要有这部分配置。数字越小,则要求优先达成。如果数字大的条件先满足,则不算该条件达成,需要按顺序,让数字小的条件达成后,数字大的条件才可达成。另外,所有条件的默认顺序为如果条件之间的数字相同,则无达成的顺序关系。

*6.3 接取触发*

· 接取触发是指玩家在接取任务的那一刻,会发生的事情。比如发放一个任务物品等。具体配置项如下:

img

· 接取触发也可统一称为接取奖励,点击增加按钮后,出现奖励列表,这里的奖励列表与完成任务后的发奖的奖励列表也通用,举例如下:

 o AVG*

 o CG*

 o 奖励

 o 掉落

 o 发放任务*

 o 喊话

 o 扣物品

 o 物品

 o 召唤沿某路径走的NPC*

 o 增加任务接取计数

 o 减少任务接取计数

 o 增加任务接取计次

 o 减少任务接取计次

 o 增加任务完成计数

 o 减少任务完成计数

 o 增加任务完成计次

 o 减少任务完成计次

 o 增加货币

 o 扣货币

 o 传送

 o 解锁技能(暂时不用)

 o 升级技能(暂时不用)

 o 召唤跟随NPC(暂时不用)

 o 删除跟随NPC(暂时不用)

 o 邮件(暂时不用)

 o 经验(暂时不用)

· 点击删除按钮后,和上文提到的条件的删除是一样的。

*6.4 完成条件*

· 只有满足了完成条件,玩家才能完成任务(未交付)。即从接取未完成状态变为完成未交付状态。

· 具体配置项与具体的条件配置方式、条件关系和接取部分完全相同,只是此处作用于判断任务是否满足条件而完成。

· 失败条件,在完成条件中,还有一部分是失败条件,这部分与接取条件、完成条件一致,只是此处作用于判断任务是否满足条件而失败。任务失败后,将任务状态标记为失败状态,并且,玩家再也看不到失败的任务(失败表现后续功能完善)。

*6.5 任务指引*

· 任务指引的配置如下图:

· img

· 这里乱入了一个基础选项功能,顺带提一下,即“自动发放完成奖励”,如果是,则忽略完成描述与完成NPC(不忽略完成对话。如果想忽略完成对话的话,策划自己不配置完成对话就行了),在任务达到完成未交付状态后,就直接发奖,算此任务已到达交付发奖状态。

· 任务目标描述,即一段文字,用来提示玩家任务目标,如下图:

· img

​ 如图中的“去图书馆找丽莎”。这段文字同样需求支持RGB配置(详见上文)。其中,完成条件相对于其他条件,有一点不同,就是每一个完成条件,都需要增加一条任务目标描述,用于任务在任务栏显示任务目标。

· 任务完成描述,即当任务从接取未完成变为完成未交付状态时,原本任务目标描述的位置就要显示任务完成描述。

*6.6 奖励与串联任务*

· 以下为奖励与串联任务部分的配置:

image-20230811152353798

· 根据任务的成功、失败,发放成功奖励或失败奖励。

· 其中,奖励部分与3的接取触发里面的奖励相同。

· 但是,这里有条件奖励的概念,举个例子,如果我们根据玩家从A点到B点的用时发奖,10秒是一个奖、20秒是一个奖,那么此时就要用到条件奖励,如下图:

· img

​ 图中,条件与上述接取、成功、失败等通用的条件。而奖励则是接取奖励、成功、失败奖励等通用的奖励。另外的功能按钮是:

· 增加按钮,增加一组条件-奖励,界面可以是横向扩展(通过横向的滚轮增加一个当前选中页的概念,也可以是手动选中)。

· 复制按钮,复制一组条件-奖励,复制对象为当前选中页的条件-奖励。

· 删除按钮,删除一组条件-奖励,删除最近新增的即可。

· 确定按钮,点击后,就会在编辑器的奖励页签的条件奖励生成对应的配置。

· 取消按钮,点击后,此次操作无效,什么也不发生。

· 特殊处理,有一些特殊情况需要处理:

 o 背包满时,如果奖励物品无法进包,则无法完成任务。此时需要给出对应的提示,比如“请清理下包裹再继续此任务。”出现此提示后,任务退回到完成未交付状态。

 o 部分可中断的奖励,比如AVG、CG等,如果因为杀端或其他一些原因中断了奖励发放,则此类任务需要退回到完成未交付。

*七、 任务追踪*

· 当玩家接到一个新的任务时,如果这个任务显示在任务栏上,则此时,需要玩家按V键(手机上是点击)后,才出现任务追踪。如下图:

· img

​ 任务也需要配置,是否自动开启追踪。如果玩家不追踪新获得的任务,则依旧显示之前追踪的任务,如下:

img

​ 如果之前没有任务追踪,则在新任务追踪提示后,依旧保持没有任务追踪的状态。

· 任务追踪主要由三部分构成:

 o 指引路径

 o 悬浮图标—指引方向

 o 显示距离与高低

· 另外,还需要描述设置追踪的流程。

*7.1 指引路径*

· 指引路径,即当玩家开启追踪后,需要在场景内出现一条从玩家当前位置到追踪的目的地的特效线。

· 这条特效线本质为寻路路径,具体用什么算法,程序决定。

· 此特效线所用到的特效可写死,不用配置。

· 特效线需要实时刷新,刷新频率可以根据距离的变化而定,比如玩家每靠近或者远离目的地10米,则刷新此路径。

· 特效线有显示时间,需求策划可配置。

· 如果玩家到目的地之间不可寻路,则不出现此特效线。仅以后面的悬浮图标以及距离、高低来提示玩家。

· 路径如下图所示:

· img

*7.2 悬浮图标—指引方向*

· 悬浮图标用于在空间上对玩家进行方向指引,具体如下图:

· img

· 此悬浮图标与角色的朝向无关,与摄像机的朝向,也就是与视角相关。

· 当目的地位于视角面向的正前方时,此悬浮图标出现在界面的上方。

· 当目的地位于视角面向的左侧时,此悬浮图标出现在界面的左方。

· 当目的地位于视角面向的右侧时,此悬浮图标出现在界面的右方。

· 当目的地位于视角面向的正后方时,此悬浮图标出现在界面的下方。

· 当目的地位于视角面向的上方时,此悬浮图标出现在界面的上方。

· 当目的地位于视角面向的下方时,此悬浮图标出现在界面的下方。

· 且,当玩家的视角面向目的地上下左右不超过X度(可配置,初始可配为15度)时,悬浮图标的下方还会出现具体的玩家位置到目的地的距离。

· img

· 如果玩家背离目的地,也就是不满足上述显示距离的条件的时长,超过一定时间后,则自动隐藏指引路径和悬浮图标。但是在任务栏依然显示距离与高低,后文会提到。

*7.3 显示距离与高低*

· 在悬浮图标里提到,在特定条件下需要显示距离。

· 另外,在任务栏还需要显示距离,如下图:

· img

​ 与此同时,还需要文字显示“高处”或“低处”。这部分判断单纯以玩家与目的地的实时高度来决定。但是,仅仅当玩家与目的地的距离小于80米后,才显示高低。这个值可修改,但不用配置,修改频率不高。

· 当玩家与目的地高度一致时,则仅显示距离,如下图:

· img

*7.4 任务追踪设置*

· 对玩家来说,初始,玩家的默认任务追踪为主线任务。

· 一旦玩家手动设置追踪后,则在任务栏界面仅显示玩家追踪的任务。

· 如果玩家取消了当前追踪的任务,则在任务栏不显示任何界面,如下图:

· img

· 手动设置任务追踪的流程如下:

 o 点开任务面板在主界面的按钮,如下图:

 o img

 o 选中想要追踪的任务,如下图:

 o img

 o 点击“追踪目标”按钮,如下图:

 o img

 o 点击“追踪目标”按钮后,如下图:

 o img

​ 会在任务栏界面出现追踪的这个任务,显示任务名字以及距离。

*八、 任务物管理-显隐表*

· 需要有一个通用的配置,来管理各个任务所涉及的NPC、交互物的显示与隐藏。

· 可配置任务物的初始状态:显示/隐藏,这里对应任务的初始状态。

· 可配置任务物在接取后的状态:显示/隐藏,这里对应任务的接取未完成状态。

· 可配置任务物在完成后(完成未交付)的状态:显示/隐藏,这里对应任务的完成未交付状态。

· 可配置任务物的交付发奖后的状态:显示/隐藏,这里对应任务的交付发奖状态。

· 可配置任务物的失败后的状态:显示/隐藏,这里对应任务的失败状态。

· 除了显示、隐藏这两种行为,后续还可增加等待,从某个点走来,走到某个点消失,播动作等需求,但暂时优先级不高。

· 显隐表默认为顺序执行。

· 配置举例:

Init()

{

​ npc(场景ID,NPCID) {行为}

}

Task(任务ID)

{

​ Accept(场景ID,NPCID) {行为}

​ Can_finish(场景ID,NPCID) {行为}

​ Finished(场景ID,NPCID) {行为}

​ Failed(场景ID,NPCID) {行为}

}

其中行为就是提到的显示、隐藏等。