Я пытаюсь воспроизвести портал, показанный в этом видео: https://youtu.be/_SmPR5mvH7w?t=245.
И, более конкретно, реализация концепции: «Что сейчас видит наша портальная камера это то, что наша камера должна видеть на самом деле: "
Прямо сейчас у меня есть SceneCaptureComponent2D, который выполняет рендеринг в Render Target, который подключен к материалу, показанному на изображении ниже.
Ссылка на изображение, показывающее мой материал.
Белый квадрат с четырьмя красными углами, показанный на изображении, - это обратная сторона портала (в настоящее время видна для отладки).
Что я хочу сделать, так это взять этот белый квадрат и увеличить его, чтобы покрыть весь материал. Учитывая экранные координаты этих красных углов. Есть ли способ масштабировать изображение таким образом, чтобы эти углы теперь располагались в координатах (0,0), (0,1), (1,0) и (1,1) материала или текстуры?
CapureComponent перемещается по сцене по отношению к игроку, поэтому это нужно делать во время выполнения и учитывать просмотр белого квадрата под углом, делая координаты диагональными по отношению друг к другу. Ранее я пытался изменить UV материала и умножить смещение так, чтобы я как бы обнулял белый квадрат, но не смог сделать его диагональным, чтобы он соответствовал только квадрату, если смотреть под углом.
Могу ли я изменить камеру, текстуру или материал? Любая помощь приветствуется!