Unity - 计算一个轨道的持续时间

时间:2017-03-07 17:56:59

标签: c# unity3d

我得到了一个位置(0,500,0)和旋转(90,0,0)的太阳。太阳围绕Vector3.zero旋转,速度为10。

脚本是

void RotateLight(Light light) // Sun is orbitting the Earth
    {
        light.transform.RotateAround(Vector3.zero, Vector3.right, timeData.RotationSpeed * Time.deltaTime); // Rotate around the Earth
        light.transform.LookAt(Vector3.zero); // Face the Earth
    }

所以我想使用GUI来显示一个轨道的最大持续时间。我还需要计算太阳的当前状态。

所以我计算了最长持续时间:

public float DayCycleLength // one full cyclus
    {
        get
        {
            return 2 * Mathf.PI * Distance / RotationSpeed; // Distance -> The Distance from sun to earth -> 500 ### Rotationspeed -> The speed of the sun -> 10
        }
    }

我想知道这是否正确?

我不知道,如何计算太阳的当前状态。

当我得到这两个信息时,我可以用Unity UI系统的Slider元素显示它。

有人可以帮助我吗?

0 个答案:

没有答案