跳到主要内容

G04-对话系统

星火编辑器中提供了对话的预制功能,我们可以使用该功能应用于不同的对话场景。

首先在预制功能库中找到对话系统的小卡片后点击应用,启用默认对话按钮和默认对话距离是指在某个单位可对话时,主控单位和该单位走进该配置的距离内时会自动弹出对话按钮。

打开数编,勾选角色、对话、对话设置。

点击新建角色,配置其头像,该头像会作为ui层对话时,展示的角色头像。

不仅如此,还需在该单位的节点属性中,配置其所对应的角色。

接下来就可以在对话类型中,新建蓝图。

  1. 对话列表是连接多个对话蓝图的列表,会按照列表顺序一一播放对话。
  2. 对话蓝图用于配置对话台词,显示模式中可以选择显示在单位头顶,或是显示在对话ui上。说话者处配置角色,当显示模式为显示在单位头顶,那么这里填默认听众会显示在客户端本地玩家主控单位头上,填其他的都显示在说话者身上;当显示模式为显示在对话ui上,那么这里填默认听众/默认说话者,会根据数编 - 单位中的角色属性找到对应的角色表,如果填角色的话就直接取自角色表。
  3. 对话随机选一蓝图中,可以连接多个蓝图,当执行到此处时会从子节点中随机一个执行。
  4. 对话选择节点中可以连接多个选项,在选项中连接对话选择分支。

然后在触发中,设置该段对话就绪,即可在游戏中进行测试啦。

触发中提供下如下图的触发语句:

  1. 开始对话为直接开始播放该段对话。
  2. 设置对话播放模式为设置从当前台词跳转到下一句台词的播放模式。
  3. 设置对话就绪为设置某个单位对某段对话的就绪状态,就绪后当主控走近该单位的配置距离时即会弹出该对话按钮。
  4. 添加单位到对话列表为未勾选启用默认对话按钮时,通过该语句显示其对话按钮。

对话选择事件可以通过如下的语句选到: 如果对话节点是在其他的对话节点中连出来的,可以选中这个对话蓝图后点击复制;单独的对话节点可以在触发里直接选到它的id。

此外在界编中,可以看到对话系统所用到的ui控件,可以自行设置其布局和属性。

下面提供几个简单的对话示例。

示例 1:如何弹出下图中的气泡型对话呢?

预制功能库中应用对话系统的小卡片,随后在数编的对话类型中新建对话列表蓝图,连接对话蓝图,选择说话者为默认说话者(显示气泡的单位)或默认听众(主控单位),选择其他角色不生效;设置该段台词的显示时长,显示模式设置为显示在单位头顶。

完整的对话如下图:

然后在触发编辑器中写触发该段对话的逻辑,如果启用了默认对话按钮,那么直接使用下图的触发语句即可:

如果没有启用默认对话按钮,则需要将其添加到对话列表中,如下图:

示例 2:如何设置如下图得对话界面呢?

预制功能库中应用对话系统的小卡片,随后在数编的对话类型中新建对话列表蓝图,连接对话蓝图,选择说话者为默认听众/默认说话者,会根据数编 - 单位中的角色属性找到对应的角色表,如果填角色的话就直接取自角色表;显示模式设置为显示在对话ui上,头像显示位置可选为居左,居右及居中时的不显示头像。

完整的对话如下图:

然后在触发编辑器中写触发该段对话的逻辑,就可以调试看看啦。