很多小伙伴在做游戏时可能想实现比力传神的实际结果,好比若何在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 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!