原文:西川善司
 
最终幻想15的演讲会场。相当大,听众非常多。
 
   在本次计算机图形和交互技术大会【SIGGRAPH 2016】上,和游戏相关的CG技术解说方面上,SQUARE ENIX有很强的存在感。这个计划于2016年9月发售的【最终幻想15】的制作相关的会议,很多人都预订参加了。对于外海也有很高关注度的FFXV,有可以了解开发内幕的机会,多数的游戏开发者当然不会错过的。
 
    这次报道的是,最终幻想15会议之一的【Visual Effects of Final Fantasy XV:Concept,Environment and Implementation】(最终幻想15的视觉特效,概念,环境与实现)。
    演讲者是SE的第二商务部的高级程序员長谷川 勇氏和负责实时VFX的主管小山正彦氏,以長谷川氏和小山氏按自己负责部分来交替说明的形式来进行演讲。
    此外,本次报道中的画面和动画,还是在开发中的内容,也可能和实际的游戏有所区别。
 
長谷川 勇氏(高级程序员,SE第2BD)
 
小山正彦氏(实时VFX主管,SE)
 
 
会议分为了3大部分

以实现有说服力的照片真实表现为目标的FFXV的视觉特效

 
FFXV的视觉特效,是以追求照片真实来制作的
 
   首先登台的長谷川氏,对FFXV的图形开放概念【说服力高的照片真实表现】做了说明。
   長谷川氏提到,FFXV,是以现代场景和幻想场景共存的世界为舞台的幻想RPG游戏,描绘出的游戏表现都是幻想出来的。但是,世界中真实的火和水,以及烟雾等现象,以及光那样的能量的处理,是完全和现实世界一样来描绘的。
    比如,魔法产生的火即使是虚构的,但出现后还是会蔓延,火焰的光也会照亮周围,和现实视觉的物理现象是一样的,这也是为什么要在绘制上这么讲究。
 
即便是魔法攻击产生的火焰,视觉效果也要和现实的火焰一样的绘制
 
 
FFXV的特效视频展示
 
基于物理渲染(PBR)和线性工作流(LWF)以及高动态范围(HDR)这些关键词,在FFXV的特效上讲究的要点
 
   另外小山氏这边,对FFXV的渲染管线对基于物理渲染(Physically Based Rendering,简称PBR)中,线性空间的亮度值(颜色值)的处理做了说明。
 
    这里提及的线性空间,是不考了显示器的配置(亮度),与现实世界的物理等价的数值表现体现。事实上的高动态范围(HDR)渲染也是的。
 
    这种渲染管线的线性空间处理方法,在电影和CG的用语里也叫做【线性工作流】(Linear Work Flow,简称 LWF)。FFXV的特效也是全部是用LWF来制作的。
 
FFXV的特效也是全部是用LWF来制作的
 
    【关于FFXV的PBR和LWF的效果,最生动和有代表性的材质就是"水"了】小山氏叙述到。
    要正确的表现水的效果,需要镜面反射(Specular),透明度(Transparency)和折射(Refraction)的3个要素。在PlayStation 4世代的游戏开发中,是把透明物体和不透明物体区分,并且一边在保留镜面反射的同时一边降低透明度来制作表现,提升水表现的真实度。
 
 
FFXV中水花表现的视频
这里是强制静止的,实际是可以看到水散落和真实运动的。折射效果和镜面反射的高光也很显眼

FFXV的视觉特效制作方针

 
    接下来小山氏,对开发团队在视觉特效(VFX)的完善方法上做了解说。
 
    FFXV的开发团队里的VFX美术师傅也是有多个人的,每个美术师都可以从零开始委托制作视觉特效,每个人的做法也不一样,要全体的统一也很难。所以,首先是公司内部开发了个人的基于节点的VFX制作工具,让理解工具规格的成员制作预设(基本的风格)的VFX,在基于这些让每个VFX美术来组成节点制作效果,彻底的贯彻了这样的流程。
 
 

 
    这里说道的节点,就是下图中一个个的功能块。
 
每个VFX美术师,核心成员小山氏制作的预设VFX,来组成特效。
 
    全体VFX美术师并不是都精通这套结构,考虑到稳定的品质保证和制作效率,这样的制作风格是很不错的,小山氏回顾到。
 
 

