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