OnTriggerCollider如何修复游戏冻结?

时间:2019-07-16 15:03:57

标签: unity3d

我有一个运动对象(玩家),我移动得很快(需要),我还有另一个对象(障碍物),它们有对撞机(触发),当玩家的对撞机进入障碍对撞机并触发事件时,游戏冻结一半或一秒钟。

如果我降低速度,那一切都很好

我尝试使玩家不运动,并将障碍物标记为不触发(用于OnCollisionEnter事件)

我如何移动播放器:

void FixedUpdate() {
        if (currentWalk != Direction.NONE)
        {
            checkDirection(); // when distance <0.1f stop moving
            transform.position = Vector3.MoveTowards(transform.position, nextPosition, speed * Time.fixedDeltaTime);  //speed = 25f;
        }
    }

nextPosition = Vector3(0f,0f,7f); //例如,最初玩家处于0,0,0

void OnTriggerEnter(Collider collider)
    {
        if (collider.tag == "Finish")
        {
            success.SetActive(true); //success - any object which initially
 inactive
        }
    }

我希望在不降低速度的情况下不会冻结游戏,因为我真的不知道,这是什么问题,有很多游戏速度很高。

0 个答案:

没有答案