基于节点的VFX工具使用的相关问题和对策

    在FFXV的开发中,虽然采用了基于节点的VFX制作工具来制作视觉特效的方式,但还是遇到了一些问题。
   例如,冻结特效会大量产生多个物体对象,结果会让特效规模变的很大。还有在特效性质上,短时间内产生和销毁这样多次反复的情况很多。
 
大量的复数特效产生和销毁的演示
大量特效一瞬间出现和销毁。
 

 
    大规模的特效会消耗很多内存,在短时间内反复生成和销毁的情况下,特效的启动和关闭会成为overhead,最后的处理负荷也会变高。FFXV使用了2种方法来处理这种问题。
 
使用了【Grouping】和【Formulation】做为解决方案
 
大量生成的特效和生命周期短的特效会引起的问题
 
    1个方法是【Group化】。对于大量生成的特效,把构成特效的节点群分组来管理,按组来生成和销毁的处理,来改善内存的利用效率。
 
通过Group化来改善内存的利用效率
 
    第2个方法是【公式化】(Formulation)。这个是把特效内包含的复杂节点结合,可以理解为把复杂节点合成1个【虚拟节点】来管理。把多个节点用1个虚拟节点来处理,这样就减少了无用的启用和销毁处理。
 
通过公式化,把大量的节点用虚拟的1个节点来做处理
 

FFXV的视觉特效中采用的程序化纹理

 
FFXV的视觉特效中,一部分也采用了程序化纹理技术(Procedural Texture)
 
 
    小山说明到,在FFXV的开发中,也致力于解决以前日本游戏开发中没有怎么挑战的新主题。这个就是【程序化技术的使用】,FFXV中的一部分视觉特效使用的纹理,是采用程序化来生成的。
    FFXV中,视觉特效使用的一部分纹理,并不是美术师手绘而使用软件的算法自动生成的。
    具体的,攻击特效和Lens Flare这些,面积比较大的特效使用了程序化纹理。向画面整体的广阔范围扩展的纹理,因为手绘的原始分辨率扩大和缩小,表现品质会可能会下降。但程序化生成的纹理,无论如何的大小都可以生成没有伪和感的纹理。动画纹理也是一样,程序化生成的话循环和重复表现也不会很明显。
 
魔法的电击和闪光的表现,或是lens Flare等效果,都是程序化纹理技术的示例
 
    当然,并不是所有的视觉特效都可以用程序化纹理,以前那种连续画像预先生成的动画纹理FFXV里也有使用。
 
    例如,前面动画里演示的水花的动画纹理,就是连续图像的粒子。虽说如此,“但不之是半透明的Billboard,也包含了模拟水花特有的凹凸细节的法线向
量这种只有次世代机才有的内容”小山氏提示到。
 
水花特效使用的连续动画纹理的示例。但并不是1张图的排列,还包含了表现细微凹凸的法线响亮,在绘制时进行bumpmapping。
 
    FFXV的特效制作使用的基于节点的工具,虽然笔者以前也听过,但并不知道还使用了程序化纹理技术。这个会议可以说是让FFXV【大概使用了全部的近代图形技术】这点变得清晰了吧。
 

 
 

 

