实战案例!聊聊游戏的AI剧情动画辅助管线

推荐阅读

我们的侦探解密游戏开发接近尾声,于是开发者们开始疯狂的折磨 AI。众所周知,开发者玩 AI 游戏基本不会玩游戏,所以折磨 AI 就成了大家日常解压的工具。好在我们的 AI 角色一个个脾气好性格好,不会急,就开心的沦为了群聊的视频素材。

当视频无法加载时请刷新页面,
或前往PC获得最佳体验。

既然如此今天我们就不聊游戏,聊聊我们对 AI 视频生产管线的一些探索和思考。

传统的游戏动画生产流程中,如果是个简单的剧情对话类的动画,大概需要经过以下步骤:

  1. 整体剧情方向确定
  2. 写剧本,直到剧本确定
  3. 根据剧本,拆分任务流程,确定角色表演台本
  4. 根据任务流程,确认演出区域和演出角色(还可以包括提资源需求)
  5. 设置舞台,布置角色站位、位移动线
  6. 制作演出镜头
  7. 制作角色演出表现,动作表情等(在这一步其实算是初版了)
  8. 加入配音、特效材质、灯光等处理
  9. 根据整体动画节奏,进行调优,比如表情卡配音的重音点
  10. 完成,导出。

在与团队协作不断反复这个工业化流程时,我们慢慢觉得可以将流程转变为:

①前期准备

  1. 创建世界观和各种知识库(给 AI 用的你懂的)
  2. 创建各种表演用的资产库(镜头库、动作库、效果库)
  3. 创建角色卡,关联各种库。

②在 AI 的辅助下续写剧情,根据需求输出各种库的资产需求。

③根据任务流程,在 AI 的辅助下确认演出区域和演出角色。

④在对应的引擎内位置,在 AI 的辅助下生成动画序列初版(一次性生成语音、表情、动作、镜头、灯光、特效)。(动画序列:UE:Sequence/Unity:Timeline)

⑤根据整体动画节奏,进行调优,先调整表演节奏,再微调灯光和镜头。

⑥完成,导出。

也就是说,借助 AI 的能力不断的迭代和滚动一组项目的库,而让 AI 辅助设计师和开发者进行动画生产的提效工作。随着互相的熟悉应该可以异步协作,越来越快。

既然已经涉及到了各种公共库和各种 AI 能力,那么,这个工具本身就要从一个本地工具变成一个“关联本地”的 SaaS 服务。我们思考了很久,这样一个 SaaS 该按照什么顺序进行开发,最终决定:以终为始。从末端开始,逐步向前开发,用后一步的结果逆推前一步需要的东西都是什么。

经过相当长的一段时间的尝试,我们将剧情动画的要素按照以下内容进行分类:

①摄像机控制

  1. 机位选择
  2. 切镜头时机
  3. 运镜方式

②角色控制

  1. 角色姿态控制
  2. 角色间互动关系控制
  3. 角色移动控制
  4. 角色表演播放控制

实战案例!聊聊游戏的AI剧情动画辅助管线

那么下一步就是探索如何将这些东西准确的摆出来。已知条件是我们的对白台本已经有了。那么我们就可以以此为始进行整个动画序列生成。

一般情况下,游戏所使用的剧情对话表必然会存在两列:说话角色名和角色说的话。于是我们就可以知道角色的身份信息,结合上下文 AI 可以进一步分析出角色的情绪。我们还可以通过角色卡知道角色应该用哪个音频模型,用合适的情绪生成配音。拿到配音之后,我们终于确定了表演上的第一个基准线:音频时长。

接着,就是在这个基础上去扩展表演的内容:动作。一个 AI 负责生成口型,另一个 AI 通过分析台词,将合适的动作创建在合适的时间点。这时可能会出现一次对时间的调整——配音的时长不一定足够角色的动作表演完整。

实战案例!聊聊游戏的AI剧情动画辅助管线

此时,这个 Seuqnce 的基本内容已经有个底子了。下一步就该导演 AI 上场了。作为赛博导演,他的主要工作就是决定合适启用哪个摄像机,以及决定这个相机该怎么动。他现在知道这些信息:角色的站位,每句台词的时长和情绪,角色的说话顺序。他需要利用这些信息,将角色之间的互动关系进行整理,并将合适的机位选择出来。

这个家伙虽然叫导演,但是往往需要听从甲方(人类)的指挥,所以他有一组专门的配置表,让他知道他的甲方希望他用哪些镜头。他在其中选择最合适的,并且去避免出现越轴等常识性错误。(如果手勤快的话,它甚至可以不是个 AI)

实战案例!聊聊游戏的AI剧情动画辅助管线

最后就是灯光师,根据机位和角色的位置,选择启用合适的灯光(对,它也可以不是个 AI)。

其实一个 Sequence 的确认过程,必然离不开人类的不断产生“新想法”以及作为甲方“再试试内样来一个”的需求。同时还要做好“还是第一版好”的准备。因此,整个动画生产管线需要支持用户在这个过程中手动调整,并重新顺次调整后续的结果。以及,记录每一次生成的 Seed,用于回滚(叫固化结果也行)。

实战案例!聊聊游戏的AI剧情动画辅助管线

解决完这个视频生成阶段的问题,我们继续向上游走,也就是剧情对白的生产,这也就是常规意义上的剧情续写。重点的思考过程在于,希望整个过程变成一个持续滚动,可以异步并行的管线。剧情设计者和动画的制作人员和 AI 都能时刻保持“资源和知识是最新的”。

①在剧情书写的过程中,有几个 AI 助理在时刻保持知识库的更新。

  1. 角色需要知道的知识
  2. 剧情世界观上发生的事情
  3. 各种实体关系的变化
  4. 关键信息
  5. … …

上述知识都需要根据对应的时间/章节/任务/(更符合项目使用的方式)进行管理,并加上对应的标签。(如果团队里的人类不够多,可能还需要一个专门的 AI 来管理标签)

实战案例!聊聊游戏的AI剧情动画辅助管线

②同时,美术同学在确定项目所需的基础骨骼之后就可以开始根据策划需求输出的动画资产了。而策划要在此基础上建立动作库。

  1. 动作库不是所有动作的列表,而是每个角色可以用的动作列表。
  2. 一个项目理论上会有“无论如何都一定要有的资产”,这些资产可以在不等策划的情况下直接开整。
  3. 而随着剧情中涉及“表演”的内容不断出现,助理 AI 就需要将其中的动作需求整理出来。此处涉及到资产需求的撰写,相同资产的合并以及人工审核。
  4. 当确认可用的资产不断变多,前文提到的剧情表演就有了更多优化的空间,可以让逻辑驱动再跑一次。

③当角色卡、知识库和美术资产库(尤其是动作库)在一起时,就可以实现让动画生成管线根据角色卡的配置调用符合角色当前状态的“专用表演”内容了。

随着项目的开发,我们已经将这款工具的一部分加入到游戏运行时,让游戏内的实时表演也能有更好、更合理的效果。而这款方便的管线,也让我们通过已有的游戏输出视频宣传素材变得很容易。尤其是 AI 游戏,它就是靠对白来做内容的,简直太好了。

收藏 4
点赞 37

复制本文链接 文章为作者独立观点不代表优设网立场,未经允许不得转载。