Как я могу сделать запись со второй игровой камеры и затем экспортировать ее в видеофайл?


9

Я делаю игру для PC Horror в Unity и хочу, чтобы в игре была симуляция записи с камеры - чтобы вы могли в любое время покинуть жуткое место, и у вас будет лента с тем, что вы записали на камеру во время исследования.

Технически, мне нужно прикрепить вторую камеру (ручную камеру) к руке персонажа и позволить игроку смотреть в видоискатель, нажимая кнопку. Но в любом положении ручной кулачок должен записывать все, что находится в фокусе в этой точке - пол, лестница, мусор и т. Д., Независимо от того, опущен он на уровне руки или поднят, чтобы соответствовать точке зрения игрока.

Когда игра заканчивается (игрок уходит или умирает), я хотел бы иметь возможность сохранять записанные ленты в видеофайл (если это невозможно, то в какой-нибудь файл сохранения).

Как я могу реализовать такую ​​функцию в моей игре? Существуют ли какие-то специальные трюки Unity или дополнения и дополнительные модули? Сохранение декораций и сцен с активными триггерами или просто захват видео с экрана?

Ниже приведена краткая концепция MSPaint о том, что я имею в виду:

концепция


Если ваша игра детерминирована (или достаточно близка), другой подход будет состоять в том, чтобы просто сохранить такие вещи, как позиции и данные анимации, звуковые триггеры, вход игрока и все остальное, что имеет отношение к делу, а затем воссоздать сцену из этих данных на более позднем этапе. Это использует гораздо меньше дискового пространства, чем запись каждого кадра на диск, и, вероятно, потребляет чуть меньше производительности (?).
— Кристиан

Ответы:


6

Вам нужно визуализировать вашу сцену дважды.

Сначала вы визуализируете сцену от вида камеры до текстуры .

Затем вы визуализируете сцену с точки зрения игроков , но с текстурой, примененной к экрану камеры .

Что меняется между двумя проходами рендеринга, так это используемое преобразование камеры , в то время как видеокамера использует ориентацию и местоположение камеры, представление игроков использует ориентацию и местоположение головы игрока. Если вы используете скелетную анимацию, это будет так же просто, как прикрепить модель камеры к руке модели игрока.

Поскольку вы уже рендеритесь в текстуру, сохранение видео будет таким же простым, как сохранение текстуры в каждом кадре . Когда пользователь решит сохранить видео, вы можете преобразовать эту последовательность изображений в видеоформат .


1
Имейте в виду, что, если я ничего не пропущу, этот метод не будет записывать звук вообще. От вопроса я не уверен, является ли это актуальным или нет.
— Кристиан
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.