首页 文章

在UI元素上保存粒子的屏幕截图

提问于
浏览
0

是否可以在Unity 2017的UI元素顶部保存粒子的屏幕截图?

我的Unity应用程序涉及在视频流上显示粒子(来自设备的相机) . 视频流是一个UI元素,可随设备尺寸的变化而缩放 .

我的游戏视图成功显示了位于视频UI画布顶部的粒子 .

我有一台带有两个儿童摄像头的主摄像头:GUI摄像头和粒子摄像头 . 我将所有三个摄像机的Clear Flags属性设置为Depth Only,并将每个摄像机的剔除掩码分别设置为UI Particles,UI和Particles .

我遇到的问题是我的主相机的相机预览看起来像附加的粒子(即使所有内容都出现在游戏视图中) .

Main Camera view

这是一个问题,因为我的截图和录制使用主摄像头预览中的内容,而现在他们只是保存粒子,而不是背后的视频 .

如何使主摄像头预览显示UI和粒子,以便它与游戏视图匹配?或者,有没有更好的方法让一切工作?

用于捕获屏幕截图的代码在一个要点here上 - 它可以很好地捕获's on any camera - my problem is that I can only see particles on the camera I'捕获的内容

1 回答

  • 0

    我最终通过将我的设置恢复到以下内容来解决这个问题:

    我添加了两个摄像头 - 主摄像头和粒子摄像头 .

    我的所有UI元素都将其渲染模式设置为Screen Space - Camera . 我的粒子相机与我的主相机完全分开 . 我创建了一个新的渲染纹理,将我的粒子放在粒子相机前面,并将粒子相机的目标纹理设置为我刚刚创建的渲染纹理 .

    最后,我在UI Canvas中添加了一个新的Raw Image UI元素,并将其纹理设置为我创建的渲染纹理 .

    这不仅会在我的UI元素前面显示粒子,而且会在我的主摄像头预览中显示它们,因此我可以保存摄像机的屏幕截图 .

相关问题