我想通过不显示不在摄像机视野中的gameObjects来优化我的手机游戏。我无法进行遮挡剔除,因为这些游戏对象是实例化的并且不是静态的。
所以我用
void OnBecameInvisible(){ Renderer.enabled = false; }
void OnBecameVisible(){ Renderer.enabled = true; }
它起作用了,但是有时对象仍然不可见。
我尝试使用:
void Update()
{
if (m_Renderer.isVisible)
{
m_Renderer.enabled = true;
Debug.Log("show");
}
else m_Renderer.enabled = false; Debug.Log("not show");
}
但是性能严重下降。
我该如何解决?
谢谢。问候。
答案 0 :(得分:1)
Unity默认情况下会自动使用Frustum Culling
,并且不会渲染相机没有看的东西。因此,这是自动实现的