电影级对话生成

二款游戏学习笔记

Posted by Bob on September 26, 2020

本文是基于《刺客信条:奥德赛》 电影级对话自动生成系统学习整理的资料,工具开发作者是Ubisoft一个名为Francois Paradis的程序员,集结他21年来剧情生成系统之精华。第二部部分是《巫师3》剧情对话系统简单介绍,工具作者是动画技术导演Piotr。最后是国产游戏对话表现类型总结。

《刺客信条:奥德赛》

-Procedural Generation of Cinematic Dialogues in Assassin’s Creed Odyssey

1200段场景对白,30小时场景对白 25000行对白文本

项目组分工

image

  1. 剧情编写
  2. 动画:主要是角色、动物动作,摄像机。
  3. 自动化工具:程序化生成的优势是稳定输出,可基于现有资源产生Inspiration,工具化内容数量有保证。
  4. 任务设计
工具

image

  1. 剧情对话内容分支可视化工具
  2. 时间轴可视化工具
  3. 可自动生成轨道结构和内容
  4. 控制不了太细的角色动画细节

完全机器自动化生成—–完全手工定制

image

L1 完全自动化生成 20% L2 少数手工调整无需额外新增资源 70% L3 大量手工调整需要额外新增资源 9% L4 完全定制 1%

流程
  1. 提交-> 测试-> 确认
  2. 可随时手动生成,随时调整效果,每天晚上定时生成。
美术沟通
  1. 展示效果,直到满意
  2. 设计规则去满足
  3. 系统能做什么,不能做什么,设计瓶颈是什么
  4. 美术配合调整自动化效果
  5. 美术有完全控制力
  6. 耐心解释有些是资源问题,不是自动化问题
  7. 持续稳定的展现效果
生成器的输入
  1. 对话内容
  2. 说的人、说的对象
  3. 情绪标签
  4. 音频
生成器的输出
  1. 角色
  2. 对白
  3. 动作
  4. 相机
  5. 灯光
  6. 环境
舞台
  1. 先确定对话角色的位置,创建所有可能相机的位置

image

  1. 相机厂库:通过镜头参数排列组合

image

  1. 三种站位 a. 标准(角色稍微侧身) b. 侧身 c. 越肩

  2. 由近到远五种摄像机距离

image

  1. 所有镜头完全程序化生成,算出摄像机位置。保持角色头部在屏幕上部视野范围内,根据人的高矮(四种级别),产生摄像机俯仰。

image

image

  1. 三种不同的镜头跟随模式(Unity可用Cinemachine插件开发) a. Handheld b. Steadicam c. Fixed

image

  1. 基本规则谁说话给谁镜头,根据选项打分,比如多人说话保证都在镜头内,有表情的给特写。

image

image

  1. 时间维度上增加细节,过长切开和过短合并,镜头提前或滞后。

image

image

  1. 分析情绪标签、文本从动作库中选择合适动作(动作事先标记好动作幅度和峰值得),根据分析数据融合动画。
周边系统
  1. 口型匹配方案,不同国家
  2. LooAt没说话的看着说话的,说话的看着对话目标。

image

  1. 眼球动画制造情绪
  2. 镜头方向补光

image

  1. 设置禁区,排除npc干扰

image

  1. 适配多语言语音对话长度在时间轴上的差异

《巫师3》对话系统

Behind the Scenes of the Cinematic Dialogues in The Witcher 3: Wild Hunt

为什么电影级对话对于玩家如此重要?

《巫师3》定于不是基于一条故事线进行的开方世界的RPG*,根据玩家自己的想法给予一定的选择机会,以及选项有情绪代入的功效;效果直接展示给玩家,而不是平铺直述给玩家。

三十五小时对话内容,二个半小时过场动画

过场动画 Cut Scene

手工制作过场动画成本巨大,调整RPG对话也需要花费大量时间。

游戏过场动画主要使用于进入新场景、引入新角色、预告战斗、渲染故事情绪、预告新章节。和传统CG的区别是一般无需重新制作场景和人物高模,但部分近景动画需要制作更写实的人物头部、表情动画、姿势等。

Quest Graph

任务系统是可视化脚本语言实现,其中包含有Dialogue Node,分歧用流程线来联系。

image

Dialogue System
  1. 时间轴编辑有角色、摄像机、物件、灯光、面部表情、天气等 ,每个作为事件派发,可以裁剪、插值融合,加权重。可以手动制作,也可以通过大概180个规则以及模板自动生成对话时间轴。

  2. 不仅仅可以制作动画相关内容,还可调整光照、天气(时间、太阳光源)等气氛感视觉的后处理。

image

The PipeLine

image

对话类型

面板对话

相比镜头对话,面板UI化对话大大减少角色资源编辑量,只是简单的头像、半身像、搭配UI文案面板。资源可是2d静帧图,3d固定模型,Live2d动画、Spine动画等。相对镜头对话表现力弱很多,主要是承载更多的文字量,加重说书体验。

  1. 近景对话 image
  2. 头像悬浮 image
  3. 半身像 image image
  4. 冒泡 image
分支对话

分支对话是对话界面加上分支选项,可做剧情的跳转。注意不要用太多无效分支干扰玩家的游戏进程。部分关键分支可做限时,营造紧张感,督促玩家按直觉选择。

  1. 面板按钮

image

  1. 转盘

image

交付对话

image

资料:

[Procedurally Generating Level Sequences from a Dialogue Script Unreal Fest 2024](https://dev.epicgames.com/community/learning/talks-and-demos/63xP/unreal-engine-procedurally-generating-level-sequences-from-a-dialogue-script-unreal-fest-2024)