广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

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

    来源:网络收集  点击:  时间:2024-03-01
    【导读】:
    许多小伙伴在做游戏时可能想实现比较逼真的现实效果,比如如何在unity中,做出昼夜交替的效果?通过本文,你仅编写简单的脚本就可以实现:进入游戏时,随机到一个时间(太阳在随机高度),然后太阳以一定速度运动。最后还给太阳加上简单的光晕效果,使你的项目更加真实。工具/原料more安装有unity3d任意版本的电脑一台unity3d软件(本文使用unity2018)一、准备工作1/3分步阅读

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

    2/3

    新项目会自带一个主相机(Main Camera)和一个方向光(Directional Light)。我们删除主相机,利用方向光作为太阳,然后再新建一个平面(Plane)作为地面。

    3/3

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

    二、太阳旋转脚本1/3

    我们在项目视图窗口新建一个C#脚本,取名为sunMove,并且选择方向光,把脚本拖到其组件上。

    2/3

    双击打开脚本,进行脚本的编写,脚本源码及解释如下:

    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/3

    我们保存脚本,运行游戏,就可以看到太阳开始时随机在一个角度,然后开始旋转。如果旋转速度太慢,我们可以在检视面板实时调整speed的值。

    三、给太阳加上光晕效果1/3

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

    2/3

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

    3/3

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

    注意事项

    太阳运动的脚本一定要挂在方向光物体上,如果觉得太阳移动速度太慢可以调整speed速度的值。

    如果想光晕效果弱一点,可以调节方向光的intensity属性。有其他问题可以加qq2516304799咨询我哦。

    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_206028.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-07 04:10:23  耗时:0.030
    0.0305s