Я делаю игру для PC Horror в Unity и хочу, чтобы в игре была симуляция записи с камеры - чтобы вы могли в любое время покинуть жуткое место, и у вас будет лента с тем, что вы записали на камеру во время исследования.
Технически, мне нужно прикрепить вторую камеру (ручную камеру) к руке персонажа и позволить игроку смотреть в видоискатель, нажимая кнопку. Но в любом положении ручной кулачок должен записывать все, что находится в фокусе в этой точке - пол, лестница, мусор и т. Д., Независимо от того, опущен он на уровне руки или поднят, чтобы соответствовать точке зрения игрока.
Когда игра заканчивается (игрок уходит или умирает), я хотел бы иметь возможность сохранять записанные ленты в видеофайл (если это невозможно, то в какой-нибудь файл сохранения).
Как я могу реализовать такую функцию в моей игре? Существуют ли какие-то специальные трюки Unity или дополнения и дополнительные модули? Сохранение декораций и сцен с активными триггерами или просто захват видео с экрана?
Ниже приведена краткая концепция MSPaint о том, что я имею в виду:
источник
Ответы:
Вам нужно визуализировать вашу сцену дважды.
Сначала вы визуализируете сцену от вида камеры до текстуры .
Затем вы визуализируете сцену с точки зрения игроков , но с текстурой, примененной к экрану камеры .
Что меняется между двумя проходами рендеринга, так это используемое преобразование камеры , в то время как видеокамера использует ориентацию и местоположение камеры, представление игроков использует ориентацию и местоположение головы игрока. Если вы используете скелетную анимацию, это будет так же просто, как прикрепить модель камеры к руке модели игрока.
Поскольку вы уже рендеритесь в текстуру, сохранение видео будет таким же простым, как сохранение текстуры в каждом кадре . Когда пользователь решит сохранить видео, вы можете преобразовать эту последовательность изображений в видеоформат .
источник