堡垒之夜游戏宣传片,告诉我们实时渲染对传统动画工作流程的影响

本文主要是介绍堡垒之夜游戏宣传片,告诉我们实时渲染对传统动画工作流程的影响,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在SIGGRAPH 2018, Epic介绍了游戏堡垒之夜的宣传动画的制作,让大家了解到实时渲染可以给传统动画的工作流程带来怎样的改变。

为什么使用实时渲染

传统动画流程中,工作量和资源占比最大的是中期阶段:

传统动画流程

这个流程的缺点是,导演在前期工作之后,工作由各方面的总监负责,而导演无法很有效地参与到工作中的创意碰撞。

而实拍影视的制作流程则不同。在拍摄制作的过程中,导演能即时参与互动。灯光,表演,或者摄像,任何方面有问题,导演都能马上给到反馈。

实拍影视的制作流程

该流程的工作量和资金压力主要集中在后期阶段。所以,当导演在中期阶段结束后需要修改创意,那就相当棘手了。往往修改一处几天后才能看到结果,而到那时,导演可能自己都已经忘记了。

在这里,引出实时渲染为动画制作流程带来的好处:快速修改,即时反馈。让导演像真人拍摄流程中一样,把控制作过程中的创意。

这种快速迭代的制作方式,对任何一个制作部门都有明显的好处。Epic公司请Forrester Research做了一项关于“实时渲染对影视行业的影响”的调查。数据显示81%的相关公司可能在12个月内开始采用实时渲染技术。

Forrester Research

通过下面的工作流程地图对比,我们可以看到传统动画制作流程和采用实时渲染的动画流程之间的区别(图表译自Epic):
传统动画制作流程

堡垒之夜团队希望模拟传统动画制作的工作流程,所以两张流程图大体类似:

采用实时渲染的动画流程

实行建议

采用实时渲染,Epic提出几条建议:

  • 平衡各阶段工作的资源分配

  • 为前期阶段多分配1-2倍的资源。因为你需要为他们配备游戏引擎人员,比如shader专家,技术经理以及资源整合人员。如果只有中期制作才有这些专业人员,就太晚了。

  • 尽早准备用于实时渲染的3D物件。整个阶段需要的3D资产尽量在前期阶段准备好。

  • 了解你的产品质量要求。准备相应质量的三维组件。

  • 善用实时渲染的特性快速修改和迭代

遇到的问题

在堡垒之夜动画制作流程中,该团队提了几个遇到的坑:

  1. 资源导入流程。数字资源导入UE4并不是一键拖入那么简单,需要对模型和材质做很多工作。

  2. 没有建立metadata工作流程。意味着无法用脚本做一些导入导出自动化的工作。

  3. 动作捕捉文件的调用很繁琐。现有动作捕捉工作流程是在motionbuilder里面做好动作捕捉工作,导入Maya审核,导入游戏引擎,放入level sequence,应用到角色上。而且每一个镜头都要来一遍。当时UE4版本没有很好的官方解决方案。

  4. UE4的sequencer的动画渲染还是很简陋。没有准确的按帧渲染,也没有时间码的概念。

  5. 对Alembic文件格式的限制。Alembic文件是做表情动画的完美文件格式。但在UE4中,那些用了Alembic的场景尺寸将被限制。

解决方法

针对堡垒之夜制作流程中遇到的坑,Epic在新版本中推出各种新功能和插件填补。实时渲染用于动画制作,是新的尝试,是对已经成熟的制作流程的一次革命。Epic想要发动这场革命,必须先自己试错,然后将Unreal的各种坑补上。

首先是让堡垒之夜团队头大的资源导入问题。现在有了Datasmith,问题得到了解决。目前Datasmith支持CAD,SketchUp,3D Studio Max,CityEngine,和Rhino,beta版之后将会支持更多软件。根据使用者的测试,能达到百分之九十的还原度,但对于玻璃和灯光,还是需要手动调整。

3ds Max与unreal的对比渲染效果

然后是fbx元数据标签(metadata tags)的支持。并且python和shotgun能访问元数据。这样通过python脚本语言,就可以自动化一些重复性的操作了。

metadata tags

Python在unreal中的支持,不仅能提供导入导出的自动化操作,还能对渲染作自动化。此外,在编辑器和蓝图中也同样可以使用python脚本语言。但是,Jin对Unreal Python了解不多,不清楚python和c++在unreal开发的应用边界在哪里。

还记得之前那个适合制作表情动画的Alembic格式文件吗?在Fortnite制作流程中,他们将每个角色的头和其他部分分开,头部用Alembic格式,身子用fbx导入。

