用于资源可视化及验证的Look Dev工具(实验)

Look Dev是一个基于HDR(高动态范围)图片的光照工具,您可以通过查看器检查并比较资源,以确保它们在各种光照条件下都能表现正常。

Look Dev是专为美术设计师制作的工具,适合纹理、建模、照明设计师,艺术总监、外包经理以及需要进行资源可视化及验证的视觉艺术风格相关人员。

Unity内置Look Dev工具简化了基于物理着色的项目中确保材质表现一致的过程。

103518relrd1urruvovn6lLook Dev是Unity实验性新功能,请查阅文档了解更多信息。

我们提供了各种光照示例帮助您使用该工具,创建了一组LatLong 8192×4096分辨率的HDR图片,共7张,分别是在世界各地拍摄的照片。您可以在Asset Store上获取这些图片。

Unity5中基于物理的着色器

什么是基于物理的着色呢?基于物理的着色(简称PBS)就是以某种方式模拟现实中材质和光照的相互作用。直到最近PBS才可以应用在实时图形渲染中。这种方法在需要光照和材质更加直观和逼真地协同工作的场合下优势非常明显。

基于物理着色的想法是创建一种友好的方式来实现在不同的光照条件下的逼真效果。它模拟光线在现实中的行为,而不是使用多个特定的模型来模拟,因为后者可能会在一些情况下失效。

为实现这种效果它要遵循物理原理,包括能量守恒(也就是物体反射出去的光量不可能超过所接收的光量),Fresnel反射(所有表面反射在掠射角处更加强烈),以及物体表面如何自我遮挡(几何术语)等。

Unity 5包含了若干标准着色器(Standard Shader),它们共同组成了一个完整的PBS光照明模型,且非常易于使用。标准着色器(Standard Shader)主要是针对硬质表面(也就是建筑材质)而设计的,可以处理大多数现实世界的材质,例如石头、陶瓷、铜器、银器或橡胶等。但它也可以非常出色地处理一些非硬质表面的材质,例如皮肤、头发或布料等。

 跟”我的”游戏内容有何关联?

需要注意的是:基于物理的着色器并不一定意味着“真实”,单纯地施加限制也不一定就能完全决定游戏表现。基于物理的着色器适用于多种不同的美术风格和美学效果,例如从精确扫描(ACCURATELY SCANNED),到传统拍照(TRADITIONALLY PHOTOGRAPHED),再到手工绘制(HAND-PAINTED)的各类纹理。

对于编写无需特殊光照表现的2D游戏的人们来说,PBS不是必需的选项。但是,如果你想玩转PBS,即基于STANDARD SHADER来创建出酷炫的效果,在这里我们将提供一些有用的使用经验。

一窥究竟
当我们谈及Unity5中的光照时,不妨引入两个概念,即Context和Content:Context是指Unity原生的一些内容;而Content则是用户创造的内容(类似于UGC)

关于CONTEXT
当给一个对象添加光照时,了解该对象周边的环境是非常重要的。Unity的先前版本中已经提供了一些经典的辅助工具,例如光照探头,它能够对某个位置上的漫反射光照进行采样。而在Unity 5中,我们将提供用于描述周围环境信息的更加有效的方式。

纵览全局
HDR信息是PBS中一个非常重要的元素。它能够更加有效地描述环境信息,例如,太阳的明亮度可能会超过蓝天10倍。Unity5中提供了一个原生的通道来处理HDR格式的文件,你可以直接导入后缀为.hdr和.exr的图片资源。

添加发光效果

反射探头(Reflection Probe)表达了某个确定位置的反射情况。Unity5的场景中会默认包含一个反射探头(你可以依次点击Edit->Scene Render Settings->Default Reflection来查看它)。你可以对其设置进行修改,或者干脆依赖于天空盒且不设置具体位置。

当然,你也可以创建自己的反射探头(Reflection Probe)。只需依次点击GameObject->Light->Create Reflection probe即可.

然后你就可以进行如下操作:

你可以将反射探头(Reflection Probe)拖动到场景中的任意位置,它就开始主动获取周围环境的光照信息了。
每个反射探头(Reflection Probe)都有其作用域(就是探头周围显示的黄色包围盒)。作用域内的物体将从反射探头上获取其反射信息。

