赞
踩
Unity中常见的背景设置为固定颜色或者天空盒,如下图所示:
天空盒可以设置背景材质,但是背景跟跟随摄像机镜头的变化而运动,不能做到固定下来
使用两个摄像机,一个固定观察指定的图片,另一个观察三维场景,通过分图层来把两个摄像机的内容叠加显示在Game视图中
新建摄像机
新建一个摄像机,命名为BackgroundCamera
新建Ui图片
新建一个Canvas,命名为BackgroundCavas,其下再新建一个UI Image,命名为BackgroundImage
新建图层
先任意选中一个对象,新建一个Layer,
命名为Background,
并且把刚才新建的相机,Canvas和Image都放到这个Layer中
设置相机属性
先设置背景相机(BackgroundCamera),
再设置主相机,在Culling Mask中去掉Background图层
设置背景图片和背景相机的关系
选中BackgroundCanvas,设置其属性
注意Render Mode选择 Sceen Space - Camera, 然后Render Camera选择BackgroundCamera
设置背景图片
把图片类型设置为平铺,并且把图片的长宽设置为足够大(超出屏幕分辨率范围即可)
方法二:
建一个背景canvas,设置好背景,canvas的RenderMode调成ScreenSpace-Camera,然后把主摄像机赋值到RenderCamera即可。
注意此方法在多场景叠加下需要修改一下,在叠加的场景上得到这个背景canvas,然后再叠加场景中某脚本start方法中加入以下代码:
- private Canvas BGcanvas;
- // Use this for initialization
- void Start () {
- //得到主场景的背景canvas
- BGcanvas = GameObject.Find("BGCanvas").GetComponent<Canvas>();
- BGcanvas.worldCamera = Camera.main;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。