|
Quote:
Originally Posted by R a r i t y
:)))))
Ну представьте, что вы прописали лор, создали планеты, астероиды и прочие небесные тела такими, какие они вам нравятся. Задали им размеры, массу и играбельные расстояния между ними (кстати, прикиньте сколько реальных а не игровых упакованных звездных систем вместится в куб со стороной 2^64 ну скажем сантиметров, ведь у Криса 64 битная модель). После этого вы внесли в вашу систему реальную гравитацию, ну хотя бы Ньютона и запустили время. Г-н Пуанкаре доказал, что уже задача трех тяготеющих тел не имеет общего решения. То есть, запустив время в игре, вы не можете предполагать, что получили устойчивую планетарную систему, что через какое-то время она не разлетится или не схлопнется в какие-то вырожденные формы, вы даже не можете оценить будет ли она устойчива продолжительное время. Вероятно ее можно отмасштабировать так, чтобы тела не находились на реальных астрономических расстояниях друг от друга, уменьшить массы итд, но чтобы гравитация осталась реалистичной, но вселенная не раздувалась до размеров реальной? Это не так просто и без Пуанкаре. Закон Ньютона содержит в себе две части - одна, собсно, гравитационная и она линейно зависит от массы тела в поле другого и действительно можно подобрать гравитационную постоянную как масштаб. Но дело в том, что там есть и пространственная часть, где расстояние стоит в квадрате, поскольку отражает зависимость площади сферы от расстояния до ее центра. Если сила в законах механики присутствует как линейная характеристика, то вот расстояние не всегда. Есть импульс, развиваемый реактивной струей, есть энергия движения, есть мощность, требуемая на преодоление сопротивления среды при турбулентном обтекании, есть закон Кеплера - есть масса законов, куда размерность длинны входит в различной степени. Вы никогда не придумаете коэф, который бы сводил параболу к прямой в невырожденном случае, это разные закономерности, с разной производной итд. Если бы блоха была размером с человека, то она бы могла запрыгнуть на Исакиевский собор, но есть масса других факторов, почему она не смогла бы это осуществить. Точные масштабные модели самолетов не летают как их большие, полноразмерные собратья и для продувки моделей учитывают число Рейнольдса. Итд Итп. Ну так сделав реальной гравитацию, чтобы сохранить условность остальных факторов, вам придется привязывать тела веревочками в других местах и получается, что что-то все равно будет работать не так. Задавая инстансы с упрощенной механикой сил тяготения, например движение корабля по орбите планеты, вы нарушите принцип неразрывности координат, при выходе из истанса, ведь SC поддерживает бесшовный мир. Координаты в разных системах отсчета должны совпадать, иначе при выходе из инстанса с другой физикой их придется корректировать, а может придется корректировать постоянно, чтобы плавно попасть в нужную точку, но это равносильно введению каких-то неведомых сил, которые нереалистично воздействуют на корабль и которые нужны для преобразования координат. Такая же проблема в системе спутник-планета, планета-звезда. Вообщем, это сложная задача и все равно чем-то жертвовать придется. Вояки тут же завоют как им атаковать корабль на встречных курсах, если суммарная скорость первых космических для реальной Земли 16 км/с. Одно цепляет другое, а то третье...
Есть один чел в Питере, некто Романюк. Работает астрофизиком в Пулковской обсерватории. И вот есть у него хобби под названьем СпейсЭнжин. Как то в одиночку он решил все описанные тобой проблемы. Его вселенная реалестична , невероятно красива и детализирована.. Орбиты, гравитация иннерция и все остальное работает корректно. Временем можно управлять, рассматривая например движение по орбитам троянских и коорбитальных спутников Сатурна. Процедурная генерация. Бесшовные перелеты и высадки на планеты и т.д все это он уже реализовал в одиночку. Реализм во всем, от звездных систем до функционального назначения модулей корабля ( за исключением фантастического сверхсветового двигателя). В движке Спейс Энжин реализованы разные модели полетов. В частности реальный космический с выравниванием скоростей и синхронизацией вращения. А так же аркадная модель с жидким вакуумом.
Оказалось что все описанные тобой проблемы оказались под силу разработчику любителю. Он обещает в скором времени SDK своего движка для разработки игр на нем:)
IDDQD - Команда молодости нашей, Команда без которой мне не жить.
Last edited by Kavank; 07.09.2018 at 17:17.
|