如何让玩家的转身只发生在unity3d的边缘或所需的位置?

时间:2013-02-08 10:34:18

标签: unity3d rotation

我正在尝试制作一个玩家跑来收集硬币的游戏。我面临的问题是玩家左右转弯。我希望玩家只在特定的地方而不是在任何地方转弯。我不知道如何实现这个。

3 个答案:

答案 0 :(得分:1)

如果我理解正确,你希望玩家只向前移动直到他们到达特定点,之后他们可以选择转向。

你可以通过限制玩家在脚本中的移动来实现这一点(例如,让它们沿着Z轴移动),只允许它们在到达特定点时转动。

你可以通过在点上放置一个碰撞器(并将其设置为Trigger),然后在脚本中处理来检测玩家是否达到了该点。

古德勒克

答案 1 :(得分:1)

你想做像Temple Run这样的事吗?

让角色跑。角色的控制器应该“禁用右转/左转”。在每个路径交叉点(角色应转向一侧),您添加一个对撞机(一个立方体)。当角色碰撞时,你激活右/左移动探测器。在对撞机出口处,您可以停用它。

如果您不想要错误/故障:2点击左侧,转两次,然后您只需在玩家转一次时停用该标志。

如果你想要一个平滑的相机转动,你可以使用相机脚本和iTween播放器(仅补间y轴旋转+90 -90)

希望它有所帮助!

答案 2 :(得分:0)

如果您有地图,则可以在场景中放置空的游戏对象。攻击Collission探测器,确保它们创建大墙。如果玩家走过,切换他相应转动的可能性。

虽然这是相当多的工作,但你可以攻击每个看不见的墙上的相同脚本。