unity 天空盒 您所在的位置:网站首页 unity怎么加天空球 unity 天空盒

unity 天空盒

2023-08-14 03:59| 来源: 网络整理| 查看: 265

09c875b58dc604898870b017c0b35f5d.png

本节实现Unity日夜循环天空球♥(´∀` )人

551bc907ed4e41c8396c039b276d361c.gif 概况

Unity中有两类skybox,一类是贴图类(6 sided, cubemap, panoramic),一类是procedural类,本文实现的就是procedural天空盒(其实就是100%纯手写天空盒= - =)

本文中的天空盒主要参考Minionsart的分享(日常表白→

Making a Stylized Skybox Shader​www.patreon.com

进行制作,根据需求有魔改,并关联时间系统,repo在此(」・ω・)」→

llapuras/UnityProceduralSkybox​github.com 6fad433e650d81693b00b754c4c05a8a.png 天空盒设置

确保摄像机中设定Clear Flags为skybox模式,然后在随便哪个物体下挂上skybox组件,添加使用了skybox shader的材质。

日月绘制

Unity内置变量_WorldSpaceLightPos0存储了directional light的方向。这样就可以通过改变directional light的旋转使天空球旋转,形成日夜交替效果。

首先,光指向的正反方向就是我们绘制日月的地方!

计算uv坐标上天空球上的坐标与_WorldSpaceLightPos0间的距离,根据距离返这个数值绘制,得到的是一个中心到边缘亮度递减的圆形效果(距离方向坐标越近数值越小),可以用saturate对球形区域内的颜色再处理一次,将sphere乘上一个大点的数,返回数都为1,即可获得清晰边界。

// sun float sun = distance(i.


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有