unity2017 光照与渲染(二)FAQs
2024-10-07 11:21:32
FAQ:
场景里的物体没有影子?
1)灯光是否开了影子
2)QualitySettings 中 shadows 的设置
3) 模型MeshRenderer 的 ReciveShadows 和 CastShadows
4)透明材质也会没有阴影接收不到别的物体的阴影?
shader 用的是legacy的bump diffused。
- Realtime / Mixed / Baked 的区别?
- Realtime(默认) 实时光照, 使用 Ligthing视图中的realtime GI 来处理间接光。
- baked 烘焙光照,直接烘焙完光照效果成贴图,贴到物体上。适用于lighting static的物体。
- Mixed 既可以为静态物体烘焙贴图,又可以为动态物体计算阴影。
lighting GI的 设置:
一般手机平台上会关掉Realtime Lighting,只开启 MixedLighting。
- 混合光照(MixedLighting)模式下的 LightingMode的选项?
- Subtractive 动态物体只能接受一盏主灯源(Directional Light)的照射,性能最好.
- ShadowMask 静态物体不产生实时阴影去影响动态物体
- Distance Shadowmask 在QualitySettins视图中可以进一步设置。
ShadowmaskMode -> ( Distance Shadowmask在 ShadowDistance 的设置相机距离物体的范围内【静态物体的阴影会对动态物体进行投影】。)Distance ShadowMask性能低于ShadowMask。
-> 可以用代码控制,比如在人物进入某范围内需要显示实时阴影时切换为DistanceShadowMask, 出了该范围之后再切换回Shadowmask.(QualitySettings.shadowmaskMode = ShadowmaskMode.DistanceShadowmask/ShadowmaskMode.Shadowmask;). - Baked Indirect 效果最好,性能最低。只烘焙间接光,其他的都是实时的。超出DistanceShadowmask后,所有影子都不显示了。
光照贴图在哪里看?
Lighting视图的 Global maps 选项卡下查看。
- Lightmapping Settings
- FinalGather 物体的间接反光更好,细节更丰富。可以在项目最后的时候勾上烘焙一下。平时不要勾,比较消耗性能。
- RayCount 越大细节越细腻。
- Indirect Internsity 调节场景中所有间接光的强度。
- Lightmap Padding 改大一点,可以防止靠的太近的物体边缘贴错。一般默认的2是没问题的。
- Lightmap Resolution [] texels per unit lightmap的质量,默认40 改小可以加快烘焙速度。
- Lightmap Size 和上一个类似。调小之后每个贴图文件就小了,一个放不下时候可能会生成多个文件。
烘焙单个物体太慢?
把物体的MeshRenderer的Lightmap Settings下的 Scale In Lightmap 改成更小的数字。
烘焙选项?
Lighting视图最下面,可以选择只烘焙反射探针或者全部烘焙,还有清除烘焙文件。
影响灯光渲染的设置有哪些?
a. PorjectSettins视图下的 Quality
b. Light 组件的设置c. Lighting 视图下的设置
ProbuilderMesh 生成uv?
勾选 Lightmap Static
最新文章
- mysql启动,关闭,重启
- 【MVC】AJAX+PartialView实现商城首页的楼层加载
- 【微信Java开发 --1---番外1】在windows下,使用JAVA执行多条DOS命令+文件夹/路径中有空格怎么解决【目的是实现内容穿透外网】
- 转: .NET MVC3 几种返回 JSON 对象的方式和注意事项
- Android开发面试经——6.常见面试官提问Android题②(更新中...)
- JavaScript学习记录总结(十)——几个重要的BOM对象
- Filter Blue Light for Better Sleep(APP 推荐)
- JS实现联想输入(一)
- 使用stringstream时的清空操作
- Effective C++ 条款45
- io外挂
- 当你的SSM项目中的springmvc.xml发生第一行错误解决方案
- oracle存储过程的创建和使用
- python中的__dict__,__getattr__,__setattr__
- 为什么使用JDBC操作MySQL需要添加Class.forName(";com.mysql.jdbc.Driver";)
- hdu-3416(最短路+网络流)
- 1.11 flask
- 035 HDFS的联盟Federation
- Postgres中的SpinLock锁
- 用table布局和div布局的区别
热门文章
- 如何使 C++ 的 StringBuilder 提升 4350% 的性能?
- Vue框架基础概要
- 【CF1237C】Balanced Removals(降维)
- JS判断Android、iOS或浏览器的多种方法(四种方法)
- React-Native 之 GD (一)目录结构与第三方框架使用与主题框架搭建
- Helvetic Coding Contest 2019 online mirror (teams allowed, unrated)
- 20160711--C# 委托的三种调用示例(同步调用 异步调用 异步回调)【转载】
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_08 转换流_2_编码引出的问题_FileReader读取GBK格式文件
- Robot Framework安装部署详细教程
- 我的常用的Linux命令