很多人好奇为什么Alembic格式更适合作表情。主要原因是在fbx格式里,每个顶点最多受到8个骨骼的影响。这个限制导致表情变形不那么有细节。而Alembic格式不仅没有顶点受影响限制,更重要的是,会将maya中所有包括骨骼,融合(blendshapes),和形变(lattices),都烘培到Alembic文件里,并导入unreal。在unreal 中,Alembic缓存转变成GPU morphs然后实时播放。

fbx表情动画和Alembic的比较

关于Alembic格式导入导出工作,该团队介绍的很详细(可能坑太多)。首先,Alembic的模型必须转成三角面,从maya导出为Alembic Cache(*.abc)。unreal导入参数“Use GPU Morph Targets”必须打开。

制作中的一些细节

和一切影视制作项目一样,堡垒之夜宣传片从剧本和故事板开始。通过将剧本用premire剪辑,做成一个初版的动态故事板,为后面动作捕捉的工作服务。

动作捕捉团队和预览团队获得初版动态故事板后,开始创建粗分镜(rough layout)。为提高工作效率,减少游戏引擎与motionbuilder之间繁琐的导入导出,Epic将尽可能多的动作采集到一个场景文件里,并将该场景复制给每一个镜头,根据各镜头的要求删除每个镜头中不需要的内容。

动作捕捉

为了提升工作站的性能,根据需要设定每个摄像机视野的消失平面。

在sequencer里面排好分镜,重新修改分镜名称后,将信息输入项目管理软件开始进行项目工作的监控。Fortnite用shotgun进行项目及数字资源的跟踪和审核。

sequencer

目前主流动作捕捉系统都已經支持UE4。通过UE4自带的Live Link系统实时传输动作数据的系统目前有五个,包括Vicon、Dynamixyz、Cubic Motion,和Perception Neuron;正在开发和将要开发的Live Link兼容产品包括Xsens, Optitrack, Rokoko,和Faceware。此外,Maya和Motionbuilder同样支持Live Link系统实时传输动画数据,通过这两个3D软件可以间接实现动作捕捉系统的对接。

UE4的Virtual Camera Plugin对前期的预览和分镜创作过程非常有用。Virtual Camera Plugin实现的效果等同于我们常见的VR。用户可以使用ios设备(ARKit),VIVE跟踪器,或者其他的光学动作捕捉系统,去无线控制虚拟摄像机的位移和旋转。此外,比如焦距光圈比例之类的其他参数,都可以在屏幕上作详细调整。

image.png

堡垒之夜宣传片使用shotgun作为整个动画制作的项目管理软件,广泛应用于各个大型影视游戏项目和数字资源的管理。在unreal 4.20版本中,已经整合该系统供免费试用。主要功能包括:

  • 从Maya发布资源到UE4

  • 从Shotgun浏览器加载资源到UE4

  • 为资源添加元数据

  • 从UE4 Sequencer渲染和提交,供他人检阅

  • 数字资源的版本控制

    Shotgun

在UE4新版本中,为了增强实时渲染的电影化效果,增加了四个新特性:

  • 电影化景深效果。与之前的相比,新的景深特效更快,有散景效果,支持Alpha通道,及多平台的支持。

  • 面光源。面光源会比其他灯光类型占用更多的资源,但真实感会更强。

  • 人物效果更好。特别是皮肤SSS的效果,更为真实。

  • 物理灯光单元。用真实灯光的参数去设置,真实度不再靠感觉。

在后期特效方面,Unreal 4.20提供了一套新的特效系统Niagara。

Niagara

与前版本所使用的粒子编辑器cascade不同,Niagara是一套以节点编程为主的特效系统,用户可以自主设计粒子运动的行为模式。此外,Niagara以二进制编码运行,效率更高。

image

结论

最后我们来总结比较传统动画工作流程和实时渲染动画制作流程的不同:

比较

之前跟中影的朋友聊起Unreal用于影视制作。他们提到Unreal无法分层渲染,所以很难融入到当前工作流程中。对此,Jin觉得对于一个全新的更有效率的工作环节,影视公司应该试着改变现有的流程去适配,而不是反向。


http://www.taodudu.cc/news/show-7909145.html

