在岩石上跳跃时,控制器/玩家不会旋转

时间:2016-01-21 13:23:55

标签: unity3d

我有一个椭圆形状的岩石围绕自己的中心旋转,我想跳到那块岩石上。 当我跳跃时我的播放器/控制器不会与那块岩石一起旋转。我的岩石上有胶囊colider但是没有选中复选框Is Trigger。 当我检查它只是通过岩石。当摇滚乐与摇滚一起旋转时,让控制器/播放器变得很热吗?

1 个答案:

答案 0 :(得分:0)

我必须说我没有找到任何仅使用物理的解决方案。

Unity3D物理引擎dosnt支持这种旋转(对我的知识)。首先,我认为这是因为玩家对撞机(胶囊)的形状,它只有一个点接触其他对撞机(正在旋转的那个)。但我也检查了盒子对撞机,对象(玩家)也没有旋转。

所以你不会只用物理学来得到这个。

这里有一个答案,但已删除解决方案。此解决方案是将父级分配给玩家gameObject。这个父母将是这个旋转对象(摇滚)。由于这个玩家对象将从岩石中恢复所有移动。

当检测到碰撞时,您应该将岩石指定为玩家的父级。 OnCollisionEnter(Collision)

player.transfrom.parent = rock.transform;

当玩家离开碰撞时,将玩家的父级设置为null。 OnCollisionExit(Collision)

player.transfrom.parent = null;