Идея: Луна вращается вокруг Земли, а Земля вращается вокруг Солнца.
Щелкните правой кнопкой мыши по Иерархии, чтобы создать три 3D-сферических объекта: Сфера
И с этим иерархическим отношением назовите их соответственно после выбора и имени ярлыка F2.
В то же время немного изменить их положение в представлении сцены.
Затем щелкните правой кнопкой мыши Assets на уровне проекта, чтобы создать папку скриптов Scripts.
Создайте внутри два скрипта вращения и назовите их Rotate Rotate1.
Давайте сначала напишем луну: революция, сценарий вращения Rotate
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Rotate : MonoBehaviour
{
//月球自转速度
private float Rotationspeed = 100.0f;
//月球公转速度
private float Revolutionspeed = 100.0f;
public Transform earth;
void Start()
{
}
void Update()
{
//先写自传
transform.Rotate(Vector3.up * Rotationspeed * Time.deltaTime);
//再写公转
//transform.RotateAround(Vector3.zero, Vector3.up, Revolutionspeed * Time.deltaTime);
transform.RotateAround(earth.position, Vector3.up, Revolutionspeed * Time.deltaTime);
}
}
Перепиши землю: сценарий революции и вращения Rotate1
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Rotate1 : MonoBehaviour
{
//定义地球自转速度
private float Rotationspeed1 = 10.0f;
//定义地球公转速度
private float Revolutionspeed1 = 10.0f;
public Transform sun1;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
transform.Rotate(Vector3.up * Rotationspeed1 * Time.deltaTime);
//transform.RotateAround(Vector3.zero, Vector3.up, Revolutionspeed1 * Time.deltaTime);
transform.RotateAround(sun1.position, Vector3.up, Revolutionspeed1 * Time.deltaTime);
}
}
Затем мы перетаскиваем скрипты Rotate и Rotate1 на Луну и Землю соответственно.
Мы добились функции вращающейся вокруг себя сферы!
Домашнее задание:
Материалы для самообучения Что такое материал и как его использовать
Затем добавьте материалы к солнцу и луне, чтобы изменить их цвета.