Unity3D中cullingMask属性作用解析
2014-09-18 22:43
453 查看
2.1.3 cullingMask属性:摄像机按层渲染
基本语法:public intcullingMask { get; set; }
功能说明:此属性用于按层(即GameObject.layer)有选择性的渲染场景中的物体。通过cullingMask可以使得当前摄像机有选择性的渲染场景中的部分物体,默认cullingMask=-1即渲染场景中任何层物体,当cullingMask=0时不渲染场景中任何层,若只渲染分别位于2、3、4层的物体则可以使用代码cullingMask=(1<<2)+(1<<3)+ (1<<4)来实现。
实例演示:下面通过实例演示属性cullingMask的使用。
在这段代码中,在OnGUI方法中定义了5个不同的Button来渲染不同层的物体。当然,在使用cullingMask来有选择性渲染物体之前,需要先对场景中的物体的层次进行设置。另外需要注意在渲染多个层时的代码写法,如代码中所示,在渲染第8层和第0层时,且勿将代码写成camera.cullingMask = 1 << 8+1或camera.cullingMask = 1+1<<8的形式。具体的渲染情况请读者自行运行程序查看。
本文章内容摘自图书《Unity API解析》,源码下载地址:http://www.ituring.com.cn/book/1474
基本语法:public intcullingMask { get; set; }
功能说明:此属性用于按层(即GameObject.layer)有选择性的渲染场景中的物体。通过cullingMask可以使得当前摄像机有选择性的渲染场景中的部分物体,默认cullingMask=-1即渲染场景中任何层物体,当cullingMask=0时不渲染场景中任何层,若只渲染分别位于2、3、4层的物体则可以使用代码cullingMask=(1<<2)+(1<<3)+ (1<<4)来实现。
实例演示:下面通过实例演示属性cullingMask的使用。
using UnityEngine; using System.Collections; public class CullingMask_ts : MonoBehaviour { void OnGUI() { //默认CullingMask=-1,即渲染任何层 if (GUI.Button(new Rect(10.0f, 10.0f, 200.0f, 45.0f), "CullingMask=-1")) { camera.cullingMask = -1; } //不渲染任何层 if (GUI.Button(new Rect(10.0f, 60.0f, 200.0f, 45.0f), "CullingMask=0")) { camera.cullingMask = 0; } //仅渲染第0层 if (GUI.Button(new Rect(10.0f, 110.0f, 200.0f, 45.0f), "CullingMask=1<<0")) { camera.cullingMask = 1 << 0; } //仅渲染第8层 if (GUI.Button(new Rect(10.0f, 160.0f, 200.0f, 45.0f), "CullingMask=1<<8")) { camera.cullingMask = 1 << 8; } //渲染第8层与第0层 if (GUI.Button(new Rect(10.0f, 210.0f, 200.0f, 45.0f), "CullingMask=0&&8")) { //注:不可大意写成camera.cullingMask = 1 << 8+1;或 //camera.cullingMask = 1+1<<8 ;因为根据运算符优先次序其分别等价于 //camera.cullingMask = 1 << (8+1)和camera.cullingMask = (1+1)<<8 camera.cullingMask = (1 << 8) + 1; } } }
在这段代码中,在OnGUI方法中定义了5个不同的Button来渲染不同层的物体。当然,在使用cullingMask来有选择性渲染物体之前,需要先对场景中的物体的层次进行设置。另外需要注意在渲染多个层时的代码写法,如代码中所示,在渲染第8层和第0层时,且勿将代码写成camera.cullingMask = 1 << 8+1或camera.cullingMask = 1+1<<8的形式。具体的渲染情况请读者自行运行程序查看。
本文章内容摘自图书《Unity API解析》,源码下载地址:http://www.ituring.com.cn/book/1474
相关文章推荐
- Unity3D中Camera类的eventMask属性作用解析
- [unity3d] iTween文档解析(3) (iTween方法和属性)
- unity3d camera.culling mask
- [unity3d] iTween文档解析(1) (iTween方法和属性)
- [Unity3d]Camera.cullingMask常用操作.
- Unity3D中Layers和LayerMask解析
- Unity3D中Layers和LayerMask解析
- Unity3D中Layers和LayerMask解析
- unity3d camera.culling mask
- 全面解析SEO中nofollow标签的属性作用
- unity3d camera.culling mask
- Unity3D中Random.seed属性解析
- [unity3d] iTween文档解析(2) (iTween方法和属性)
- Unity3d中Camera类的aspect属性解析
- spring ioc的简单实例及bean的作用域属性解析
- Unity3D中Layers和LayerMask解析
- MaskedTextBox 窗体控件中Mask属性的掩码元素
- 关于javascript脚本中的defer属性的作用
- J2ME开发中常见属性(Property)及其作用列表
- J2ME开发中常见属性(Property)及其作用列表