Unity3D——学习分享(七)太阳环绕地球项目

旋转项目实例开发

今天分享一个简单的关于旋转的项目实例,通过这个小项目,可以加深对Transform组件以及公有变量的的理解。 我们要做的就是月球、地球和太阳在自转的同时,月球绕地球旋转,地球绕太阳旋转的实例。

1. 首先创建三个球体,分别命名为Sun、Earth、Moon,调整它们在场景中的相对位置,并适当地更改它们的缩放比例,我们都知道太阳的体积大于地球,地球的体积大于月球,所以我们可以根据常识对它们进行合适的缩放。另外,地球环绕着太阳旋转所以地球的位置一直在变化,而月球要环绕着地球旋转,所以为了让地球和月球保持着相对位置,我们要把月球设置为地球的子物体。

在这里插入图片描述
在这里插入图片描述

2. 接着我们把准备好的材质分别赋给它们

在这里插入图片描述

3. 前期的准备工作已经做好了,接下来我们创建两个脚本分别俩控制它们的自转和公转

代码如下:

自转代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SelfRotation : MonoBehaviour
{
public float RotateSpeed =1.0f;//定义一个的旋转速度

void Update()	
	{
this.transform.Rotate(Vector3.up*RotateSpeed ,Space.World);//沿着Y轴正方向以一定的速度旋转,Space.World意思是在世界坐标系里
	}
}

公转代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class AroundRotation : MonoBehaviour
{
public Transform Target;//环绕旋转的目标对象 
public float AroundSpeed=1.0f;//公转的速度

void Update()
	{
	this.transform.RotateAround(Target.position,Vector3.up,AroundSpeed);//RotateAround是系统定义的环绕旋转方法,它对应的参数分别是围绕目标的位置、围绕的轴和旋转速度
	}
}

4. 将自转的脚本分别赋给太阳、地球和月球。将公转脚本赋给地球和月球。以为我们在脚本中将自转和公转速度都设为了公有变量,所以我们可以分别打开它们的参数面板进行旋转速度的修改,另外对于地球和月球上的公转脚本我们还要把它们围绕旋转的对象分别拖给它们。

在这里插入图片描述

在这里插入图片描述

5.为了让场景显得更为真实一点,我们还可以给太阳加一个发光的特效,在太阳参数面板下单击Add Component—Effects—Halo 颜色可以加一个黄色,Size适当地调大。这样我们的项目就完成了,下面我们来运行一下看看效果吧。

在这里插入图片描述
(PS:上述贴图;来源于网上,仅供大家学习借鉴)

猜你喜欢

转载自blog.csdn.net/weixin_43159569/article/details/84572804