更多的逐像素着色:
由于Unity5提供的动态全局光照特性,光照探针也包含了间接的光线反射信息,并通过标准着色器作用于每个像素。这样,不管光线是直接或间接地作用于法线贴图,它的效果看起来都会更棒。

   

动态全局光照
全局光照是PBS支持环境中Context层面的重要组成部分。为了对unity5中的全局光照有一个全面的理解,最好的方法是查看我们发表的有关动态全局光照的博客文章

颜色空间
PBS和标准着色器都工作在线性和Gamma模式。HDR编码、反射探针的数据以及其他Content都会与你选择的颜色空间相适应。但无论何时,为了达到 最佳的(最让人舒适的)视觉效果,你应该尽可能保持在线性颜色空间。

内容
内容是你直接创建的数据,标准着色器确实针对Unity中传统的材质工作流程进行了的一些改进,希望你能接受并喜欢。

材质编辑器
标准着色器还引入了一个新的材质编辑器,它使PBS的材质编辑工作比以前的非PBS材质更简单。

新编辑器更加精简,但却提供了材质的所有可能选项。在新编辑器中,我们不需要选用不同的着色器来改变纹理通道;不会再出现 “texture unused, please choose another shader” 这样的提示;不再需要通过切换着色器来改变混合模式。

你会有一些备选的纹理通道,无需强制使用,任何一个闲置通道的相关代码都会在编译时被优化掉,因此不用担心效率问题。unity会根据你输入到编辑器中的任何数据来生成正确的代码,使它以最高的效率运行。

小贴士:你可以用ctrl+点击纹理的方式预览大图,并且还可以分别查看颜色和Alpha通道。

   

按你预想的方式点亮一切!
PBS当然和Unity5的动态全局光照工作流程是兼容的,全局光照系统完全了解标准着色器的工作方式,并在渲染场景时将其考虑在内。

PBS和全局光照的合璧,使得快速改变整个场景的光照条件变成可能,效果也更逼真。

对下图中的这个小镇,你会注意到它和本文开头的那幅图有不同的光照设置。静态物体看起来更有质感和层次感,整个场景错落有致。这正是PBS的魔力所在。一旦材质加以PBS方式构建,它就会变得和光照条件完全独立,从而大大减少工作量!

这就是我们喜欢它的理由,也是我们认为你们也会喜欢它的理由!

最后告诉大家,上面的场景将会在Unity5.0发布时在Asset Store上同时发布。

原文标题:PHYSICALLY BASED SHADING IN UNITY 5: A PRIMER
原文地址:http://blogs.unity3d.com/2014/10 … n-unity-5-a-primer/
感谢Unity官方中文社区翻译组成员:“小七、子程” 对本文翻译所做的贡献。
转载请注明来源:Unity官方中文社区 (unitychina.cn)。请勿私自更改任何版权说明信息

Unity即将支持编写原生的Metal着色器

Metal是Apple于WWDC 2014上推出的针对Apple生态系统的轻量级底层图形API,目的是解决其它图形API由于兼容各型硬件而导致系统开销过大的问题。Metal提供了非常底层的API,能够以非常低的消耗来访问GPU,支持多线程处理图形命令,完全释放了移动平台硬件的图形渲染潜能。

Unity自5.0开始就已集成Metal API,打包iOS平台可选择启用Metal API。经过两年的打磨,现在的Metal功能更强大,图形计算能力更强,同时支持iOS、OS X(即将更名为macOS)和tvOS系统,在WWDC 2016上新推出的Metal Tessellation更是振奋人心。

Tessellation是一项用于增强并润色几何体表面细节的技术。Unity也通过与Metal团队展开合作,利用该项新技术在Unity中实现了具有惊人细节的Demo。该Demo可以流畅运行于iOS平台,Demo画面截图如下:

025958ywnax2igf22fq0n2
025958xhx4wxt282fzir2p
025958jcjuf7j6ee0uhu70
025959t9va7c567kurv7vc
025959x1dvzhudun71nlg8Unity与Apple合作让Metal渲染发挥最大的潜力,同时也让Unity开发者可以感受到Metal的无限魅力。Unity将于年底支持Metal Tessellation、Metal Compute等特性,并且支持直接在Unity中编写原生的Metal着色器。开发者利用Metal Tessellation技术,可以很容易在Unity中实现可以与主机游戏画面媲美的移动平台游戏。