TEXTURING UNCHARTED 4: A MATTER OF SUBSTANCE

原文链接
 
在旧金山的GDC2016上,顽皮狗的美术师Bradford Smith 和 Rogelio Olguin展示了在神秘海域4中使用 Substance的Texture的设计工具的工作流程 

  • 使用Substance Designe的程序化Texture制作工具制作的内容“非常的广泛和多样性”。
  • 頑皮狗对外部工具的评估非常开放和有创造性,对制作一个成功的游戏来说,灵活性是非常关键的组成部分。
  • 当神秘海域4(Uncharted 4)开始时,最后的生还者(The Last of us )还在满负荷开发中,资源“非常紧张”,美术部门不得不找出解决方案出来。
  • 基于物理渲染的实现上,材质库与材质图层的一致性非常重要,需要美术师可以迅速使用的强大资源库。
  • 最大的因素是环境的范围和规模,神秘海域的游戏内容是非常丰富的。
  • 开发团队不得不在标准的开发流程和创意的自由之间寻求平衡。Substance Designer“真的非常符合要求”
  • 与Allegorithmic 的合作是双向的。Allegorithmic 帮助顽皮狗定义内部管线,而顽皮狗帮Allegorithmic定义Substance Designer 3 和 4.
  • 顽皮狗的美术师有几个疑问,首先就是他们是否真可以通过程序化和基于节点的Texture生成工具制作高品质的资源,或者说他们内部的美术师和外包供应商是否可以高效的使用他们。这些工具是有学习曲线的。
  • 顽皮狗通过手动雕刻和绘制了大量的资源
  • 一个非常精细的材质图层系统的早期模型被证明是非常成功的。
  • 这个工具通过混合材质来生成Texture。通过替换Height map和调整参数就可以获得新的Texture。
  • 之后,顽皮狗制作了一个小的评估场景,并证明是非常成功的。同样的为外包供应商也做了一个测试。
  • 这时美术师对程序化工作流还是有一些犹豫,对于能否成为标准还是有一些问题。
  • 继续测试后,可以确定这个流程是相当简洁的,因此顽皮狗决定使用Substance作为包含网格,Maya文件,位图和高多边形网格的内容管理系统。可以把他们输入到Substance 并输出Texture。
  • Substance 也可以用于创建烘培贴图
  • 这时也有一些问题出现了,例如资源库管理的开销,调试和培训的问题。如何保持在技术的顶峰以及更新也是一个挑战。
  • 于是通过学习Python编译资源库来实现管理的自动化,解决了很多的问题。
  • 甚至shader也可以定制,真的是一个非常好的特性
  • 在神秘海域4的开发中,顽皮狗与大约7~10个外包工作室合作。他们创作了3000个资源,其中2000个是背景或道具。
  • 由于外包资源的数量,对外包工作室的培训变得非常的重要。顽皮狗创建了文档,示例文件甚至是视频教程。大部分培训都是内部的,很多的高级美术师和主美来到顽皮狗,在一周或更多的时间里来教会他们如何使用这些工具。
  • 在下面图片中你可以看到由中国的工作室原力动画( Original Force)制作的一组武器。
  • 顽皮狗自己的美术师也做了大量的培训,他们完全接受了新的工作流程。顽皮狗的大多数美术师都在不同的方面使用着新的工具。
  • 角色和道具小组开始使用Substance Painter
  • 团队在发掘新工具时发现了很多有意思的事情。例如,一个工具设计来创建沥青上的裂痕的Texture,实际创建出来的却是一个并不需要的完整的Texture。
  • 相同的节点可以使用不同等级和上下文,得益于工具提供的大量变化和灵活性。
  • 通过合并节点,模板可以用于不同的材质,比如鹅卵石和木头。也可以根据场景的需要在外观上制作或清除损伤。
  • 有相当多的环境展示是用Substance制作的材质,在E3的演示中,有80%的Texture使用了Substance。
































































    




















