很多小伙伴在做游戲時可能想實現比力傳神的實際結果,好比若何在unity中,做出日夜瓜代的結果?經由過程本文,你僅編寫簡單的劇本就可以實現:進入游戲時,隨機到一個時候(太陽在隨機高度),然后太陽以必然速度活動。最后還給太陽加上簡單的光暈結果,使你的項目加倍真實。
打開unity,新建一個項目,取名為demo,選擇項目類型為3D,然后建立項目。
新項目會自帶一個本家兒相機(Main Camera)和一個偏向光(Directional Light)。我們刪除本家兒相機,操縱偏向光作為太陽,然后再新建一個平面(Plane)作為地面。
我們導入(Standard Assets)官方尺度資本包(若是沒有這個包的到Asset store自行下載),在資本包中按照Asset->Standard Assets->Characters->FirstPersonCharater的路徑找到第一人稱節制器(如圖),并將其拖入場景中作為本家兒角,便利待會不雅察場景。
我們在項目視圖窗口新建一個C#劇本,取名為sunMove,而且選擇偏向光,把劇本拖到其組件上。
雙擊打開劇本,進行劇本的編寫,劇本源碼及詮釋如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class sunMove : MonoBehaviour
{
public float speed = 0.1f;
private int degree;
void Start()
{
degree = Random.Range(0, 360);
gameObject.transform.Rotate(degree, 0, 0);
}
void Update()
{
gameObject.transform.Rotate(-speed * Time.deltaTime, 0, 0);
}
}
申明
1.變量speed是太陽的扭轉速度,變量degree是太陽初始的角度。
2.在start方式中,隨機生當作一個0-360的角度作為初始角度,gameObject.transform.Rotate(degree, 0, 0);語句是把偏向光(太陽)這個物體的初始角度(X軸)設置當作適才隨機生當作的degree。
3.update方式里,每一幀按speed的速度改變太陽的角度,實現太陽扭轉的結果。
我們保留劇本,運行游戲,就可以看到太陽起頭時隨機在一個角度,然后起頭扭轉。若是扭轉速度太慢,我們可以在檢視面板及時調整speed的值。
顛末上面的步調我們已經完當作了太陽的扭轉,接下來給太陽加上光暈結果。在適才導入的資本包里,按Asset->Standard Assets->Effects->LightFlares->Flares路徑找到我們需要的結果。
選中偏向光,在檢視面板中選擇它的light組件,把適才的特效拖進叫做Flare的槽中。
點擊運行游戲,查看結果。如許,一個簡單的日夜瓜代的小demo就完當作了,而且還給太陽加上了如實際中一樣的光暈結果。在劇本上多做一些處置,還能實現其他的結果。
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!