unity学习笔记【使用2d背景】
来源:互联网 发布:一千左右机械键盘 知乎 编辑:程序博客网 时间:2024/05/01 23:15
很多游戏的背景是2d位图,下面这个方法还是挺有用的。
做法如下,来自这里
创建一个新的摄像机,取名为”Background Camera”
创建一个新的GUI贴图,取名为”Background Image”
单击Background Image的监视器面板的”Layer”下拉按钮,创建一个新的层,取名为”Background Image”
设置好贴图Background Image的大小和位置,同时将它的层设定为“Background Image”
选中Background Camera,对它的一些属性进行这样的操作:取消勾选Flare Layer和Audio Listener,设定清除标志为Solid Color,设定深度为-1,先将Culling Mask设为nothing,然后设为Background Image
选中主摄像机,设置清除标志为Depth Only,将它的Culling Mask里面的Background Image取消勾选
到此为止,即设定了一个屏幕的背景贴图。这里先将背景相机的清除标志设置为Solid Color,那么该相机绘图后的空白区域就会填充背景色,让后通过设置Culling Mask使其仅仅显示层”Background Image”,也就是说背景摄像机仅仅绘制背景贴图,空白部分用背景色填充。然后主摄像机设置Culling Mask使其不绘制背景贴图,并且将清除标志设置成Depth Only,因为背景相机的深度为-1,那么主相机的深度就为0,背景相机先进行绘制,然后主相机进行绘制,主相机绘制出来的不透明的部分会完全覆盖在前面层级相机的图像上,也就是说主相机的绘制结果会直接覆盖到背景贴图上,这就达到了屏幕背景贴图的效果。
假如要进行满屏显示的话,手动调整背景图的大小显然是不实际的,应该使用代码
backgroundGUITexture.pixelInset.width = Screen.width;backgroundGUITexture.pixelInset.height = Screen.height;backgroundGUITexture.pixelInset.x = 0;backgroundGUITexture.pixelInset.y = 0;
但是由于程序运行的时候可能分辨率会发生改变,所以前面的两句应该设置成和分辨率相关的大小
backgroundGUITexture.pixelInset.width = Screen.currentResolution.width;backgroundGUITexture.pixelInset.height = Screen.currentResolution.height;
- unity学习笔记【使用2d背景】
- Unity学习笔记-2D横版游戏中的背景移动
- Unity 2D背景滚动
- unity 2D 游戏背景无线循环简单使用
- 使用Unity开发2D游戏笔记
- Unity 3D 学习笔记
- Unity 3D 学习笔记
- Unity 3D 学习笔记
- Unity 3D 学习笔记
- Unity 3D 学习笔记
- Unity 3D学习笔记
- Unity 3d 学习笔记
- UNITY 2D学习笔记(一):Sprite
- UNITY 2D学习笔记(二):C#脚本编写
- 【Unity 3D】学习笔记四十:射线
- 【Unity 3D】学习笔记四十一:关节
- Unity 3D 学习笔记(1)
- unity 3d数学基础知识学习笔记
- readonly 和 disable 在表单提交时候的区别
- java.util-学习(浏览)
- apple apns python client
- 关于IIC的一些备忘
- 176532版本webkit中RenderObject类结构
- unity学习笔记【使用2d背景】
- [sqoop]导入大表的异常
- iOS7获取UUID以及转换MD5
- 怎么使float保留两位小数或多位小数*如何将整数 int 转换成字串 String
- EXT.NET GridPanel 靠右显示,字体颜色,千分位
- 超文本标记语言--Html
- oracle 索引不能使用深入解析
- CSS3圆环倒计时效果
- Android EditText的属性