最近,我一直在将Sebastian Lague的Solar System项目从Coding Adventures迁移到URP。最难的部分是做出Graphics.Blit和OnImageRender()的替代品。有着严格的限制,但我想出了如何让它工作并成功地提取正在渲染的渲染纹理。 我必须构造一个建造者并执行UseTexture()和SetDestinationTexture(),然后是SetRenderFunc(),并且只有在渲染函数中我才能提取渲染纹理。为了保持纹理句柄作为引用,我实际上使用一个名为TextureHolder的自定义类,仅仅存储一个纹理句柄。这样我就可以继续从之前渲染的纹理上,所以我可以渲染所有的材料。注意,当进入大气层时,恒星会消失,海洋细节也会消失。两者都是自定义的后处理效果。

Solar System项目源视频:Solar System Project