以单位为单位移动时如何修复统一立方体碰撞?

问题描述 投票:0回答:0

我目前正在统一制作 3D 立方体迷宫游戏,您必须以尽可能少的移动次数从一个位置导航到另一个位置。

目前我已经设置好,通过使用键盘上的箭头键来控制立方体,但立方体只能一个单位一个单位地移动。因此,根据您希望立方体在代码中移动的方向,设置为在该方向添加一个单位。

我的碰撞正在工作,但不是我想要的那样,当你玩游戏时,立方体确实与迷宫外墙障碍发生碰撞并自动移回原来的位置,所以例如我正在向前移动并且我到达障碍点,我再次按下前进键,立方体移动到新位置,然后意识到那里有一堵墙,并被移回。如果我快速按两次箭头键,它会跳到我不想要的迷宫的外部。我希望立方体留在迷宫内,以便只允许在迷宫中移动。

我如何阻止这种情况发生?

我移动立方体的方式是。

if(Input.GetKeyDown(KeyKode.UpArrow))
{
     transform.position += Vector3.forward;
}

它与上面的代码有关,因为如果我将运动更改为不是逐个单元的,那么碰撞器就可以正常工作。

请帮忙

unity3d 3d collider
© www.soinside.com 2019 - 2024. All rights reserved.