我正在Unity中制作一个FPS游戏,我希望环境能够随着玩家在他的环境中拍摄而点亮。所以说我有一棵树。首先,它将完全是黑色或灰色,但如果我在某处拍摄,我会看到一些绿色。要完成此功能,我使用光线投影来获得影响点,因此我可以访问播放器正在拍摄的点的任何渲染器。我想下一步是编写一个自定义着色器来点亮拍摄的确切像素。您是否知道如何编写此着色器或其他方式来实现此效果?
问候
如果您使用延迟渲染:Deferred decals。
如果您正在使用正向渲染:Projectors。
如果您需要一些更高级的“类似绘画”功能,请使用与RaycastHit.textureCoord结合的渲染纹理来获得光线交叉点处的精确UV坐标。您可以使用Graphics.Blit绘制渲染纹理的东西。查看this github project获取有关如何执行此操作的一些灵感。