Skyshop Image-Based Lighting Tools的介绍与基本操作

来源:互联网 发布:工厂unity3d场景 编辑:程序博客网 时间:2024/05/27 02:31

http://www.narkii.com/club/thread-300367-1.html




31.jpg 

Skyshop这个插件发布到商店后就引起了许多用户的关注与热烈讨论,其中最大的原因是在Unity里面一直缺乏很完善的环境系统,大多数的情况下必须使用天空盒与默认的光源来模拟场景内的光影效果,而这种情况将在Skyshop的诞生后有了巨大的改变,接下来的介绍里面,我们将通过一个案例演示来见识Skyshop所带给我们的视觉冲击。

首先在论坛内下载教程内使用的插件并进行安装,
Skyshop Image-Based Lighting Tools下载位置:
http://www.narkii.com/club/thread-300086-1.html

1.jpg 

在安装资源包之后,需要注意的是里面附带了一个Example的压缩文件,必须要先解压这个文件后才能看到演示的案例与一些HDR的专用材质,另外在Marmoset目录里面也提供了一些与背景交互用的脚本可作为参考。 

2.jpg 

打开Example里面的摩托车案例文件,按下Play进行测试,我们发现到摩托车在转动时,表面的材质呈现出了非常好的光影效果,这个是因为Skyshop使用了IBL的光照投影技术,如此将使得场景的拟真度大幅提升。

3.jpg 

选择Sky0-4进行不同天空背景的切换,同时可以看到摩托车在不同背景下的表面质感也会产生很大的变化。

4.jpg 

如图所示,在不同的环境背景下所展示出来的光影效果也截然不同,这时我们需注意的是场景内的灯光并没有任何的改动与颜色的变化。

5.jpg 

7.jpg 

选择任一种天空背景(Sky0-4),在Inspector面板里显示出背景的组合结构,其中包含了Skybox,Diffuse Output与Specular Output几种图片的类别,而这几种类别的来源正是由一张HDR的文件所产生的。

8.jpg 

在图片的下方提供了几种参数的设置,主要是用来改变整体的光源强度与物件的表面高光,这里我们直接滑动调整设置即可看到视图内的场景变化。

9.jpg 

如图所示,在参数的影响下,场景内背景与摩托车的表面均可呈现出不同的光影效果。

10.jpg 

11.jpg 

接着我们测试一下模型导入Skyshop环境后的效果,如图,这是在3dsmax里面制作好的角色模型,同时在模型上面已经具备了表面材质,高光与法线贴图的纹理。

14.jpg 

这是模型使用的Diffuse贴图
15.jpg 

这是模型使用的Normal贴图
16.jpg 

这是模型使用的Specular贴图
17.jpg 

将模型与贴图导入案例场景内,这时我们看到的模型表面所呈现的光源明显的偏暗,并且与预期的效果有甚大的落差,原因是什么呢?

18.jpg 

会出现这个问题的主因在于Shader的设置没有调整到Skyshop模式,所以解决的方式很简单,选角色的材质,在Shader栏目里面选择Marmoset > Bumped Specular IBL,然后在Diffuse,Specular,Normal Map栏位里分别指定对应的贴图文件。

19.jpg 

20.jpg 

注意,如果是打算将Skyshop应用在手机应用,那么在选择Shader的时候需要切换到Marmoset > Mobile指定材质的对应类型。

指定正确的Shader模式后,现在场景内的模型已经接受到环境的光源,我们可以尝试转动相机来观看环境与模型表面光源的变化。

21.jpg 

如图,这是模型在不同环境的影响下所表现出来的效果。

23.jpg 

24.jpg 

25.jpg 

另外我们关心的一个问题是,环境所使用的背景图是如何指定到场景里面?需要采用哪种格式的文件?这个将是在下一个教程里面我们主要研究的课题。

32.jpg 

在此之前,我们需要先了解一下HDR的基本资料与如何取得的问题?
以下的网站里面将可以帮助我们找到丰富的图片资料与HDR格式的详细说明:

http://dativ.at/lightprobes/
http://gl.ict.usc.edu/Data/HighResProbes/
http://www.openfootage.net/?cat=15
http://www.hdri-hub.com/

0 0
原创粉丝点击