【问题标题】:My gameObject does not rotate while jumping我的游戏对象在跳跃时不旋转
【发布时间】:2015-08-28 02:43:57
【问题描述】:

我的gameObject 在跳跃时不旋转。我使用GetComponent().rotation = Quaternion.identity; 进行旋转,但gameObject 仍然不旋转。问题是什么?以及如何调整旋转速度?这是我的跳转脚本:

【问题讨论】:

  • 你把这段代码放在哪个方法中?
  • @NasirKhan 无效更新()
  • GetComponent().rotation ??这甚至是如何编译的?
  • 我想在立方体跳跃的时候旋转它,我该怎么做?

标签: c# unity3d unity5


【解决方案1】:

Quaternion.identity 表示不旋转 {0,0,0,0},每当调用此代码块时,游戏对象的旋转将成为标准旋转值。

如果这是故意的,并且游戏对象的旋转不是 {0,0,0,0},那么您可能正在其他地方修改旋转?

【讨论】:

  • 我想在立方体跳跃的时候旋转它,我该怎么做?
  • 您可以尝试在游戏对象上使用Transform.Rotate 将其旋转您选择的值。例如。 transform.Rotate(new Vector3(0,10,0) * Time.DeltaTime);
【解决方案2】:
GetComponent().rotation = Quaternion.identity; 

这行有几个问题。首先,只需使用 transform.rotation... 此处无需调用 GetComponent()。此外,Quaternion.identity 只是“零”旋转。您实际上想在这里应用什么样的轮换,因为您不应该看到任何使用身份的东西。

http://docs.unity3d.com/ScriptReference/Quaternion-identity.html

要应用真正的旋转,请使用类似的东西(其中“速度”是一个浮点变量,您可以在其中设置您希望立方体旋转的速度):

transform.Rotate(Vector3.up, speed * Time.deltaTime);

【讨论】:

  • 我想在立方体跳跃的同时旋转它,我该怎么做?
猜你喜欢
  • 2018-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多