【译】BLACKSMITH:可执行版本、资源包、工具集和着色器

发表于2016-02-19
评论5 3.9k浏览

原文地址: http://blogs.unity3d.com/2015/06/24/releasing-the-blacksmith/

原文作者未做版权声明,视为共享知识产权进入公共领域,自动获得授权


   我们之前允诺过会发布TheBlacksmith实时短片裡用到的资源和项目定制的工具集与着色器。现在,我们就将他们一并奉上。

  首先,你可以下载这个DEMO的可执行版本,下载地址:http://democontent.unity3d.com/b ... 4_0-00-06.05%202.7z
  同时,为了方便大家下载,项目的资源包和一些项目定制的技术被划分为两个主要的包:The Blacksmith – 角色和环境包。
  接下来是每个包的具体信息,同时对我们将对所做的一些特殊选择做出解释。
  我们力争不仅仅是发布一些文档式的材料,而是给出一些对Unity用户来说真正有用的东西。我们希望它,被大家运用到自己的项目中去。
  先让我来回答一个之前发布项目材质时大家问的最多也是最关心的问题吧:是的,你可以对我们在此发布的任何资源进行任何形式的运用,哪怕是将它们用到商业项目当中。
  我们采用了标准的Asset Store 授权。如果你觉你通往成功的道路上,我们所做的工作真的有为您带来帮助的话,那将是我们最大的荣幸。

可执行版本
我们添加了一些简单的界面来控制DEMO的播放:
你可以通过拖拽滑条来改变播放的进度

点击 播放/暂停 按钮或是用户界面之外的任意位置,都会使得DEMO在播放或暂停的状态间切换。

暂停播放然后移动指针可以实现小幅的环视。

一个用于静音的按钮。

你可以通过一个选项菜单在四种预设的画质中做出选择。

低画质——在那些不能够运行高设置的机器上建议采用此选项。

中等画质——在高端笔记本电脑和低端PC台式机上推荐采用此选项。它被设定为在一台(Quad Core i7 2.5GHz的处理器 + GeForce GT 750M显卡的)笔记本上以720P的解析度跑出30/秒。

高画质——在多数的PC台式机上推荐采用此选项。它被设定为在一台(Core i7 4770处理器 + GeForce GTX 760显卡)的台式机上以1080P的解析度跑出30/秒。

超高画质——如果你有一块比GTX 760更加强劲的显卡。它被设定为在你所用的平台上跑出比30/秒更高的帧率。

‘THE BLACKSMITH – 角色包
这个项目包含:

Blacksmith 角色

维京挑战者角色

毛发着色器

皱纹贴图

独特的角色阴影技术

平面反射

下载‘THE BLACKSMITH – 角色包
下载地址:https://www.assetstore.unity3d.com/#!/content/39941
Blacksmith
和维京挑战者
  我们将每个角色都放在一个单独的场景中。重置了维京挑战者的皮肤,使他变得更适合被添加到除了影片之外的游戏场景中去。非常欢迎大家在其他的环境或者实验中使用我们的维京挑战者。若你想让他的动画更加美观的话,那你可能还有进一步的工作要做。
  我们在此包含了两组简单的动画待命行走

 

 

  在这个包里你还可以找到我们的另一位主角—Blacksmith
  我们并没有对他的皮肤进行任何重制:因为他要比维京挑战者复杂很多,所以那样做的话也会花费我们更多的时间。
  我们在此包含了原始的3D角色资源,你可以通过任何方式自由使用。

 

  我们同时包含了两个角色原始的全尺寸4K纹理。
  在我们的项目中,我们实际上用了更加小巧的版本——2K或者更低一些。
  角色的模型和纹理分别由Jonas ThornqvistSergey Samuilov创作。

  

毛发渲染
  为了实现角色头发上的这些各向异性的高光,我们决定创建一个单独的毛发着色器。
  作为补充,我们还添加了一个用于计算头发环境光遮蔽的组件,并设计了一种多通道渲染的方法来避免半透明毛发面之间在层叠次序上的错误。
  下载到毛发包和一个对应的示例场景:https://www.assetstore.unity3d.com/#!/content/39945
  readme文件中含有毛发着色器的细节介绍,如果你想将它运用到自己的项目中,请在对它进行配置前阅读readme文件以获得更多信息。


