您的位置:首页 > 其它

判断是否摄像机可以看到

2015-12-10 10:46 204 查看
/// <summary>
/// 判断一个物体是否可见
/// </summary>
/// <returns><c>true</c> if this instance is visible the specified go; otherwise, <c>false</c>.</returns>
/// <param name="go">如果不可见返回0,可见=1.</param>
int IsVisible(GameObject go)
{
int ret = -1;
if(go!=null && Camera.main!=null)
{
Vector3 pos = Camera.main.WorldToViewportPoint(go.transform.position);
bool isVisible = ( Camera.main.orthographic || pos.z > 0f)
&& ( (pos.x > 0f && pos.x < 1f && pos.y > 0f && pos.y < 1f));
ret = isVisible==true ?1:0;
return ret;
}
return ret;
}

//这个是通过render来判断,但是感觉没上面那个好用
bool ReaderIsVisible(GameObject gameObjcet)
{

bool isVisbel = false;
MeshRenderer[] renders = gameObject.GetComponentsInChildren<MeshRenderer> ();
foreach(MeshRenderer render in renders)
{
if( render.isVisible ==true)
{
isVisbel =true;
}
}
return isVisbel;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: