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. Solr的函数查询(FunctionQuery)

    作用 通过函数查询让我们可以利用 numeric域的值或者与域相关的的某个特定的值的函数,来对文档进行评分. 如何使用 这里主要有两种方法可以使用函数查询,这两种方法都是通过solr http 接口的 ...

  2. Phoenix实现用SQL查询HBase

    博客已转移,请借一步说话,http://www.weixuehao.com/archives/111 HBase,一个NoSQL数据库,可存储大量非关系型数据. HBase,可以用HBase shel ...

  3. EntityFramework中支持BulkInsert扩展(转载)

    前言 很显然,你应该不至于使用 EntityFramework 直接插入 10W 数据到数据库中,那可能得用上个几分钟.EntityFramework 最被人诟病的地方就是它的性能,处理大量数据时的效 ...

  4. LogBack sl4j 通过MDC实现日志记录区分用户Session[以Spring mvc为例]

    1.首先实现一个interceptor,在请求开始的时候MDC put一个Session标志,interceptor结束的时候remove掉   import javax.servlet.http.H ...

  5. Wcf for wp8 调试Wcf服务程序(四)

    1.要以管理员身份进行登录vs2012 否则会提示: 2.在wcf 服务程序上设为启动项 3.编译 运行你的wcf服务程序 点击 就出现wcftestclient.exe 客户端调试程序 双击点击Re ...

  6. wp8 --未找到与约束ContractName Microsoft.VisualStudio.Text.ITextDocumentFactoryService...匹配的导出

    今天打算用VisualStudio2012做一个js效果页面测试的时候,打开VS2012新建项目,但是并没有像之前那样顺利的创建页面,而是弹出了一个错误窗口. 我的系统是win8专业版 64位 ,同时 ...

  7. open(/dev/ietctl, O_RDWR) 参数含义(转载)

    这是文件I/O的常用函数,open函数,open函数用来打开一个设备,他返回的是一个整型变量,如果这个值等于-1,说明打开文件出现错误,如果为大于0的值,那么这个值代表的就是文件描述符.一般的写法是i ...

  8. ThinkPHP中where()方法的使用

    where方法的用法是ThinkPHP查询语言的精髓,也是ThinkPHP ORM的重要组成部分和亮点所在,可以完成包括普通查询.表达式查询.快捷查询.区间查询.组合查询在内的查询操作.where方法 ...

  9. Javac早期(编译期)

    从Sun Javac的代码来看,编译过程大致可以分为3个过程: 解析与填充符号表过程. 插入式注解处理器的注解处理过程. 分析与字节码生成过程. Javac编译动作的入口是com.sun.tools. ...

  10. jquery.validate.js使用说明——后台添加用户邮箱功能:非空、不能重复、格式正确

    重点内容为:  jQuery验证控件jquery.validate.js使用说明+中文API[http://www.tuicool.com/articles/iABvI3] 简单教程可以参考[jQue ...