Unity中cullingMask屬性作用解析
阿新 • • 發佈:2018-12-16
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;
}
}
}