【SIGGRAPH】用【有说服力的照片真实】技术实现最终幻想15的视觉特效的更多相关文章

  1. 罪恶装备 Xrd REVELATOR 3D进化出的非照片真实视觉

    GUILTY GEAR Xrd REVELATOR 3D进化出的非照片真实视觉 罪恶装备系列是用2D日系动画一样的惊异视觉来吸引玩家的. 最新续品[GUILTY GEAR Xrd-REVELATOR- ...

  2. 【翻译】CEDEC2014 CAPCOM 照相机正确的照片真实的制作工作流

     这次带来的翻译是Capcom在CEDEC2014上发表的技术美术相关的资料.资料的目的,就是在已经拥有了一套基于物理的渲染引擎的前提下,如何进行图片真实的材料的拍摄并制作为引擎里的材质,以及如何正确 ...

  3. ReCap 360 photo照片建模技术的又一个例子

    这是我做的又一个利用Autodesk ReCap 360 照片建模技术做的一个例子.你可以下载模型自己把玩,或者下载原始照片自己试一试. 拍摄工具: 小米手机 照片数量:约120张 后期处理工具: p ...

  4. JELLY技术周刊 Vol.15 云游戏会是 5G 杀手级应用么?

    蒲公英 · JELLY技术周刊 Vol.15 听到"云游戏",或许我们的第一反应会是"云玩家"而不是那些上云的"游戏",在这个 5G 已来的 ...

  5. 有return的情况下try catch finally的执行顺序(最有说服力的总结)

    结论:1.不管有木有出现异常,finally块中代码都会执行:2.当try和catch中有return时,finally仍然会执行:3.finally是在return后面的表达式运算后执行的(此时并没 ...

  6. [Mugeda HTML5技术教程之15]案例分析:制作移动教育课件

    本文档要分析的案例是一个一氧化碳还原氧化铜的教育小课件,从中可以体会一些Mugeda API的用法和使用Mugeda动画制作移动教育课件的方法.Mugeda为移动教育领域和移动数字出版领域提供理想的教 ...

  7. 那些H5用到的技术(6)——数字滚动特效

    前言原理源码使用方式补充CountUp.js 前言 会有这么一种情况,H5页面需要进行数字统计展示,以此来强调产品or工作的成果.如果只是静态显示一个数字,总是感觉生硬.对比如下: 是不是瞬间高大上了 ...

  8. 【SIGGRAPH】【最终幻想XV】的战斗场景实时演示的要点解说

    [SIGGRAPH][最终幻想XV]的战斗场景实时演示的要点解说 原文:西川善司 http://www.4gamer.net/games/999/G999902/20160730004/        ...

  9. paper 86:行人检测资源(上)综述文献【转载,以后使用】

    行人检测具有极其广泛的应用:智能辅助驾驶,智能监控,行人分析以及智能机器人等领域.从2005年以来行人检测进入了一个快速的发展阶段,但是也存在很多问题还有待解决,主要还是在性能和速度方面还不能达到一个 ...

随机推荐

  1. PHP 批量修改图片的名字

    <?php // glob() 返回指定目录下的文件名以及目录 $arr = glob("img/*.jpg"); $time = time(); $i = 100001; ...

  2. JavaScript eval() 函数

    定义和用法:eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码. 语法:eval(string) 参数 描述 string 必需.要计算的字符串,其中含有要计算的 Java ...

  3. BZOJ3654 : 图样图森破

    考虑枚举回文中心,然后向两边扩展,当匹配到当前串的边界的时候,枚举下一个串接上. 这个过程可以通过记忆化搜索来完成,设: $f[i][0]$表示对于$i$这个位置,$[i,串结尾]$等待匹配的最长回文 ...

  4. 推荐两款PC健康小软件

    一.前言 对于经常需要坐在电脑前工作一整天的人来说,健康问题是不得不关注的.下面推荐我一直在用的两款体积非常小(几百KB)的健康小软件,也许可以在无形中保护你.提醒你. 1. FadeTop 这是一款 ...

  5. ACM Same binary weight

    Same binary weight 时间限制:300 ms  |  内存限制:65535 KB 难度:3   描述 The binary weight of a positive  integer ...

  6. ThinkPHP3.2.3--相对路径的写法

    window.location.href='/index.php/Home/Manager/login' 以 / 开始,而不是 ./

  7. Java_过滤字符串中非汉子的内容

    /** * 去除“第”之前的所有非汉字内容 */ private String clearNotChinese(String buff){ String tmpString =buff.replace ...

  8. 如何在WORD2010中取消自动编号?

    如何在WORD2010中取消自动编号? 使用WORD2010有一个很大的问题就是WORD2010的自动编号问题,WORD2010的自动编号是符合外国人的写作习惯的,对中国人来说不适用. WORD201 ...

  9. android api汇集

    参考文章: 知乎-想写个 App 练手,有什么有趣的 API 接口推荐吗? 使用 Espresso 和 Dagger 测试网络服务 http://developer.simsimi.com/apps# ...

  10. mysql慢日志管理

    一.日志切割 原理: 1.cp一个慢日志备份 2.清空原理的慢日志 3.写成脚本,每天一切,这样就ok啦 二.查找日志中的慢日志 1.做了日志切割(慢日志文件就小了) 2.查找某个时间的慢日志 日志时 ...