【问题标题】:How to roll a cube on it's edges on Unity 3D如何在 Unity 3D 上滚动立方体
【发布时间】:2017-06-10 19:26:58
【问题描述】:

我想移动一个立方体,让它在它的边缘滚动。立方体将站在 x-z 网格上,每次移动都会使其站在网格的不同方格上。

玩家将控制移动,并且一次只能使立方体沿一个方向滚动(左、右、前或后),但立方体必须始终准确地站在一个网格方格的顶部.

我不认为对立方体施加力会有所帮助,因为它可能会使它移动得太多或太少。我想实现这样的目标:https://www.youtube.com/watch?v=yaAIUYuNi84 但仅在 x-z 平面上。 请注意立方体如何在每个角落轻松停止和改变方向,因为它不会移动太多或太少

关于如何解决这个问题的任何想法?

【问题讨论】:

  • 如果你不想使用武力(你不应该),我会为此制作动画,应该不会很难。
  • 我只用了一周左右的unity,还没有测试过动画。我该怎么办?为每个移动的空间播放旋转动画?就像当立方体移动一格时,动画一圈?
  • 没错,您可以在Unity中创建一个简单的剪辑进行旋转。这应该不是很难,因为它是简单对象的简单移动。

标签: unity3d rotation physics cube rigid-bodies


【解决方案1】:

如果你是 Unity 的新手,给你一堆代码是没有用的,所以我告诉你这样做的方法,这样你就可以实现自己的代码。

您可以创建 4 个始终跟随地板上的立方体的空游戏对象,当您想要滚动立方体时,您将围绕空对象旋转立方体。

你可以在 youtube 上找到跟随立方体和旋转立方体的代码,对于初学者来说搜索总是好的。

所以我希望你能解决它,如果你不能再写信给我,你在哪里卡住了,我很乐意回答你:)

【讨论】:

  • 您的意思是 4 个空对象中的每一个都将位于立方体的每个边缘?我实际上需要 6 个,因为运动将在各个方向。尽管如此,如果是这种情况,我将不得不使用rotateAround 旋转立方体,对吗?我现在正在尝试实施它,如果我弄错了,请告诉我。感谢您的回答,是的,我使用 Unity 的经验是一周 :)。
  • @somezombie 是的 rotateAround 将起作用,并且在 Update 方法上,您可以通过 1 或 3 px 在地面上的偏移量不断更新空对象的位置,这样做只能使用 4 个对象,除此之外,您需要检查立方体在哪一侧,以便您可以旋转它
  • @somezombie 试试这个,就像我说的,当你遇到困难时,随时可以提问 :)
  • 我正在努力,我会告诉你进展如何。空对象将是立方体的子对象,因此它们会随之旋转。
  • @somezombie 很好,如果您将对象设为立方体的子对象,它们将与立方体一起旋转,但如果您不将它们设为子对象,并且通过代码使它们跟随立方体,那么它们将不会随您一起旋转可以创建更干净的代码:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-13
  • 1970-01-01
  • 1970-01-01
  • 2020-08-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多