很多小伙伴在做游戏时可能想实现比力传神的实际结果,好比如何在unity中,做出日夜瓜代的结果?经由过程本文,你仅编写简单的剧本就可以实现:进入游戏时,随机到一个时候(太阳在随机高度),然后太阳以必然速度活动。最后还给太阳加上简单的光晕结果,使你的项目加倍真实。
工具/原料
- 安装有unity3d肆意版本的电脑一台
- unity3d软件(本文利用unity2018)
一、筹办工作
- 1
打开unity,新建一个项目,取名为demo,选择项目类型为3D,然后建立项目。

- 2
新项目会自带一个本家儿相机(Main Camera)和一个偏向光(Directional Light)。我们删除本家儿相机,操纵偏向光作为太阳,然后再新建一个平面(Plane)作为地面。

- 3
我们导入(Standard Assets)官方尺度资本包(若是没有这个包的到Asset store自行下载),在资本包中按照Asset->Standard Assets->Characters->FirstPersonCharater的路径找到第一人称节制器(如图),并将其拖入场景中作为本家儿角,便利待会不雅察场景。

二、太阳扭转剧本
- 1
我们在项目视图窗口新建一个C#剧本,取名为sunMove,而且选择偏向光,把剧本拖到其组件上。

- 2
双击打开剧本,进行剧本的编写,剧本源码及诠释如下:
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的速度改变太阳的角度,实现太阳扭转的结果。

- 3
我们保留剧本,运行游戏,就可以看到太阳起头时随机在一个角度,然后起头扭转。若是扭转速度太慢,我们可以在检视面板及时调整speed的值。

三、给太阳加上光晕结果
- 1
颠末上面的步调我们已经完当作了太阳的扭转,接下来给太阳加上光晕结果。在适才导入的资本包里,按Asset->Standard Assets->Effects->LightFlares->Flares路径找到我们需要的结果。

- 2
选中偏向光,在检视面板中选择它的light组件,把适才的特效拖进叫做Flare的槽中。

- 3
点击运行游戏,查看结果。如许,一个简单的日夜瓜代的小demo就完当作了,而且还给太阳加上了如实际中一样的光晕结果。在剧本上多做一些处置,还能实现其他的结果。

注重事项
- 太阳活动的剧本必然要挂在偏向光物体上,若是感觉太阳移动速度太慢可以调整speed速度的值。
- 若是想光晕结果弱一点,可以调节偏向光的intensity属性。有其他问题可以加qq2516304799咨询我哦。







