Leave a comment

Comments 63

gul_kiev August 26 2024, 17:56:01 UTC
Представим себе два куба, стоящие один на другом. По идее, они должны повести себя одинаково.
Но в таком случае получится, что второй (нижний) куб вытолкнет первый со скоростью левого портала, и ответ B становится ещё более очевиден. Или вот если портал поглотит куб и продолжит движение, поглощая то, на чём этот куб стоял.

Хотя я и так не понимаю: в случае A куб должен выползти из портала с нулевой скоростью, что ли? Но как можно выползти с нулевой скоростью?

Reply

stegorino August 26 2024, 18:44:34 UTC
Видимо, имелось в виду, что портал переносит послойно, как 3D-принтер?

Reply

livelight August 26 2024, 19:03:15 UTC
Представим себе шланг пылесоса. Он может изгибаться, как угодно, но с какой скоростью (точнее, её проекцией на ось трубы в точке входа) что-то влетает в него с одной стороны - с такой оно чуть позже вылетает с другой в направлении выхода. Вход и выход могут двигаться друг относительно друга и иметь разные направления. Вот как-то так оно и должно работать.

Reply


simtmaster August 26 2024, 17:58:04 UTC
"Существуют такие системы отсчёта ... называющиеся инерциальными".
Т.е. если душнить/заниматься заклёпничеством - то разумеется как в "Б".

Но в играх / литературе часто принято привязывать систему отсчёта к ландшафту.

Так что ответ "it depends".
"Depends" - от того какие физические законы вы провозгласили в своём сеттинге.

Reply

gul_kiev August 26 2024, 18:20:10 UTC
Боюсь, реализовать вариант A непротиворечиво (грубо говоря, чтобы программа не падала по exception) будет очень непросто. Что будет в тот момент, когда половина куба уже ушла в портал, а половина осталась? Как будет двигаться та половина, что прошла через портал?
А вариант B на первый взгляд непротиворечив.
Разумеется, речь не идёт про реальные физические законы.

Reply

vladicusmagnus August 26 2024, 18:55:36 UTC

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

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

Reply

simtmaster August 26 2024, 19:01:36 UTC
- Что будет если половина куба зашла в портал, почле чего портал сдвинулся вправо ?
- Что будет если предмет должен появиться там, где уже находится другой?
(что в варианте "а" что "б").

А так вроде решением видится:
1. Делим куб на 2 половинки (портал двусторонний?)
2. Move (для 2х половинок) - делается естественно
3. Рассчёт новых скоростей, как если куб - единое целое с точки зрения сил, действующих на него.
4. Normalize:
- рассчёт "новых" половинок (с усреднением)
- сдвиг "новых" половинок так чтобы они были прижаты к порталам со своей стороны

П.С.
Согласен, что п.4 - возможно приведёт к каким-то странным эффектам-артефактам и иметь "системой отсчёта" точку на портале было бы более естественно (убрало бы п.4 полностью).

Вроде всё.

Reply


alexanderr August 26 2024, 18:22:36 UTC

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

и потом, портал в той же системе отсчета? и это инерционная система? или она например крутится, движется с ускорением

ой, портал движущийся! еще интереснее. так мы знаем как именно он движется или бывает по разному? ну тогда "сохранить скорость" будет совсем непросто

Reply

vladicusmagnus August 26 2024, 18:57:25 UTC

В программе - проще простого. Инерция и вектор - сохраняются относительно... Тадам, обьекта. А обьект у нас что делает? Прааавильно. Лежит и не шевелится. Поэтому из портала он как какашка плюмкнется. Очевидно же, нет?

Reply

alexanderr August 26 2024, 19:35:02 UTC
интересно. т.е., что там делал объект до портала мы принципиально не знаем. при попадании в оранжевый круг он там уничтожается и его структура сохраняется в виде файла например. а потом в портале он генерируется снова. ну портал просто получил информацию об устройстве объекте и воссоздал его, как смог. естественно ему при этом быть неподвижным относительно портала. при этом нет особенной сложности заодно и придать ему любую другую скорость относительно портала. например, скорость измеренную оранжевым кругом в момент уничтожения.

т.е. тут широкий диапазон ответов, и все вполне могут быть "правильными" и "неправильными"

ваш ответ представляется вполне естественным, но и другие варианты вполне возможны

Reply

vladicusmagnus August 26 2024, 23:00:31 UTC

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

Но вот пример обычного "залёта" с сохранением импульса и вектора. Пускай будет два портала расположенные на равном расстоянии от центра карты и повёрнутые друг к другу "спиной". (схематично - так > + < ). Если вы забегаете в левый портал, и вас переносит в правый, только меняя ваши координаты, но не всё остальное... То вы сохраните вектор движения к центру (а он уже будет у вас за спиной), и между ним и вами будет портал. После чего вы с криком "ой мааать", влетаете спиной уже в правый портал, и оказываетесь ( ... )

Reply


stegorino August 26 2024, 18:37:36 UTC
Нет, работает не как в игре. В игре поталы неподвижны.
Предмет перенесенный движущимся порталом будет представлять из себя двумерный блин.
Т.е. ответ С.

Reply

vladicusmagnus August 26 2024, 19:18:16 UTC

С чего бы это? Захочу - сделаю портал подвижным, ако в первой Халфе. Тоже мне сложность. Как только пересекаешь частью тулова определенный обьем в котором по логике - портал, он срабатывает. Всё. В чем проблема не понимаю.

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

Reply

stegorino August 27 2024, 06:32:44 UTC
Сколько угодно, но речь о порталах как в Portal по условию.
Так-то можно воображить портал, который сканирует определенный объем перед собой - такой вполне может быть движущимся.

Reply

vladicusmagnus August 27 2024, 06:35:11 UTC

Насколько я помню (играл то я немного и то, только в первый), там совсем нереалистичные порталы. К физике отношения имеющие мало (к реальной физике, в смысле).

Тут вот, увы, конкретно про Портал вспомнить ничего не могу. Но они полностью модерируемые, а не физические, поэтому тут ответ один - как оный портал настроит геймдиз так и будет.

Reply


ext_3831448 August 26 2024, 19:11:20 UTC
on a related note -- do you think that scenario from this video would work?
https://www.youtube.com/watch?v=AFJbNUoreVg

Reply


Leave a comment

Up