当前位置:   article > 正文

unity 天空盒_Unity日夜循环天空球(Procedural Skybox)

unity天空球

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 Flagsskybox模式,然后在随便哪个物体下挂上skybox组件,添加使用了skybox shader的材质。

日月绘制

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

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

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

  1. // sun
  2. float sun = distance(i.
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/111682
推荐阅读
相关标签
  

闽ICP备14008679号