转自腾讯游戏开发者平台(GAD)

CDPROJEKT RED的主程序、Piotr Tomsinski

在GDC2016的最后一天18号,CDPROJEKT RED的主程Piotr Tomsinski,以【巫师3:狂猎的幕后(BEHIND THE SCENES OF THE WITCHER 3:WILD HUNT)】为题,进行了动作RPG【巫师3:狂猎】的事件对话系统的开发流程的解说。另外,【巫师3:狂猎】也被参加GDC 2016的开发者评选为【年度游戏奖】。

【开头是「巫师3:狂猎」的介绍演示】

 
 
 
 
 
 
 
 

Tomsinski把【巫师3:狂猎】定义为“不是基于一条主线故事进行的开放世界的RPG“,故事是本作的生命。在本作的介绍演示后,Tomsinski对本作的事件对话系统,对根据玩家自身想法来适当的给予选择的机会,以及选项有着动摇玩家感情意义的重要性做了说明。

虽说如此,但让动画师手动的制作35个小时以上的电影级的事件会话,必须要动用大量的动画师才可以。那种最简单拍摄的幕间过场动画(Cut Scene)姑且不算,但对于用手工制作RPG会话要花费的时间,很明显是不现实的。在【巫师3:狂猎】的故事事件里,是把2.5个小时的过场动画用35个小时的会话事件系统来控制,就如Tomsinski所说,过场动画的制作成本非常昂贵。除了重要场景外高消费外,其他的部分自然要采用不同的解决方法。

 

RPG游戏中故事的重要性

 

RPG的事件场景制作非常的痛苦

 

过场动画和对话事件的对比,右下的小画面是过场动画

Tomsinski他们为本作的对话事件系统开发了自己的工具。故事的Sequence的制作由【任务图表(QUEST GRAPH)】和【对话编辑器(DIALOGUE EDITOR)】构成。由于为本作开发了大量的工具,制作看起来就很容易了。

剧本作家创作的剧情,通过基于节点的【QUEST GRAPH】,把故事的序列逻辑按一定单位的节点替换,而分歧用流程线来联系。虽然【QUEST GRAPH】看起来做了阶层化,但大量的管理还是很成问题。尽管如此,把流程视觉化可以更方便理解的显示,是这种可视化脚本工具的优点吧。

 

【QUEST GRAPH】的画面

 

【DIALOGUE EDITOR】的画面

每个节点内部创作的内容,是在基于Timeline的【DIALOGUE EDITOR】中来制作的。每个节点内,有角色,相机,光源,面部表情,天气等的控制变化。除了像通常那样使用系统来制作事件节点外,还有更加详细的制作方法,可以制作出更加流畅的事件节点,这个就是使用【GENERATOR】通过模板生成节点的Timeline。基于Timeline的工作虽然要比制作定制的过场剧情轻松,但一个个的准备所有节点的Timeline还是很麻烦,只能说是稍微轻松了一些。

 
 

「DIALOGUE EDITOR」中Timeline的编辑

 

「GENERATOR」是非常便利的工具

 

各种待机动画

 
 
 
 

注视点的管理在系统之外而且复杂

考虑到要彻底的节省工作,在其他方面也要更加的讲究。角色的待机动画上,准备了站立的,单膝跪地,坐着等姿势,角色攻击时毅然等内部感情的状态,以及注数其他角色时眼睛和头部转向的动画,有着相当多的数据。

为了实现这样的对话事件系统,美术师准备的动画总数有2400个以上,老幼年女也有考虑,但这样也不是足够充分。亚人种的怪物角色的对话也有,进一步的对应所有的类型。

 

动画总数超过了2400个

 

和怪物的对话也必须有……

【巫师3】的解决方案是,在【DIALOGUE EDITOR】上,修改一部分角色的控制器Rig的基本动画数据做修改的功能。例如,基本动画中直接指着眼前的时候,如果对峙的角色并不在证明,要在编辑器通过节点变更手腕的方向和注视点,就可以立刻制作出一个特殊的动作。而且,大部分的物体对象都可以Attach到其他的物体上,Attach状态的物体之间的动画,可以很好的同步。

 
 
 
 

通过控制器Rig来控制

在【DIALOGUE EDITOR】中可以变更的,不仅仅是动画相关的内容,光照和气氛感等视觉的后处理也可以自由的设定。伴随天气和时间的太阳光源也可以控制,可以生成各种最终输出的结果。也可以加入魔法的特效,汇集了会话事件所需要的所有功能。【巫师3】的会话事件制作工具是相当的成功。

 
 
 
 
 
 

后期处理制作的要素

本作的会话事件系统的制作概念,就工具自身而言,并没有什么新颖的内容。只是这样对于提高开发效率而言并没有坏处,不论是谁都可以得出的结论。重要的是,工具虽然不是游戏本体,还是不能轻视,牢固的制作各种功能的工具吧。因为是与游戏最终品质直接关联的部分,决不能轻易的忽略。

 

使用了后处理滤镜的事件

现在为了提高玩家的印象,不光是RPG,射击和格斗游戏也开始重视幕间的过场动画,这样游戏体也变得巨大。减少美术师的制作负荷,和让有高超技能的美术师认真的制作过场动画之间需要权衡。而如何保持这个平衡,推出高完成度游戏,也正是这次议会的主题。

