Unity - 静态对象忽略的顶点光(光照贴图)
Unity - Vertex light ignored by static objects (lightmapped)
顶点光在动态对象上工作得很好,但第二次我将它们设为静态并烘焙光照贴图时它们被忽略了。
我尝试在着色器中更改为不同的 "lightmodes",但 none 有效。 Lightmode "ForwardBase" 似乎真的一团糟,尽管根据 https://docs.unity3d.com/Manual/SL-PassTags.html
上的描述,我认为它是可以使用的
如有任何建议,我们将不胜感激:)
我对题主的理解
据我了解,当您烘焙光照贴图时,唯一会改变烘焙对象光线的光源是像素光。但是你想让它与顶点光一起工作。
我仍然不完全确定你的意思是光一开始就不会烘烤到烘烤的贴图中,还是烘烤后它不会影响物体的光照水平。
总之,我搜索了一下。
可能solution/explanation1
当我搜索时,我发现了这个工具和描述。
By default, using Unity’s built-in shader Mobile/VertexLit lighting
works only as either baked or realtime but you cannot display a
realtime light on a baked surface. This shader allows a baked surface
to also receive realtime lighting.
请注意,该工具是免费的。
可能solution/explanation2
我也看到了这个教程:https://catlikecoding.com/unity/tutorials/rendering/part-16/
作者写的地方
When lightmaps are used, Unity will never include vertex lights. Their
keywords are mutually exclusive. So we don't need a variant with both
VERTEXLIGHT_ON and LIGHTMAP_ON at the same time.
最后请注意,这些解决方案似乎是在早期版本的 Unity 上开发的。可能存在更合适的更新解决方案。
希望对您有所帮助。
顶点光在动态对象上工作得很好,但第二次我将它们设为静态并烘焙光照贴图时它们被忽略了。
我尝试在着色器中更改为不同的 "lightmodes",但 none 有效。 Lightmode "ForwardBase" 似乎真的一团糟,尽管根据 https://docs.unity3d.com/Manual/SL-PassTags.html
上的描述,我认为它是可以使用的如有任何建议,我们将不胜感激:)
我对题主的理解
据我了解,当您烘焙光照贴图时,唯一会改变烘焙对象光线的光源是像素光。但是你想让它与顶点光一起工作。
我仍然不完全确定你的意思是光一开始就不会烘烤到烘烤的贴图中,还是烘烤后它不会影响物体的光照水平。
总之,我搜索了一下。
可能solution/explanation1
当我搜索时,我发现了这个工具和描述。
By default, using Unity’s built-in shader Mobile/VertexLit lighting works only as either baked or realtime but you cannot display a realtime light on a baked surface. This shader allows a baked surface to also receive realtime lighting.
请注意,该工具是免费的。
可能solution/explanation2
我也看到了这个教程:https://catlikecoding.com/unity/tutorials/rendering/part-16/
作者写的地方
When lightmaps are used, Unity will never include vertex lights. Their keywords are mutually exclusive. So we don't need a variant with both VERTEXLIGHT_ON and LIGHTMAP_ON at the same time.
最后请注意,这些解决方案似乎是在早期版本的 Unity 上开发的。可能存在更合适的更新解决方案。
希望对您有所帮助。