Unity3d Unity-静态对象忽略的顶点灯光(光照贴图)

Unity3d Unity-静态对象忽略的顶点灯光(光照贴图),unity3d,mapping,shader,vertex,light,Unity3d,Mapping,Shader,Vertex,Light,顶点灯光在动态对象上可以很好地工作,但当我将它们设置为静态并烘焙光照贴图时,它们就会被忽略 我曾尝试在着色器中更改为不同的“lightmodes”,但都不起作用。Lightmode“ForwardBase”似乎真的一团糟,尽管根据它的描述,我假设它就是要使用的 任何建议都将不胜感激:)我对手头问题的理解 据我所知,烘焙光照贴图时,唯一会更改烘焙对象灯光的光源是像素灯光。但您希望使其与顶点灯光一起工作 我仍然不能完全确定您的意思是灯光首先不会烘焙到烘焙的贴图中,还是在烘焙后它不会影响对象的灯光级别

顶点灯光在动态对象上可以很好地工作,但当我将它们设置为静态并烘焙光照贴图时,它们就会被忽略

我曾尝试在着色器中更改为不同的“lightmodes”,但都不起作用。Lightmode“ForwardBase”似乎真的一团糟,尽管根据它的描述,我假设它就是要使用的


任何建议都将不胜感激:)

我对手头问题的理解

据我所知,烘焙光照贴图时,唯一会更改烘焙对象灯光的光源是像素灯光。但您希望使其与顶点灯光一起工作

我仍然不能完全确定您的意思是灯光首先不会烘焙到烘焙的贴图中,还是在烘焙后它不会影响对象的灯光级别

无论如何,我做了一些搜索

可能的解决方案/解释1

当我搜索时,我发现了这个工具和描述

默认情况下,使用Unity的内置着色器Mobile/VertexLit照明 只能作为烘焙或实时工作,但不能显示 烘焙曲面上的实时灯光。此着色器允许烘焙曲面 还可以接收实时照明

请注意,该工具是免费的


可能的解决方案/解释2

我还看到了本教程:

作者写作的地方

使用光照贴图时,Unity将永远不包括顶点灯光。他们的 关键词是互斥的。因此,我们不需要同时使用这两种变体 顶点灯光和光照贴图同时打开

最后请注意,这些解决方案似乎是在Unity的早期版本中开发的。可能存在更合适的新解决方案


希望这对您有所帮助。

因此,从声音上看,如果这只发生在您正在使用的特定着色器上,是否正确?这是一个自定义着色器,但所有内置着色器(包括标准着色器)似乎也是如此。如果将对象设置为静态并烘焙光照贴图,则只有像素灯光才能工作,而且对于我的用例来说,像素灯光对性能的要求太高。听起来好像项目中的某些设置设置错误。试着做一个新的项目,测试一下你是否能在那里成功地烘焙出一个光照贴图。这同样发生在新的项目上。烘焙光照贴图不是问题,它们烘焙得很好。问题是将顶点灯光(而不是像素灯光)与光照贴图网格一起使用。使用顶点灯光(例如,通过将灯光渲染模式设置为“不重要”)可以很好地处理不使用光照贴图的动态对象。但第二个对象被设置为静态并烘焙贴图,只有像素灯光将与曲面交互。首先感谢您的响应。是的,烤制的灯很好用,而且不应该混合使用。问题纯粹在于实时灯光,它们应该影响静态模型(而不是原因)。关于“CATLIKECODE”的文章让我相信这将是一个问题,它指出“当使用光照贴图时,Unity将永远不会包括顶点灯光”,这正是我想要的。我没有注意到资产存储上的着色器,它似乎可以根据我测试的结果工作。unity论坛上的一位用户指出,我需要编写一个自定义照明功能。谢谢你的帮助。