GDC 2016 神秘海域4中使用Substance制作Texture的更多相关文章

  1. Marza Gift for GDC 2016

    这个帖子还是用中文写了,主要是面向国内. 这是一个趋势,就是基于UE.Unity这些日趋完善的游戏引擎以及编辑器制作便宜的3D动画.国内有<超黑学院>这种为代表,还有其他许多国漫,勉强能耐 ...

  2. 在 SharePoint Server 2016 本地环境中设置 OneDrive for Business

    建议补丁 建议在sharepoint2016打上KB3127940补丁,补丁下载地址 https://support.microsoft.com/zh-cn/kb/3127940 当然不打,也可以用O ...

  3. 如何利用excel中的数据源制作数据地图

    关于这个问题,制作数据地图的方法已不新奇,总体来说有这么几类方案: 一类方案:直接在excel里制作 优势:个人小数据量应用较为方便简单 缺点:需要熟悉VBA,且更强大的功能对VBA水平要求较高 1. ...

  4. linux/OSX中“DD”命令制作ISO镜像操作系统安装U盘

    linux或者OS X系统中,使用“dd”命令可以直接在终端命令行模式下,制作ISO镜像的系统安装盘. 一.linux系统以centOS7为例. sudo dd if=镜像路径 of=USB设备路径 ...

  5. Unity3d中使用摄像机制作实时显示小地图

    Unity3d中使用摄像机制作实时显示小地图,以之前的tank为例.开始制作之前场景中物体如图. 开始制作,步骤1:新建一个camera及一个plane.对齐位置,将camera改名为camera_U ...

  6. 微软在Build 2016开发者大会中发布 “认知服务”,牛津计划有正式名字啦!

    2016年3月30日:微软在Build 2016开发者大会中发布“认知服务”. 在Build 2016开发者大会中,微软发布了新的智能服务:微软认知服务(Microsoft Cognitive Ser ...

  7. unity中的动画制作方法

    Unity中的动画制作方法 1.DOTween DoTween在5.0版本中已经用到了,到官网下载好插件之后,然后通过在项目中导入头using DG.Tweening;即可. 一些常用的API函数 D ...

  8. 使用cocos2d-x制作 Texture unpacker

    使用cocos2d-x制作 Texture unpacker 没错,就是unpacker. 在大多数游戏包里面,可以找到很多纹理图集,他们基本上是用texture packer制作的,有plist文件 ...

  9. iOS开发中静态库制作 之.a静态库制作及使用篇

    iOS开发中静态库之".a静态库"的制作及使用篇 一.库的简介 1.什么是库? 库是程序代码的集合,是共享程序代码的一种方式 2.库的类型? 根据源代码的公开情况,库可以分为2种类 ...

随机推荐

  1. jquery之别踩白块游戏的实现

    转载请注明出处http://www.cnblogs.com/Wxtrkbc/p/5687112.html 前端学习要告一段落了,也没机会写什么像样的东西,然后无意中想起某人以前给我玩了一下别踩白块的游 ...

  2. 使用javascript的stack数据结构,实现进制转换

    function Stack() { var items = []; this.push = function(element){ items.push(element); } this.pop = ...

  3. hdu 2594 Simpsons’ Hidden Talents KMP

    Simpsons’ Hidden Talents Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java ...

  4. 下拉更新列表Android-PullToRefresh

    项目地址:https://github.com/chrisbanes/Android-PullToRefresh

  5. 【转】cloudera新增用户权限配置

    转自 http://lookqlp.iteye.com/blog/2189119  .   配置起来较复杂,需要在有测试环境之后再进行配置测试.  之后是有上HUE的计划的,所以这个也是一定要做的. ...

  6. Oracle基本常用命令

    一.ORACLE的启动和关闭 1.在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a.启动ORACLE系统 oracle>svrmgrl ...

  7. swift1.2语言函数和闭包函数介绍

    swift1.2语言函数和闭包函数介绍 在编程中,随着处理问题的越来越复杂,代码量飞速增加.其中,大量的代码往往相互重复或者近似重复.如果不采有效方式加以解决,代码将很难维护. swift1.2语言函 ...

  8. Tri Tiling[HDU1143]

    Tri Tiling Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

  9. python 代码片段6

    #coding=utf-8 # python常用的列表list和字符串string # tuple元组,一个身有残疾的只读列表 s='python' print s[0] print s[-1] # ...

  10. python 代码片段2

    #coding=utf-8 # python没有花括号.我们用对齐来代替括号:通常是四个空格(任意数目的空格货tab也都可以) # python 注释用 # # python不需要像其他语言那样需要首 ...