[英]Why am I getting 30 draw calls from an empty GameObject in my scene in Unity3D?
首先,我谈论的是SetPass调用,我知道这是绘制调用。
我有一个空的GameObject,在游戏中用作Camera目标。 我已将其定位在角色上方,并且当其达到x高度时,相机会向上移动。
启用“摄像机”目标后,我会收到约60个SetPass呼叫。 当我禁用它时,我得到大约30。
为什么这个简单的对象会产生那么多的SetPass调用?
这是启用了空GameObject的屏幕截图:
这是未启用GameObject的屏幕截图:
这是空的GameObject:
这是我引用空GameObject(cameraTarget)的地方:
无效FixedUpdate(){
if (cameraTarget != null){
if (cameraTarget.transform.position.y > thisTransform.position.y) {
thisTransform.position = new Vector3 (0, Mathf.SmoothDamp (thisTransform.position.y, cameraTarget.transform.position.y, ref velocity.y, smoothTime), 0);
}
}
}
当我在游戏过程中禁用空的GameObject时,我的游戏运行良好,即使它被禁用,相机仍会跟随该空的GameObject,并且我得到的SetPass调用越来越少了……很奇怪。
编辑:
贴在我的空GameObject上的标签图标导致绘制调用增加:
编辑:
我在“游戏”窗口中禁用了“ Gizmos”,它已删除了我所有场景中的绘制调用。 我猜这只是在编辑器中运行游戏时的一个问题。
Unity 5具有一个名为Frame Debugger的简洁功能。 您可以捕获帧并查看发生了什么,有关详细信息,请参见http://blogs.unity3d.com/2014/07/29/frame-debugger-in-unity-5-0/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.