好的,我一直在尝试做一个定制的2D照明系统,我正处于一个恼人的阶段,我知道我想做什么,但我不知道该怎么做。
计划如下:
反正这就是我的主意。我把这个搞砸了。我使用一个单独的相机将光线映射渲染成一个渲染纹理与一个剔除掩码,这样它只渲染光网格,这是在他们自己的一层。然后,我手动地将该纹理传递给使用其屏幕uvs的着色器进行采样。
这有点工作,但现场视图是完全混乱的,因为它试图照亮的东西,就好像你是从照明相机的角度看它。我觉得这会使系统很难使用,所以我想尝试使一些感觉更有凝聚力。
下面是一些截图来解释:

浅褐色的盒子是我的“灯”,它被渲染到灯光摄像机上,在场景中可见。下一张是呈现给lightmap的内容:

黑色背景不是来自大黑匣子,清晰的标志只是设置为黑色。
现在根据这张光地图,屏幕的中央应该亮起来。事情就是这样的:

注意,在游戏视图中,由于光摄像机的设置与游戏摄像机具有相同的位置/旋转/透视设置,所以看起来很好:

主要的问题是找出额外的渲染。在只呈现光网格的场景渲染之前,是否要为主摄像机创建一个额外的通行证?我可能会从那里算出剩下的。如果我能让lightmap成为一个全局着色器变量,这样我就不必把它传递给每一个单独的材料,而是一次一件事,对吗?
非常感谢任何人能在这个问题上阐明一些观点。我仍然是相当新的着色器和渲染,所以任何帮助都是非常感谢。
发布于 2022-05-19 17:25:30
如果我正确理解的话,你的问题是你的灯光在场景视图中的外观,对吗?
为此,您可以为它们创建一个自定义小部件,并隐藏原始对象。有一个教程:
https://stackoverflow.com/questions/72308150
复制相似问题