如何用Unity3D做出昼夜交替的效果

2024-10-18 07:59:07

许多小伙伴在做游戏时可能想实现比较逼真的现实效果,比如如何在unity中,做出昼夜交替的效果?通过本文,你仅编写简单的脚本就可以实现:进入游戏时,随机到一个时间(太阳在随机高度),然后太阳以一定速度运动。最后还给太阳加上简单的光晕效果,使你的项目更加真实。

工具/原料

安装有unity3d任意版本的电脑一台

unity3d软件(本文使用unity2018)

一、准备工作

1、打开unity,新建一个项目,取名为demo,选择项目类型为3D,然后创建项目。

如何用Unity3D做出昼夜交替的效果

3、我们珑廛躬儆导入(Standard Assets)官方标准资源包(如果没有这个包的到Asset store自行下载),在资源包中按照Asset->Stand锾攒揉敫ard Assets->Characters->FirstPersonCharater的路径找到第一人称控制器(如图),并将其拖入场景中作为主角,方便待会观察场景。

如何用Unity3D做出昼夜交替的效果

2、双击打开脚本,进行脚本的编写,脚本源码及解释如下:using System.Collect坡纠课柩ions;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的速度改变太阳的角度,实现太阳旋转的效果。

如何用Unity3D做出昼夜交替的效果

三、给太阳加上光晕效果

1、经过上面的步骤我们已经完成了太阳的旋转,接下来给太阳加上光晕效果。在刚才导入的资源包里,按Asset->Standard Assets->Effects->LightFlares->Flares路径找到我们需要的效果。

如何用Unity3D做出昼夜交替的效果

3、点击运行游戏,查看效果。这样,一个简单的昼夜交替的小demo就完成了,并且还给太阳加上了如现实中一样的光晕效果。在脚本上多做一些处理,还能实现其他的效果。

如何用Unity3D做出昼夜交替的效果
猜你喜欢