Unity 收藏本版 已有9人收藏 +发表新主题
查看: 24527|回复: 0
打印 上一主题 下一主题

[分享] 判断当前相机是否渲染物体(视线范围内,外 判断)

[复制链接]

[分享] 判断当前相机是否渲染物体(视线范围内,外 判断)

devmodel02 发表于 2016-4-23 16:46:33 浏览:  24527 回复:  0 只看该作者 复制链接
今天用另一个函数来实现相同的功能
废话不多,先上图


这里能看到有两个相机。 每个相机负责不同的渲染
左边的相机看到了Cube ,  cube  然后Cube就变大2倍  . 右边的看到了cube ,然后变小。
效果很明显 不是嘛~
OK 这里只是单纯的改变Cube的物体大小。其他更多功能可自行添加


下面介绍函数
OnWillRenderObject()

这里偷个懒 。使用蛮牛的脚本手册查询给大家看看
可以看出来,这个函数是所有相机都能渲染的,也就是说要想实现效果,一定要在函数里判断好是哪一个相机渲染
如果物体可见,每个相机都会调用OnWillRenderObject   这句话务必牢记
下面上代码
[code]csharpcode:using UnityEngine;using System.Collections;public class MainCameraWatch : MonoBehaviour{    void Start()    {    }    void OnWillRenderObject()    {        if (Camera.current.name == "Main Camera")        {            Debug.Log("Enter");            transform.localScale = new Vector3(2, 2, 2);        }        else if (Camera.current.name == "Other Camera")        {            transform.localScale = new Vector3(1, 1, 1);            Debug.Log("out");        }    }}
然后附上项目文件。 给需要的朋友
https://yunpan.cn/cPfFzxd6gt8Y6  访问密码 bad2


分享至:
| 人收藏
回复

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2013-2017 ARinChina-增强现实中国技术论坛   All Rights Reserved.