Есть ли что-нибудь эквивалентное в Portal 2 connected_portal_door в любых других движках? [закрыто]

9

Мне нужна функциональность метода connected_portal_door, который есть в Portal 2. Я немного искал в UDK, и в большинстве случаев люди пытались продублировать пистолет портала. Кто-нибудь знает, есть ли что-нибудь подобное в UDK, CryEngine, Unity3D или любом другом движке? Я не против использования Source, я просто хочу знать, какие у меня есть варианты.

wolfadex
источник
1
Немногие из крупных известных двигателей делают, так как большинство из них получены из Quake или используют аналогичные методы. Меньшие или менее известные движки использовали порталы в качестве основного метода отбора сцены. Напомню, что CrystalSpace использовал порталы для соединения всех секторов (аналогично тому, как работал Doom / Doom2, но в полном 3D). Вы можете попробовать этот двигатель. Я не был в курсе его разработки, поэтому я не знаю, есть ли у нее переключение на другую технику управления сценой или нет.
Шон Мидлдич

Ответы:

8

Я почти уверен, что Source Engine - единственный движок, который будет поддерживать это из коробки. Вы можете прочитать о некоторых технических проблемах в статье, которую я нашел на Gamasutra , скопированной здесь для будущих читателей:

«Другая проблема, с которой мы столкнулись, заключалась в необходимости изменения дистанционных систем, таких как уровень детализации (LOD) для моделей, потому что в нашей игре расстояние зависит от местоположения портала.

Это означает, что при расчете расстояния выбираются три линии, соединяющие две точки, а не одну линию. Кроме того, линия обзора может проходить через один портал более одного раза, чтобы достичь своей цели.

Source Engine делает много предварительно вычисленных оптимизаций видимости для отбора. Разрешение пользователям соединять листы видимости с порталами добавило еще один уровень сложности.

Для лучшего рендеринга мы реализовали метод рисования буфера трафарета для представлений портала, который дал нам большую гибкость для обработки глубины рекурсии портала. Это позволило нам рендерить бесконечно глубокое количество порталов (ограниченных только производительностью), что делало наши «бесконечные» коридоры довольно аккуратными.

Трафаретный рисунок также помог нам решить проблему правильной интеграции с другими технологиями в движке Source, такими как цветение HDR. Так как нам приходится визуализировать наши сцены еще два раза для наших порталов, мы приложили немало усилий для того, чтобы сделать порталы максимально быстрыми, как, например, отбраковка усреднения специального вида на основе краев портала и оптимизация списка для рисования портала. "

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

РЕДАКТИРОВАТЬ:

Нашел другую хорошую статью, содержащую это:

Быстро, мы поняли, что нам нужен более надежный метод для рендеринга порталов и обеспечения возможности плавного перемещения игрока и других объектов между ними. Это потребовало, чтобы мы углубились в код рендеринга и физики движка Source, и нам пришлось программировать нашу собственную систему портала.

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

Джон Макдональд
источник
Стоит отметить, что многие из этих проблем были сложностью добавления порталов в существующий движок Source, производный от Quake2. Существуют и другие движки, основанные на портале для отбора сцен с самого первого дня.
Шон Миддледич
На какие двигатели вы ссылаетесь?
wolfadex
0

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

Creeper Host
источник