演示了用RotateAround实现月球绕地球旋转。
源代码如下:
using UnityEngine;
using System.Collections;
public class MoonAndEarth : MonoBehaviour {
private GameObject moon ,earth;
// Use this for initialization
void Start () {
gameObject.AddComponent(); //添加光
light.type = LightType.Directional; //光类型为平行光
moon = GameObject.CreatePrimitive(PrimitiveType.Sphere); //添加月亮
earth = GameObject.CreatePrimitive(PrimitiveType.Sphere); //添加地球
earth.transform.position = new Vector3 (-0.2158798f, 0.1192747f, 1.1f); //地球位置
earth.transform.localScale = new Vector3 (5, 5, 5); //地球的缩放,地球比月亮设定为大五倍
moon.transform.position = new Vector3 (-0.2158798f, -0.01434898f, -4.237653f); //月亮位置
earth.renderer.material.color = Color.blue;//地球的颜色 蓝色
moon.renderer.material.color = Color.white;//月亮的颜色 白色
}
// Update is called once per frame
void Update () {
moon.transform.RotateAround(earth.transform.position,Vector3.up,60*Time.deltaTime); //月亮绕着地球转
}
}