Unity昼夜变换(lightmap+天空球)

本文介绍了Unity中通过lightmap和天空球实现昼夜变换的效果,包括烘焙两组lightmap并在shader中采样以进行混合,以及对应的脚本实现,最终展示出动态的昼夜过渡效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 效果图

 2. 原理

烘焙出两组lightmap,并在shader中进行采样;最后插值输出混合结果。天空球也是同理可得。

3. 代码

3.1 shader

Shader "Unlit/lightMapChanging"
{
Properties {
 [NoScaleOffset]_SkyCube ("天空球", Cube) = "grey" {}
 _SkyCube2 ("天空球2", Cube) = "grey" {}
_Rotation ("水平旋转", Range(0.0, 360.0)) = 0.0
 [HDR]_TintCol ("染色", Color) = (1.0, 1.0, 1.0, 1.0)
 }

SubShader {
  Tags {
"Queue"="Background"        // 调整渲染顺序
  "RenderType"="Background"   // 渲染类型改为背景
  "PreviewType"="Skybox"    // 预览类型改为天空球
}
  Cull Off
  ZWrite Off
        
Pass {
  Name "SKY_FORWARD"
  CGPROGRAM
  #pragma vertex vert
  #pragma fragment frag
  #include "UnityCG.cginc"
// 参数
  uniform samp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值