皱纹贴图
  为了在The Blacksmith 中赋予角色更多的生命力,我们专门设计一个组件,它能够基于维京挑战者面部形状融合的动画影响因子来渲染皱纹贴图
  这个渲染组件会在一个屏幕外的预渲染通道中融合标准贴图和遮罩贴图,然后将所得的而结果喂送给标准着色器,以替代在材质中已分配的标准贴图和遮罩贴图。
  你可以从这里(https://www.assetstore.unity3d.com/#!/content/39924)获取到一个独立包,并参考之前一篇专门介绍皱纹贴图的博文(blogs.unity3d.com/?p=27200)

特殊的角色阴影
  我们希望确保我们的角色在近距离拍摄过程中能够拥有柔软、高分辨率的阴影。
  同时,也希望他们的影子在覆盖场景的其余景物时也拥有足够的分辨率。
  为了实现这一点,我们专门设计了一种给一组对象添加独特的阴影的方法。
  独特阴影包到也可以从Asset Store(https://www.assetstore.unity3d.com/#!/content/39921)下载到,同时也有一篇专门介绍它的博文(blogs.unity3d.com/?p=27179),你可以在那里了解到更多的细节。

平面反射
  在The Blacksmith中的平面反射,通常呈现为一个能够反射光线的平静水面。
  液面的扭曲效果一经渲染,我们便会将反射图像卷积到目标反射纹理的每一个mip层级。
  在这个卷积运算的过程中,我们根据反射的深度信息来迫使那些接近反射面的像素之间拥有更为清晰的联系。
  这是为了模拟非完美反射情况下的光路效果。
  卷积运算的结果是一张反射贴图,我们可以用它来替换内置反射探测器的立方贴图。它能够根据材质的粗糙程度来支配不同mip层级中的采样。
  我们修改了一个标准着色器,使它通过着色器关键字触发,触发后从上述贴图动态地采样反射,而不是通过反射探测器的立方贴图来完成反射的采样。

 

环境包
  这个项目包含:铁匠铺、 外景、 大气散射、PaintJob 工具集(在任意表面上绘制植被)、植被系、遮罩混合着色器、经过定制的标准着色器、色调映射。
  你可以在一系列光照预设(按V键)以及第一人称视角/动画相机视角(按C键)之间来回切换。
  你可以从这里(https://www.assetstore.unity3d.com/#!/content/39948)下载’THE BLACKSMITH – 环境包。

铁匠铺
它看起来是这样的:

  

外景
  我们决定重新组织片中场景最初的外观,使其更适合游戏开发,以便大家能尽可能地用得上它们。
  我们尚来不及对这些场景进行进一步的处理。但如果情况允许你投入更多的精力到这些场景中的话,它们将很有可能在游戏开发的某些阶段帮上大忙。
  这就是我们为大家最终提供的场景外观。

 

  区别在于,在我们的短片中,我们是根据相机来组织环境排布的。
  如果你依然对这一点感到好奇的话,这里有一张原始项目中外围环境的场景总览截图可供参考。

 

  另外还有一些资源我们在短片场景中并没有用到,不过我们依然希望能和大家分享。你们将在项目中发现它们的踪迹。
  这个华丽的素材包几乎完全是由Plamen ‘Paco’ Tamnev一人创作的。同时,外围环境也由他负责搭建。

大气散射
  这个项目包含了我们所定制的大气散射解决方案。
  你能在这片博文中了解到更多细节:blogs.unity3d.com/2015/05/28/atmospheric-scattering-in-the-blacksmith/
  为方便大家研究,我们同时在Asset Store上传了一个单独的大气散射项目。
  项目下载地址:https://www.assetstore.unity3d.com/#!/content/39939
 


PaintJob 工具集
  这个小工具允许美术在任意的几何形体上绘制植被,不仅限于Unity地形哦。
  这是我们探索如何最大限度地利用好Unity内置地形工具的一个方法,同时,这么做也是为了实现我们在项目中的一项实际需求。
  非常欢迎大家从‘The Blacksmith – 环境包中将它分离出来,然后用到自己的项目中去。

植被系统
  我们希望The Blacksmith项目中的植被系统能够做到两件事情:
  我们希望它是柔软的、着色定制化的、支持动态全局光照的、能够和一切被认定为是地面的东西融洽结合并同时且能够兼容Unity地形之外的选项。
  PaintJob 工具集已经做到了后面两项,不过为了达成上述目标,我们仍然需要进行一些额外的定制。
  最终我们决定设计一个组件来捕捉PaintJob——或其他任何可被采集数据的手动的植被绘制系统——所产生的数据,并依此生成一些经过烘焙的植被网格。这样一来,渲染的支配权依然牢牢地掌握在我们自己的手中。
  别的不说,任意类型的自定义排序、重组织动态纹理中的光探测数据都将不在话下。


MaskyMixShader
  遮罩混合着色器是一个经扩展的标准着色器,顾名思义,它可以根据特定的遮罩标准混合一组额外的细节纹理。
  遮罩主要基于材质-指定的世界-空间方向,每个像素的法线都从基础法线图取样。它同时受到来自瓦片遮材质和网格的顶点色alpha通道(如果存在的话)的修正。
  最终,根据在材料中指定的掩蔽阈值,额外的细节层被一起混合。
  如果网格为遮罩提供了顶点alpha通道,那么也可以采用顶点色来处理细节层的反照。


Modified Standard Shader
  The Blacksmith运用了为数不多的定制化标准着色器。它们被用来根据我们的喜好调整事物,或是添加一些小的着色器特性。
  并不是所有的这些着色器都可以脱离这个项目运作,不过它们中的一些作为基于表面着色的标准着色器被包含在了这个项目中。
  这些修改通常是这样的:除专用纹理外还可以通过反照alpha通道取样,以平滑每个像素,或是增加了对任意材质剔除模式的控制,或是对全局反光的颜色、密度添加了额外的控制。

色调映射
  我们已在一篇早期博文(blogs.unity3d.com/2015/06/17/making-of-the-blacksmith-scene-setup-shading-lighting/)中说明了我们是如何在Unity中实现色调映射和颜色分级的。
  因为短片已经上映过了,色调映射也早已被一个Unity工程师团队重拾,并整合到Unity中。
  包内的高分辨率天空纹理未经修改直接来自NoEmotionHDRs (Peter Sanitra)(http://www.psanitra.com) / CC BY-ND 4.0http://www.creativecommons.org/licenses/by-nd/4.0/http://www。).
  以上就是我们为大家带来的分享。


我们带来了曾允诺的一切,而前方,新的冒险正在等着我们整装待发。
不论你以何种形式使用了我们的资源包,都希望你可以在论坛留言或者写邮件到demos@unity3d.com告诉我们,我们非常乐意知道有用户使用了我们所分享的资源。
若你有什么值得分享的好东西,也别忘了来我们的社区和大家分享。

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引