我有一个运动对象(玩家),我移动得很快(需要),我还有另一个对象(障碍物),它们有对撞机(触发),当玩家的对撞机进入障碍对撞机并触发事件时,游戏冻结一半或一秒钟。
如果我降低速度,那一切都很好
我尝试使玩家不运动,并将障碍物标记为不触发(用于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
}
}
我希望在不降低速度的情况下不会冻结游戏,因为我真的不知道,这是什么问题,有很多游戏速度很高。