在unity中在场景中创建“地球”与“月球”对象,编写脚本实现“地球”自转和“月球”围绕“地球”旋转的效果
时间: 2023-10-03 13:05:31 浏览: 392
以下是一个简单的示例脚本,可以将其附加到“地球”对象上,然后将“月球”对象设置为“地球”的子对象。这将使“月球”围绕“地球”旋转,并使“地球”自转。
```csharp
public class EarthRotation : MonoBehaviour
{
public float earthRotationSpeed = 10f; // 地球自转速度
public float moonRotationSpeed = 5f; // 月球公转速度
public GameObject moon; // 月球对象
void Start()
{
if (moon == null)
{
Debug.LogError("请将月球对象设置为地球对象的子对象!");
}
}
void Update()
{
// 地球自转
transform.Rotate(Vector3.up, earthRotationSpeed * Time.deltaTime);
// 月球围绕地球旋转
moon.transform.RotateAround(transform.position, Vector3.up, moonRotationSpeed * Time.deltaTime);
}
}
```
请注意,这只是一个简单的示例,您可以根据需要对其进行更改和扩展。
阅读全文