为什么在“层次结构”中选择其他对象时,相机会停顿?

时间:2019-03-02 06:48:43

标签: c# unity3d

我从所有GameObjects中删除了所有脚本以测试问题。

我有一个相机名称Fly Camera。 (禁用了主摄像机,而不是仅使用一台摄像机) 在飞行相机上,我附加了一个新的简单脚本,该脚本可以在两点之间修剪相机。并且还添加了一些多维数据集。

在层次结构中,在游戏运行时用鼠标选择“飞行摄像机”时,摄像机将左右平滑移动。但是,如果在游戏运行任何其他GameObject时在“层次结构”中进行选择,则相机将结结巴巴。或者至少在“游戏”窗口中看起来像是口吃。

我不确定这是否正常,但似乎有点奇怪,如果您在层次结构中选择了另一个对象,它将在游戏窗口视图中结结巴巴。

脚本:附加到飞行摄像机:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MoveTest : MonoBehaviour
{
    private Vector3 pos1 = new Vector3(-40, 0, -50);
    private Vector3 pos2 = new Vector3(40, 0, -50);
    public float speed = 1.0f;

    void Update()
    {
        transform.position = Vector3.Lerp(pos1, pos2, (Mathf.Sin(speed * Time.time) + 1.0f) / 2.0f);
    }
}

我在游戏运行时打开了Profiler,这是三个屏幕截图。 在层次结构中选择飞行摄像机时的第一个:

Profiler when selecting the fly camera

第二个屏幕截图显示了在层次结构中选择另一个GameObject之后,即在探查器更改其中间之前的那一点:

Profiler second or two after selecting another gameobject

最后的屏幕截图大约是在选择了另一个游戏对象后10秒钟,这使相机陷入了停顿状态:一旦在事件探查器中选择了另一个对象,则开始出现停顿现象,更改需要几秒钟才能显示:

Profiler after selecting another gameobject

然后,如果我要更改并再次选择摄像机,它将平滑移动,并且探查器将再次如屏幕截图1所示。

启用了探查器编辑器和启用了统计信息的屏幕截图:

Profiler editor enabled stats enabled

0 个答案:

没有答案