天空盒子
一般的3D游戏都会有着北京百年一遇的蓝天,让人惊叹不已。其实天空这个效果没有什么神秘的只需用到天空盒子这个组件就行,可以将天空设想成一个巨大的盒子,这个盒子将整个游戏视图和所有的游戏元素包含其中。在unity中制作天空盒子非常方便,只需要像设置其他组件一样设置下就行了。在制作天空盒子之前,我们需要搜集一些天空的贴图,不过,unity很方便的为开发者提供了天空盒子的资源包。首先在project视图中点击鼠标右键,然后选择import package——skyboxes即可添加天空盒子的资源包。
在资源包里有9个天空资源,因为天空盒子是立方体的,所有就需要6个面的贴图,如图选择第一个,在右侧inspector视图中就会显示 天空盒子6个面的贴图:
skybox组件
因为摄像机的正面是游戏显示的内容,所以在摄像机上绑定一个skybox组件用来显示天空盒子贴图。首先在hierarchy视图中选择摄像机对象,然后在导航菜单栏中选择component——rendering——skybox。即可将盒子添加到摄像机对象中。接着在盒子组件中设置custom skybox(自定义天空盒子)贴图资源,点击右侧的按钮,在弹出选择天空盒子贴图的窗口中选择一款贴图添加,然后运行,美丽的天空就会出现在你的视线中。
设置完后,调整下摄像机的位置天空效果如下图:
需要注意的是:如果一个游戏里有一个摄像机对象,这样添加天空盒子是没有问题的,但有多个摄像机对象,在摄像机之间切换后,天空盒子的贴图位置就会出现问题。因为贴图资源只是相对于当前摄像机对象的。那怎么解决多个摄像机中天空盒子的问题咧?看下文。
在场景中添加天空盒子
在游戏场景中直接设置盒子,可避免多个摄像机设置盒子切换后贴图显示问题。首先在导航菜单中选择edit——render setting。打开渲染设置界面,在该界面中的skybox material(天空盒子材质)选项中设置天空的材质,然后将其直接应用与游戏场景中。如此添加就可以避免问题,因为这将是真正的盒子放在游戏界里了。运行后:
自行添加天空盒子材质
开发者可以自行添加盒子的材质已满足不同的需求,首先某材质中,在shader(着色器)下拉列表中选择renderfx/skybox,然后使用贴图资源将六面贴图赋值填充后即可。
【Unity 3D】学习笔记三十三:游戏元素——天空盒子,布布扣,bubuko.com