【转】巫师3:狂猎(The Witcher 3: Wild Hunt )的游戏事件工作流的更多相关文章

  1. 【SIGGRAPH 2015】【巫师3 狂猎 The Witcher 3: Wild Hunt 】顶级的开放世界游戏的实现技术。

    [SIGGRAPH 2015][巫师3 狂猎 The Witcher 3: Wild Hunt ]顶级的开放世界游戏的实现技术 作者:西川善司 日文链接  http://www.4gamer.net/ ...

  2. GDC2016 【巫师3 狂猎】的游戏事件工作流

    巫师3 狂猎(The Witcher 3: Wild Hunt )的游戏事件工作流   http://game.watch.impress.co.jp/docs/news/20160320_74916 ...

  3. Android RecycleView 自定义Item的使用

    自定义布局的RecycleView需要自己实现Adapter,ViewHolder和布局: 自定义Adapter继承RecycleView.Adapter,重写getItemCount(),onBin ...

  4. 3D跑酷游戏《月影忍者之疾风狂逃》

    <月影忍者之疾风狂逃>是一款3D跑酷游戏,也是我实习的时候参与的一个项目,在那个公司我学到了很多东西,谢谢他们.大家可以去玩玩这个游戏啊,还是不错的哦.

  5. 2000G电脑大型单机游戏合集

    激活码 游戏名称(ctrl+F查找) 下载链接005875 艾迪芬奇的记忆 游戏下载链接http://pan.baidu.com/s/1t2PYRAj546_1AcOB-khJZg554158 暗影: ...

  6. 剖析虚幻渲染体系(14)- 延展篇:现代渲染引擎演变史Part 1(萌芽期)

    目录 14.1 本篇概述 14.1.1 游戏引擎简介 14.1.2 游戏引擎模块 14.1.3 游戏引擎列表 14.1.3.1 Unreal Engine 14.1.3.2 Unity 14.1.3. ...

  7. 《InsideUE4》-6-GamePlay架构(五)Controller

    <InsideUE4>-6-GamePlay架构(五)Controller Tags: InsideUE4 GamePlay 那一天 Pawn又回想起了 被Controller所支配的恐惧 ...

  8. R Language

    向量定义:x1 = c(1,2,3); x2 = c(1:100) 类型显示:mode(x1) 向量长度:length(x2) 向量元素显示:x1[c(1,2,3)] 多维向量:multi-dimen ...

  9. GAE+bottle+jinja2+beaker快速开发demo - Python,GAE - language - ITeye论坛

    GAE+bottle+jinja2+beaker快速开发demo - Python,GAE - language - ITeye论坛     :GAE+bottle+jinja2+beaker快速开发 ...

随机推荐

  1. 阿里云修改主机名(以centOS为例)

    需要更改配置文件生效,修/etc/sysconfig/network里的 HOSTNAME=主机名(可自定义),重启生效. 如何修改? 1.[root@aliyunbaike ~]# cd /etc/ ...

  2. [转]收集Oracle UNDO诊断信息脚本

    使用该脚本可收集与undo相关的信息,在undo表空间出问题时可使用该脚本来诊断. 使用方法: 1.将脚本拷贝到服务器,创建文件保存,文件名可随意取,例如:diag.out 2.以sys用户登录数据库 ...

  3. hdu_5187_zhx's contest

    Problem Description As one of the most powerful brushes, zhx is required to give his juniors n probl ...

  4. WIN10下WNMP开发环境部署

    刚刚开始学习PHP时,一直使用phpstudy,后面发现很多东西自己单独配置安装会理解更深刻,所以自己总结了一下windows下开发环境的部署教程. 以前经常在CSDN和博客园看别人的教程,今天才注册 ...

  5. xp sp3安装.Net 4.0提示严重错误,0x80070643,解决办法2017版

    客户电脑上要装金税开票软件,需要.net 4.0.30319.1,电脑环境是xp sp3,已经安装了.net 2, .net 3.5sp1,安装.net 4.0的时候提示错误0x80070643 因为 ...

  6. 【Android】Android Studio真机调试的问题统整

    真机调试需要注意以下几个问题 [1]手机的USB调试需开启 [2]手机不能是仅充电模式,需要传输数据模式 [3]有些USB线会偷工减料,请拿一条没问题的线,例如买手机时原厂给的配线 [4]在PC端需要 ...

  7. 动态的GRE OVER IPSEC的实验模拟与分析

    此篇博客正在介绍的是下图中的Dynamic P2P GRE OVER IPSEC VPN: 为什么出现这种动态的GRE OVER IPSEC VPN技术呢? 首先在前面几篇博客中已经介绍过了,动态是为 ...

  8. STM32_3 时钟初始化分析

    在startup文件中,调用了2个函数,一个是System_Init, 另一个是main. System_Init()在system_stm32f10x.c 这个文件中,先看一下时钟树,再分析一下这个 ...

  9. 基于傅里叶变换的音频重采样算法 (附完整c代码)

    前面有提到音频采样算法: WebRTC 音频采样算法 附完整C++示例代码 简洁明了的插值音频重采样算法例子 (附完整C代码) 近段时间有不少朋友给我写过邮件,说了一些他们使用的情况和问题. 坦白讲, ...

  10. Java设计模式(22)——行为模式之状态模式(State)

    一.概述 概念 再引用网友的说通俗一点: State模式在实际使用中比较多,适合"状态的切换".因为我们经常会使用If elseif else 进行状态切换, 如果针对状态的这样判 ...