相关文章:

  • Elastic认证考试,请先看这一篇!
  • 牛皮了!头一次见有大佬把「JVM和Java体系架构」详解得如此清晰明了
  • 生信难吗?我给读者的回信
  • 西安交大网络极简网关认证的“难与易”
  • 《一生必读的中国帝王史》
  • 龙芯上跑WTM,为国产化做点贡献
  • 论——中国互联网企业该如何管理?
  • 中国式家教之七式
  • 谁坑了程序员的职业道德?送给初入职的码农,和宣传奴性的领导。
  • 被中国人误传了数千年的七句话[转]
  • 【ZT】中国人,请不要自卑。
  • C03-中国人的人性与人生Notes
  • 51精密电路混压工艺分享
  • 射频/微波PCB的信号注入方法
  • ADS的LineCalc使用说明
  • 27.基于ADS的不等分威尔金森功分器设计
  • 干货:线上下单应知应会,快来了解下
  • 记一次用AD20制作STM32开发板的全流程
  • 关于ADS板材外出加工的方法
  • 罗杰斯购买位于亚利桑那州钱德勒市的电介质材料及层压板生产资产
  • allegro 05_C 板型层叠结构设置
  • “圆梦杯”大学生智能硬件设计大赛 初赛样题——理论题作答
  • 刘爱力:电信业的未来,凭什么如此乐观?
  • 从百度到华为,北大毕业后这5年的工作经历
  • 2019——2020年,年会致辞。
  • STM32F103标准库学习——输入捕获实验
  • JavaScript基础---类型转换与运算符
  • JavaScript基础---数据类型
  • Vue框架学习(一)
  • Vue框架学习(二)
  • 这篇关于堡垒之夜游戏宣传片,告诉我们实时渲染对传统动画工作流程的影响的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



    http://www.chinasem.cn/article/178065

    相关文章

    OpenCV实现实时颜色检测的示例

    《OpenCV实现实时颜色检测的示例》本文主要介绍了OpenCV实现实时颜色检测的示例,通过HSV色彩空间转换和色调范围判断实现红黄绿蓝颜色检测,包含视频捕捉、区域标记、颜色分析等功能,具有一定的参考... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间

    Python实例题之pygame开发打飞机游戏实例代码

    《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

    LiteFlow轻量级工作流引擎使用示例详解

    《LiteFlow轻量级工作流引擎使用示例详解》:本文主要介绍LiteFlow是一个灵活、简洁且轻量的工作流引擎,适合用于中小型项目和微服务架构中的流程编排,本文给大家介绍LiteFlow轻量级工... 目录1. LiteFlow 主要特点2. 工作流定义方式3. LiteFlow 流程示例4. LiteF

    java Long 与long之间的转换流程

    《javaLong与long之间的转换流程》Long类提供了一些方法,用于在long和其他数据类型(如String)之间进行转换,本文将详细介绍如何在Java中实现Long和long之间的转换,感... 目录概述流程步骤1:将long转换为Long对象步骤2:将Longhttp://www.cppcns.c

    SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程

    《SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程》LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑,下面给大... 目录一、基础概念1.1 组件(Component)1.2 规则(Rule)1.3 上下文(Conte

    详解如何使用Python构建从数据到文档的自动化工作流

    《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

    基于Python开发一个有趣的工作时长计算器

    《基于Python开发一个有趣的工作时长计算器》随着远程办公和弹性工作制的兴起,个人及团队对于工作时长的准确统计需求日益增长,本文将使用Python和PyQt5打造一个工作时长计算器,感兴趣的小伙伴可... 目录概述功能介绍界面展示php软件使用步骤说明代码详解1.窗口初始化与布局2.工作时长计算核心逻辑3

    RabbitMQ工作模式中的RPC通信模式详解

    《RabbitMQ工作模式中的RPC通信模式详解》在RabbitMQ中,RPC模式通过消息队列实现远程调用功能,这篇文章给大家介绍RabbitMQ工作模式之RPC通信模式,感兴趣的朋友一起看看吧... 目录RPC通信模式概述工作流程代码案例引入依赖常量类编写客户端代码编写服务端代码RPC通信模式概述在R

    spring-gateway filters添加自定义过滤器实现流程分析(可插拔)

    《spring-gatewayfilters添加自定义过滤器实现流程分析(可插拔)》:本文主要介绍spring-gatewayfilters添加自定义过滤器实现流程分析(可插拔),本文通过实例图... 目录需求背景需求拆解设计流程及作用域逻辑处理代码逻辑需求背景公司要求,通过公司网络代理访问的请求需要做请

    使用JavaConfig配置Spring的流程步骤

    《使用JavaConfig配置Spring的流程步骤》JavaConfig是Spring框架提供的一种基于Java的配置方式,它通过使用@Configuration注解标记的类来替代传统的XML配置文... 目录一、什么是 JavaConfig?1. 核心注解2. 与 XML 配置的对比二、JavaConf