如何从第二个游戏中的摄像机录制,然后将其导出到视频文件?


9

我正在Unity中制作PC恐怖游戏,我想在游戏中进行摄像机录制模拟-这样您就可以随时离开一个令人毛骨悚然的位置,并且在浏览时您会得到一盘录像带。

从技术上讲,我需要在角色的手上安装第二个摄像头(手持摄像头),然后让玩家通过按下按钮浏览取景器。但是无论在任何位置,手持摄像机都必须记录该点聚焦的所有内容-地板,楼梯,垃圾等,无论是将其放低还是抬高以符合玩家的视线。

游戏结束时(玩家离开或死亡),我想选择一个选项,将录制的磁带保存到视频文件中(如果不可能,则保存到一些保存文件中)。

如何在游戏中实现这种功能?是否有一些特殊的Unity技巧,附加组件和附加模块?使用主动触发器保存装饰和场景,还是仅从屏幕上抓取视频?

以下是我的意思的快速MSPaint概念:

概念


如果您的游戏是确定性的(或足够接近),则另一种方法是只保存位置和动画数据,声音触发器,玩家输入以及其他任何相关内容,然后在以后根据此数据重新创建场景。与将每个帧记录到磁盘相比,此方法使用的磁盘空间要少得多,并且可能会消耗很少的性能(?)。
基督教徒

Answers:


6

您需要两次渲染场景。

首先,从摄像机场渲染场景到texture

然后,从玩家的角度渲染场景,但将纹理应用于相机屏幕

两个渲染通道之间的变化是使用的相机变换,而摄录机使用相机的方向和位置,而玩家视图则使用玩家头部的方向和位置。如果您使用的是骨骼动画,这就像将相机模型附加到玩家模型的手一样容易。

既然您已经渲染了纹理,那么保存视频就像保存每帧纹理一样容易。当用户选择保存视频时,您可以将此图像序列转换为视频格式


1
但是请注意,如果我什么也不丢失,则此方法根本不会录制任何音频。从这个问题我不确定这是否相关。
基督教徒
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.