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. php 数组定义、取值和遍历

    <?php //常用函数 //生成随机数 //echo rand(1,10); //两个参数来确定随机数的范围 //日期时间函数 //var_dump(time()); //取当前时间的UNIX ...

  2. 关于Java异常和错误的几个问题

    1.Java中什么是Exception? 异常是Java传达给你的系统和程序错误的方式. 在java中,异常功能是通过实现比如Throwable,Exception,RuntimeException之 ...

  3. 《Java程序性能优化》学习笔记 程序优化

    这一部分主要介绍代码层的优化.了解如何编写高效而精炼的代码,正确的使用函数方法.1.字符串优化处理Java语言中,String对象可以认为是对char数组的眼神和进一步封装.它主要由3部分组成:cha ...

  4. jquery easy ui 1.3.4 Tree树形菜单(9)

    9.1.创建树形菜单 <ul id="tt" class="easyui-tree"> <li><span>第一级</ ...

  5. hdu 3183 贪心

    题意:给一个数字,删掉其中的若干位,使得最后的数字最小 就是每次删除数的时候都是删掉第一个比右边数大的数 利用双向链表模拟 #include<cstdio> #include<ios ...

  6. git提交报异常,fatal: The remote end hung up unexpectedly

    转自:http://liucanwen.iteye.com/blog/2021601 早上提交代码到 oschina代码库时,报了这个错误: fatal: The remote end hung up ...

  7. NDK编译生成so文件

    1 首先加载项目

  8. Android开发之日历控件实现

    Android开发之日历控件实现:以下都是转载的. 日历控件 日历控件 日历控件 日历控件

  9. 一个自动生成插入与更新SQL语句的小类

    无需关注字段类型,只要传入字段名与值的集合,自动生成Ms sql server SQL语句.详见Test()方法 using System; namespace Fan.iData.SqlUtilit ...

  10. Scala中的Implicit(隐式转换,隐式参数,隐式类)

    文章来自:http://www.cnblogs.com/hark0623/p/4196452.html  转发请注明 代码如下: /** * 隐式转换 隐式参数 隐式类 */ //隐式转换 class ...