加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 为什么我在Unity3D的场景中从一个空的GameObject获得30个

发布时间:2020-12-15 22:12:30 所属栏目:百科 来源:网络整理
导读:首先,我在谈论SetPass调用,我理解这是调用调用. 我有一个空的GameObject,我在游戏中用作Camera目标.我将它定位在我的角色上方,当它达到x高度时,相机向上移动. 启用Camera目标后,我会收到大约60个SetPass调用.当我禁用它时,我大约30岁. 为什么这个简单的对象
首先,我在谈论SetPass调用,我理解这是调用调用.

我有一个空的GameObject,我在游戏中用作Camera目标.我将它定位在我的角色上方,当它达到x高度时,相机向上移动.

启用Camera目标后,我会收到大约60个SetPass调用.当我禁用它时,我大约30岁.

为什么这个简单的对象产生如此多的SetPass调用?

这是启用了空GameObject的屏幕截图:

这是没有启用GameObject的屏幕截图:

这是空的GameObject:

这是我引用空GameObject(cameraTarget)的地方:

void 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调用……很奇怪.

编辑:

附加到我的Empty GameObject的标签图标导致绘制调用的增加:

编辑:

我在游戏窗口中禁用了“Gizmos”,它已经删除了我所有场景中的绘制调用.我想这只是在编辑器中运行游戏时的一个问题.

解决方法

Unity 5有一个称为Frame Debugger的简洁功能.你可以捕捉框架,看看到底发生了什么,更多信息在这里 http://blogs.unity3d.com/2014/07/29/frame-debugger-in-unity-5-0/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读