Я хочу сказать «неограниченная система отсчета» или «пространственно-зависимые независимые подпространства», но я не думаю, что это правильно.
Представьте себе два длинных цилиндрических космических корабля, плавающих рядом друг с другом на плоскости уровня с одинаковой ориентацией. Каждый корабль имеет свой собственный набор комнат и коридоров, в которых игроки могут свободно перемещаться в среде от первого лица. Глядя в окна, экипаж каждого корабля может улыбнуться и помахать команде другого корабля.
Первый корабль запускает свои двигатели и движется под вторым кораблем. Два корабля пристыковываются, и шлюз открывается. Экипажу первого корабля теперь нужно подняться до на второй корабль. Шлюз закрывается, и корабли отрываются.
Первый корабль снова движется, только на этот раз он стыкует поверх второго корабля. Воздушный шлюз открывается, и на этот раз экипажу первого корабля нужно продвинуться вниз во второй корабль.
Каждый корабль представляет собой автономную трехмерную среду, которая взаимодействует с другими автономными средами в более крупной глобальной среде.
Я вижу две возможные реализации.
1) «Двигатель». Каждый корабль оказывает силу на каждый объект внутри него. Когда первый корабль движется относительно второго корабля, это движение переводится команде, чтобы изменить их глобальное пространственное положение. Это кажется вычислительно дорогим ...
2) «Факер». Окна каждого корабля отображают симулированный вывод из виртуального глобального пространства, но корабли и их содержимое на самом деле не движутся относительно друг друга. Связь между кораблями - это динамический портал, который связывает обе «комнаты» корабля в правильной ориентации.
Как называется это свойство и где я могу найти примеры в реальных 3D-движках?