一个天空盒是一个全景纹理,它在场景中所有的对象物体被绘制之后,并且它代表了天空或者其他远距离的景色。本文将阐述如何在Unity中使用天空盒
理解天空盒
天空盒是一个全景视图,分为六个纹理,表示沿主轴(上,下,左,右,前,后)可见的六个方向。如果天空盒被正确地生成,那么纹理图片的边缘将会被无缝地合并,在里面的任何方向看,都会是一副连续的画面。全景图在场景中所有其他对象物体之后被渲染,并且旋转以匹配Camera的当前方向(它不会随着相机的位置而变化,相机的位置总是被视为在全景图的中心)。因此,使用天空盒一种是将现实感添加到场景的简单方法,并且图形硬件的负载最小。
在Unity中使用一个天空盒
Unity在Standard Assets package中(menu: Assets > Import Package > Skyboxes)包含了一些高质量的天空盒,除此之外,你也可以从互联网或者自己用3D建模软件,去得到一系列全景图片。
假设你已经拥有六张天空盒,但是你也可以纹理图片,你应该正在将它们导入Unity的时候,将它们的Wrap Mode设置为Clamp模式而不是Repeat(如果你不这么做,图像的边缘将不会无缝地缝合)
天空盒本身实际上是这样一种类型材质,它使用了RenderFX子菜单下的其中一种Shader。如果你选择了Skybox shader,你将会看到如下图所示的样子,在Inspector面板有六张采样的贴图纹理。
天空盒的立方体Shader的工作原理与此类似,但是需要在一个cubemap(Assets > Create > Cubemap) 资源中添加纹理。cubemap需要六个纹理,这一点和天空盒材质的Inspector面板很像。
一旦被创建,你可以在Render Settings的Inspector面板(菜单: Edit > Render Settings),来将新生成的天空盒作为默认设置。你也可以为每一个摄像机重载天空盒,通过为摄像机的Skybox 组件指定一个新的天空盒。
网友评论