判断是否摄像机可以看到

   /// <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;
    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值