OnBecameVisible() 当 gameObjects 在相机场上时不调用 / UNITY
OnBecameVisible() not call when gameObjects is on camera's field / UNITY
我想通过不显示不在相机视野中的游戏对象来优化我的手机游戏。我不能进行遮挡剔除,因为那些游戏对象是实例化的,而不是静态的。
所以我用了
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");
}
但是性能下降很厉害
我该如何解决?
谢谢。问候。
Unity 默认自动使用 Frustum Culling
,并且不会渲染相机未注视的内容。因此这是自动实现的
我想通过不显示不在相机视野中的游戏对象来优化我的手机游戏。我不能进行遮挡剔除,因为那些游戏对象是实例化的,而不是静态的。
所以我用了
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");
}
但是性能下降很厉害
我该如何解决?
谢谢。问候。
Unity 默认自动使用 Frustum Culling
,并且不会渲染相机未注视的内容。因此这是自动实现的