剧情编辑器概述
●本页内容主要包含
① 名词约定,避免对于相同的客观事务引起歧义
② 剧情系统是如何进行外部协作的
③ 剧情系统的内部结构是怎样的
④ 剧情编辑的用例图
*名词约定*
* 之前观察到,对于客观上相同的事务,不同的小伙伴使用了不同的名词;
为了避免引起歧义而造成不必要的开发上的麻烦,本文先对这些名词约定含义,这些含义仅限于本文档。
ps.由于涉及到剧情,所以咨询了剧情同学的意见。
* 章节
章节是一段完整的剧情表演,包括但不限于下图所示的剧情对话。
章节将呈现为一个完整的剧情脚本文件,由特定的任务和关卡触发开始,并在结束时将信息返回给任务系统或关卡。
\
段落
章节中的对话可能会因为玩家的不同选项而走向不同分支;
我们需要将对话分支的前后拆分为不同的模块,并称呼这些模块为段落。
段落通过树状分支等形式组织成一个章节。
*1.2 剧情系统的外部关系:*
● 外部关系图:
● 资源类型:
我们的剧情系统会有三种资源类型:视频资源、level sequence资源、avg演出资源。
● 调用: 这三种资源均会被关卡或任务系统调用;
● 产出: 前两种资源由导演产出,并且可以被直接使用无需继续加工。它们与A2的精品剧情相似。
剧情编辑器只对avg演出资源负责,avg演出资源就是一个个独立的剧情脚本。
ps.我们不排除以后可能需要像A2做精品剧情的方式那样向编辑器里导入类似于prefab的动画资源,来完成一些相对复杂的表现。
● 剧情脚本
avg演出资源就是剧情脚本,对应一个完整的章节。
一个完整的任务流程中会有一个或多个剧情章节,它们分别由独立的剧情脚本文件负责。
● 任务系统和剧情的关系?
● 我们使用任务系统来驱动各个剧情段落的播放。
● 任务系统相关文件: 任务系统与编辑器2022-04版
● 如何理解任务驱动剧情?
如下图所示,这是一个完整的任务小流程。
可以看到任务中有两次对话(接任务,交任务);
这两次对话会是剧情工具生成的两个独立的剧情脚本,有各自的id,当任务系统到达对应流程时就会调动剧情脚本启用;
剧情脚本结束后会通知任务系统,并由任务系统继续接手后续流程。
* **1.4 剧情段落的内部结构:*
● 内部结构参考图
● 章节编辑的内部由多个段落通过逻辑关系组织而成;
● 以一个最简单的对话分支流程为例,如下图所示:
● 每个段落可以有多个小节。
● 每个小节最多负责1句话(ps.可以没有语句,而是纯动作和镜头动画)
● 段落可以存在交互选项(指提供给玩家的分支选项)
● 交互选项和当前的对话语句是可以同时显示的;
● 通过不同的输出口以及连线形成分支结构。
● 剧情章节内部的选项信息有时会影响后续任务的走向;
如下图所示,有时我们需要将玩家的选项信息返回给任务系统。
*1.5 编辑器的工作方式*
●工具用例图