unity3D游戏开发八之天空盒

来源:互联网 发布:sybase数据库厂家 编辑:程序博客网 时间:2024/04/28 00:19

Unity中的天空盒实际上是一种使用了特殊类型Shader的材质,该种类型材质可以笼罩在整个游戏场景之外,并根据材质中指定的纹理模拟出来类似远景,天空等的效果,使游戏场景看起来更完整。

依次打开菜单栏Assets->Import Package->Skyboxes,如下图:


为项目工程导入Skyboxes.UnityPackage,导入时会弹出Importing package对话框,对话框内会列出资源包中的所有内容,如下图:


资源被导入后,资源包中包含9个天空盒,如下图:


在Unity中,天空盒的使用方法有两种,一种是在Unity中Render Settings(渲染设置)里进行指定,这种方法是针对游戏场景的,简单地讲,就是在同一个游戏场景中,无论使用哪个摄像机对象,天空盒都保持不变,并且该方式指定天空盒可以在Scene视图中直接显示。

依次打开菜单栏中的Edit->Render Settings选项,在Inspector视图中会显示出Render Settings的参数面板,单击Skybox Material项右侧的圆圈按钮,在弹出的Select Material对话框中为游戏场景指定天空盒材质,如下图:


另一种方式是为摄像机对象添加天空盒组件,然后在天空盒组件中进行指定,这种方法只针对摄像机本身,简单地讲,就是在同一个游戏场景中,如果切换摄像机,天空盒会随之变换,为摄像机指定的天空盒优先级会高于在渲染设定中指定的天空盒。

选中摄像机对象,依次单击菜单栏中的Component->Rendering->Skybox选项,为摄像机对象添加天空盒组件,如下图:


然后照上面的方式添加天空盒材质,在Scene中看不见,所以我们点击Game视图,如下图:


除了skybox资源包中提供的天空盒外,Unity还支持用户自制天空盒材质,在制作天空盒材质之前,要准备6张图片纹理,分别用于贴在天空盒材质的前、后、左、右、上、下等6个面上。图片可以通过软件生成或拍照等方式获得,需要将其处理成无缝连接的效果。

我们先准备好6张纹理图,然后依次打开菜单栏Assets->Create->Material,创建一个材质,在右侧的属性里点击shader下拉列表里选择RenderFX->Skybox,如下图:


单击Front(+Z)项右侧纹理预览窗中的Select按钮,在弹出的Select Texture对话框中选择相应的纹理,如下图:


依次打开菜单栏中的Edit->Render Settings选项,在Inspector视图中会显示出Render Settings的参数面板,单击Skybox Material项右侧的圆圈按钮,在弹出的Select Material对话框中为游戏场景指定刚才创建的天空盒材质,如下图:


仔细观察天空盒的效果,可以发现在天空盒的转折处又明显的接缝,这是由于纹理的Warp Mode(循环模式)设置方式造成的,将该纹理的Warp Mode设置为Clamp方式就可以了,如下图:


操作完成以后,可以发现,天空盒转折处的接缝以及完全消失

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

0 0