Типичное название современного аниме
Это реальное аниме: https://www.kinopoisk.ru/series/1273738/
Это реальное аниме: https://www.kinopoisk.ru/series/1273738/
Те, кто играл в Portal, либо видели, либо задавались вопросом о том что будет если засунуть портал в портал. Я этот вопрос решил.
И вот гифка того что произойдёт:
1.5 года назад я уже публиковал на Пикабу пост с решением этого, но тогда меня хватило только на то, чтобы отрендерить одно видео. Но сейчас всё иначе, я упоролся ещё сильнее, и теперь меня хватило чтобы создать веб-демку, где можно прямо в браузере покрутить портал под разными углами; и меня хватило на создание видео, где подробно объясняется как это работает, для тех, кому интересна мат. часть! В видео так же объясняется почему я делаю это несмотря на «порталы не могут размещаться на двигающихся поверхностях» и что там внутри портала в портале происходит.
Вот демка в браузере: https://optozorax.github.io/portal/?scene=portal_in_portal (осторожно, с телефона лучше не открывать, лучше с компа и с хорошей видюхой, сорри, просто там тяжёлым ray tracing'ом рисуется).
Вот объясняющее видео: (длится 24 минуты)
Мы привыкли что порталы состоят из двух равноценных частей, которые работают как один дверной проём, соединяющий две комнаты. А можно ли усомниться в этом и придумать портал, который состоит из трёх частей?
Да! И в этом посте я расскажу об этом.
Он выглядит следующим образом:
Как видно, он ничего не рвёт, выглядит очень непрерывно, и вообще, даже объект в центре него получается целым! На самом деле, в стыке, где соединяются три портала, объект разрезается, но потом это разрезание тут же компенсируется, благодаря чему объект остаётся целым как бы он не входил. Так работают любые порталы: моментально уничтожая объект в одном месте и собирая в другом, тут просто этого происходит сложнее.
По аналогии с тем что обычные порталы могут соединить 2 мира, данный «тройной портал» может соединить 3 мира.
Он получается уже не плоским, но эта форма никак не мешает ему быть непрерывным, главное что с каждой стороны каждая прямая линия и угол сохраняются.
Его можно собрать из трёх пар примитивных порталов из двух частей. Я эти пары порталов соединил спинами, чтобы они выглядели как дверные проёмы, которые на самом деле не порталы вовсе, и их разъединение разделяет пространство-время.
А что если поставить эти порталы друг напротив друга? Какую картинку рекурсии они будут образовывать? Ох, очень красивую. И это уже не просто скучная рекурсия, как с обычными порталами из двух частей, это уже полноценные фракталы.
Я сделал веб-демку, где вы можете зайти (только с компьютера) и посмотреть на этот тройной портал самостоятельно, а самое главное — вы можете его покрутить! Это рендерится на очень тяжёлых шейдерах с использованием рей-трейсинга, благодаря чему картинки получаются такими глубокими и корректными, но и из-за этого он потребляет много ресурсов компьютера. Так что со слабым компьютерам лучше сделать разрешение браузера поменьше. Ещё интерфейс изменяется если вы измените масштаб страницы.
https://optozorax.github.io/portal/?scene=triple_portal
Так же на картинках выше вы можете видеть слева окошко с параметрами, вы можете эти параметры задать в веб-демке и увидеть абсолютно ту же картинку, что на них изображена!
Я сам, когда создал демку, залип где-то на час круча и вертя параметры в разные стороны :)
Много лет назад я гулял по пикабу и наткнулся на этот пост:
Тогда он сломал мне мозг, и я записал идею о том, чтобы когда-нибудь просимулировать это и узнать что же реально случится.
Потом, однажды во время просмотра Рика и Морти, мне совершенно случайно пришла идея о том, что порталы можно разрезать каждую итерацию по времени, и телепортировать независимые части, при этом будет сохраняться непрерывность портала. И вот, спустя долгое время кодинга, отладки и рендеринга, я готов представить результат. Оказалось это возможно и даже немного красиво.