1. 程式人生 > >Unity3D——學習分享(七)太陽環繞地球專案

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:上述貼圖;來源於網上,僅供大家學習借鑑)