问题
-
当在场景中使用烘焙阴影或实时阴影时,游戏对象不显示任何阴影。
原因 & 解决方案
实时阴影:
- Baking Settings烘焙设置:此选项指定光线会影响什么。 有3个选项 - RealTime,Baked,Mixed。 要显示实时阴影,请确保选择RealTime或Mixed。
- Shadow Type阴影类型:此选项面板下的选项是:硬阴影,软阴影或无阴影。 对于实时阴影,我们需要保证选择的是硬阴影或软阴影。
- Culling Mask剔除遮罩:这些遮罩允许您指定光线将影响的层。 例如,如果我们有一个角色,同时设置为一个名为“角色”的自定义图层并希望他受到光线的影响,遮罩剔除需要包含“角色”图层。
-
另一个需要检查的是质量设置窗口,可以通过转到顶部菜单并选择Edit -> Project settings -> Quality来找到。 这将在检视面板打开上面所示的窗口。检查上面所示的红色高亮区域:
- Shadows阴影:可以在此字段中指定允许在项目中渲染的阴影。 确保选定硬阴影或硬阴影和软阴影。
- Shadow Distance阴影距离:这是从相机上,阴影将可见的最大距离。 设置为实时阴影的对象,投射超出此距离的将不会被渲染。
-
接下来检查没有显示实时阴影的对象。 选择包含渲染网格或蒙皮网格组件的对象。
- Static静态:这将切换对象在场景中是静态的还是动态的。如果用实时光则不勾选。
- Cast shadows and Receive shadows投射阴影和接收阴影:这些指定网格渲染器是否投射和接收阴影。 请注意,实时亮起的对象不会接收到烘培阴影。 请参阅Mixed mode lighting - Baked objects casting shadows on realtime objects以获取更多信息。
Baked shadows烘培阴影:
- Baking烘焙:类似于光线上的实时设置,光线组件中的烘焙选项需要设置为烘焙或混合,以显示烘焙阴影。
- Static静态:在光照贴图烘焙中要指定包括网格,需要检查静态字段。
- Cast shadows and Receive shadows投射阴影和接收阴影:如果对象在烘焙光照贴图期间投射阴影,则需要将投射阴影设置为打开。 如果对象需要接收烘焙或实时阴影,则应选择接收阴影。
- Baked GI烘培GI:要启用烘焙光照贴图,请确保从Scene面板的Lighting窗口中启用Baked GI。
- Lightmap Static静态光照贴图:在对象选项卡下Lighting窗口中,有一个静态光照贴图开关。 当游戏对象在检视面板中设置为true时,此属性设置为true。 可以将此静态光照贴图选项卡单独设置为检视面板中的静态切换,以创建想要批量渲染游戏对象但不让它们进行光照贴图的特定情况。 在需要对象烘焙并使用光照贴图的情况下,我们需要对静态光照贴图切换进行检查。
更多信息
Quality Settings质量设置参考
Light Component光照组件参考
Mesh Renderer网格渲染器参考
Light Performance光照性能参考
本文适用于Unity 5.x。