Unity3d (Unity 3D C#)输送机物理

Unity3d (Unity 3D C#)输送机物理,unity3d,Unity3d,所以,我试图创建一个平板输送机,一个块可以坐在上面移动,但我想让它能够转动,所以我不能使用刚体。移动位置,我尝试使用addforce,但我不能让它在不使用杂质或速度变化的情况下正常工作,因为这样会使矿石滚动(它们是立方体)。我最近的一次尝试是使用速度,但我不知道如何让它在换角时保持原来的速度,这样它就不会搞砸了 如果这没有多大意义,这里有一个更好的解释,我试图在网格上创建一个传送系统,每个槽都有一个方向,立方体沿着它移动,每当立方体到达转弯处,我希望立方体继续向前移动一小段距离,这样它就不会立

所以,我试图创建一个平板输送机,一个块可以坐在上面移动,但我想让它能够转动,所以我不能使用刚体。移动位置,我尝试使用addforce,但我不能让它在不使用杂质或速度变化的情况下正常工作,因为这样会使矿石滚动(它们是立方体)。我最近的一次尝试是使用速度,但我不知道如何让它在换角时保持原来的速度,这样它就不会搞砸了

如果这没有多大意义,这里有一个更好的解释,我试图在网格上创建一个传送系统,每个槽都有一个方向,立方体沿着它移动,每当立方体到达转弯处,我希望立方体继续向前移动一小段距离,这样它就不会立即改变方向,沿着新的传送带移动,因为这种方式,它会立即改变,并将坐在传送带的边缘,而不会继续朝着这个方向移动


编辑:我目前正在工作,我现在的问题是立方体在接触输送机时会反弹,因此它们不会平放在输送机上,我可以通过压缩立方体的所有旋转来解决这个问题,但是有时它会冻结输送机上的矿石,不允许其移动。

因为您没有提供代码,我不知道你想做什么,所以我将给出我自己的解决方案:

object.transform.position = Vector3.MoveTowards(target.transform.position, endpoint.position, Time.deltaTime * speed)
然后,当它与脚本发生冲突时,它可以关闭该脚本,使其停留在末尾

target
是您想要移动的对象,
endpoint
是您想要它结束的地方

将端点设置为游戏对象,并将其放置在传送带的末端,这样对象将朝着传送带移动,看起来就像传送带