当前位置: 首页 > news >正文

mixed模式下烘焙shadowmask记录的数据

构建烘焙场景:
在这里插入图片描述
项目中只有一个平行光,烘焙之后:
在这里插入图片描述
可以看到在只有一个平行光照射场景的情况下,这个黑色区域是阴影的区域。

删除上一步的烘焙数据之后,调整一下光源方向,然后重新烘焙:
在这里插入图片描述
在这里插入图片描述
可见我们的猜测是正确的。

然后加入另外一个灯光:
在这里插入图片描述
调整两个灯光的强度,使得有两个可见的阴影,然后进行烘焙:
在这里插入图片描述

在这里插入图片描述
左边是第一个灯打开的烘焙结果,中间是第二个灯烘焙的结果,右边是第三个灯烘焙的结果:

假如红色的灯光是在第一个通道——r通道
第二个灯用第二个通道记录——g通道
那么凡是第一个灯能看到的区域用(1,0,0,0)表示
凡是第二个灯能看到的区域用(0,1,0,0)表示
那么现在应该是这个样子:
在这里插入图片描述
两个一叠加:
在这里插入图片描述
红色区域:只有第一个灯能看到的区域
黄色区域:两个灯都能看到的区域
绿色区域:只有第二个灯能看到的区域
黑色区域:两个灯都看不到的区域

在增加多个灯,也是类似的规律。

增加多个物体,烘焙:
在这里插入图片描述
在这里插入图片描述
选择一个物体查看器shadowmask:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
黄色高亮的是,这个物体的uv展开图,以及对应的shadowmask。

在这里插入图片描述
在这里插入图片描述
ok,到此我们再次总结下,其实shadowmask记录就是每个灯光能看到的可见区域。
每个灯光有一个编号,比如0号灯用r通道,1号灯用g通道。
这样rgba四个通道,最多记录四个灯的照射情况。多余四个灯光,unity官网说了,会将多余的灯用baked模式处理。详见:
https://docs.unity3d.com/Manual/LightMode-Mixed-Shadowmask.html
在这里插入图片描述

相关文章:

  • 第七章 数组实验
  • unity_OcclusionMaskSelector
  • unity_ShadowFadeCenterAndType
  • 人月神话阅读笔记02
  • unity 烘焙模式——baked indirect/shadow mask/distance shadowmask/subtractive模式的区别
  • 第七章学习小结
  • unity_worldtransformparams.w
  • vue使用install函数把组件做成插件方便全局调用
  • 地形shader分析
  • 3.HTTP协议详解
  • C# 读取bytes——工具类
  • 三角形插值
  • iOS runLoop 原理多线程 总结 NSTimer优化
  • 克莱姆法则
  • Unity - DOTS(多线程数据导向型技术堆栈)
  • ES6指北【2】—— 箭头函数
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • 【技术性】Search知识
  • 2017 前端面试准备 - 收藏集 - 掘金
  • css属性的继承、初识值、计算值、当前值、应用值
  • emacs初体验
  • Hexo+码云+git快速搭建免费的静态Blog
  • Python中eval与exec的使用及区别
  • react 代码优化(一) ——事件处理
  • Swift 中的尾递归和蹦床
  • uva 10370 Above Average
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 构建工具 - 收藏集 - 掘金
  • 类orAPI - 收藏集 - 掘金
  • 浏览器缓存机制分析
  • 模型微调
  • 前端存储 - localStorage
  • 人脸识别最新开发经验demo
  • 入门到放弃node系列之Hello Word篇
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • !$boo在php中什么意思,php前戏
  • (搬运以学习)flask 上下文的实现
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (一)SpringBoot3---尚硅谷总结
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .NET 4.0中的泛型协变和反变
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .net core webapi 大文件上传到wwwroot文件夹
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • .net6解除文件上传限制。Multipart body length limit 16384 exceeded
  • .net访问oracle数据库性能问题
  • .NET简谈互操作(五:基础知识之Dynamic平台调用)
  • .net中生成excel后调整宽度
  • @在php中起什么作用?
  • [ C++ ] STL_list 使用及其模拟实现
  • [Android Pro] Notification的使用
  • [Android]通过PhoneLookup读取所有电话号码