【问题标题】:How do I rotate an object on the Y axis?如何在 Y 轴上旋转对象?
【发布时间】:2019-02-19 09:41:19
【问题描述】:

我正在尝试制作一个带有“旋转”地球的游戏,但我不知道如何旋转...这是我目前所掌握的,非常感谢您的帮助:

using UnityEngine;

public class Earth_Rotation : MonoBehaviour
{
     // Update is called once per frame
     void Update()
     {
     Transform.Rotate (0, 10, 0);
     }
}

【问题讨论】:

标签: c# unity3d


【解决方案1】:

您需要在对象转换组件上调用Rotate() 方法。大写的Transform指的是Transform类本身,小写的transform指的是变换组件的这个对象实例。如果你想操作你的脚本附加到的对象,你需要小写的transform。我建议查看此链接以了解类和对象:Class and Object - GeeksforGeeks

此外,如果您希望您的对象翻转时间,您需要在某处引用时间。这可以通过Time.deltaTime 实现,它返回自 Unity 中最后一帧以来经过的时间。试试这样的:

void Update()
{
    //Vector3.up is a vector that looks like this: (0,1,0)
    transform.Rotate(Vector3.up * Time.deltaTime);
}

您还可以添加一个修改器,如 public float turnSpeed 并乘以它来增加或减少您的对象转动速度:

public float turnSpeed;

void Update()
{
    transform.Rotate(Vector3.up * Time.deltaTime * turnSpeed);
}

如果您设置turnSpeed = 10,则您拥有原始值。

始终查看documentation 以了解您尝试使用的功能。了解如何以及在何处使用它们很有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-19
    相关资源
    最近更新 更多