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