Пятница, 15 Ноября 2019, 10:02

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Модератор форума: beril  
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » True gravity
True gravity
zisXДата: Среда, 13 Августа 2014, 23:58 | Сообщение # 1
Neto Zis
Сейчас нет на сайте
Подскажите алгоритм как сделать нормально гравитацию, под нормальной гравитацией я имею ввиду вот что см.п1
п.1 - в общем например есть 2 большие сферы, например радиусом 6 371, на которых весит скрипт их массой.
Например 1 планета будет весить 6000000кг, а 2 2000000кг.
И есть другой объект допустим недавно сформирова́вшийся планета размером всего 5000000кг, и поставим её между двумя этими планетами, и эта новая планета должна приближаться к той планете которая больше.

Так как я не силен в физике подскажите как все это высчитать.

Добавлено (13.08.2014, 23:58)
---------------------------------------------
Так как я не могу изменить тему из-за не зная какого бага, исправлю тут не 5000000кг, а 1000000.


SarCasmДата: Четверг, 14 Августа 2014, 00:00 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
1) Использовать кастомную физику (вроде были какие то наработки для юнити)
2) Пилить физику самом скриптами. И да, сократи все массы на пару миллионов, программу цифрами может и не удивишь, но вот оверфлоу сделаешь наверняка.


Моя игра Gamiron#11 - Тема Скачать
zisXДата: Четверг, 14 Августа 2014, 00:14 | Сообщение # 3
Neto Zis
Сейчас нет на сайте
SarCasm, вот ещё вопрос.
В общем немного призадумался, по закону всемирного тяготения мы тянемся так сказать к земле по формуле всемирного тяготения.
Теперь сам вопрос масса планеты Земля во много раз меньше чем Солнце, почему мы не летим к солнцу?


SarCasmДата: Четверг, 14 Августа 2014, 00:18 | Сообщение # 4
заслуженный участник
Сейчас нет на сайте
zisX, http://eti-deti.com/pochemu....-padaet

Моя игра Gamiron#11 - Тема Скачать
zisXДата: Четверг, 14 Августа 2014, 00:22 | Сообщение # 5
Neto Zis
Сейчас нет на сайте
SarCasm, Спасибо, хорошо что есть хорошие люди, задал вопрос не только тут все почти все ответили)

ЛевшаДата: Четверг, 14 Августа 2014, 02:41 | Сообщение # 6
почти ветеран
Сейчас нет на сайте
Цитата zisX ()
Теперь сам вопрос масса планеты Земля во много раз меньше чем Солнце, почему мы не летим к солнцу?

Устойчивое равновесие в физике.


X.cor.R (Prologue)

Сообщение отредактировал Левша - Четверг, 14 Августа 2014, 10:22
zisXДата: Четверг, 14 Августа 2014, 03:46 | Сообщение # 7
Neto Zis
Сейчас нет на сайте
Левша, Меня почему то перекидывает не на видео, а на главную страницу youtube.

ArtanielДата: Четверг, 14 Августа 2014, 04:07 | Сообщение # 8
частый гость
Сейчас нет на сайте
На сколько я помню школьный курс физики, сила тяжести в таком случае будет:

F = G*m1*m2 / (r*r)
G - глобальная константа, подобрать исходя из игровой динамики.
m1 и m2 - массы взаимодействующих тел
r - расстояние между центрами масс

Человек к земле притягивается сильнее потому что квадрат расстояния влияет больше, чем масса.

Я бы просто периодически обходил все действующие тела,
перебирал для каждого все тела с которыми он взаимодействует,
находил силы взаимодействия по этой формуле,
превращал их в вектора (умножал на единичный вектор в направлении того с кем взаимодействуем),
складывал все такие векторные силы как вектора (в юнити элементарно, в флеше надо попотеть с самодельной векторной алгеброй, где вы работаете не знаю),
ну и применял эту суммарную результирующую силу к текущему телу (опять таки одна команда для юнити, много секасу с кинематикой для флеша).
ЛевшаДата: Четверг, 14 Августа 2014, 10:22 | Сообщение # 9
почти ветеран
Сейчас нет на сайте
Цитата Artaniel ()
Меня почему то перекидывает не на видео, а на главную страницу youtube.

Сорри, чето не так скопировал... поправил ссылку.

Цитата
масса планеты Земля во много раз меньше чем Солнце, почему мы не летим к солнцу?

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


X.cor.R (Prologue)

Сообщение отредактировал Левша - Четверг, 14 Августа 2014, 10:32
MANMANAДата: Четверг, 14 Августа 2014, 11:07 | Сообщение # 10
почти ветеран
Сейчас нет на сайте
zisX, базовых познаний физики вполне хватит для построения модели вселенной, в сети наталкивался на подобные модели. Точно не скажу, где именно, но, если память не изменяет, на hab...

To Левша:
"Катюша" жжет.
Из серии про огурцы и .
Жду летающих тарелок.
Корона-разряд объяснить необъянимым и несистематизированным, вечный двигатель...
Левша, не думал, не думал...

Вот перец из той же серии... Последователь первого? http://pleskov.com/?p=238

"> Классический пример Вечного двигателя, не противоречащий официальным теориям, можно наблюдать на примере Саяно-Шушенской ГЭС: Течёт вода, вращает турбины, вырабатывает электрическую энергию. Вода течёт практически безконечно, ибо это природный цикл. Где-то испаряется, ветром переносится назад и конденсируясь, вновь попадает в нашу реку. Однажды запустили и получаем энергию практически до полного разрушения плотины. Главное в этом деле следить за тем, чтобы она как раз и не разрушалась."

Ну, без комментариев, да?

И А. Т. Фоменко - такой Фоменко...


http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
VKонтакте 3Dbuffer

Последнее:

Новый раздел "Текстуры"

Как запатентовать, защитить техническое решение, игру, идею


Сообщение отредактировал MANMANA - Четверг, 14 Августа 2014, 11:22
EfimovMaxДата: Четверг, 14 Августа 2014, 11:27 | Сообщение # 11
заслуженный участник
Сейчас нет на сайте
Зачем ты в кило всё меришь? Во-первых читать неудобно, во-вторых кто измеряет массу планеты килограммами, в третьих на оверфлоу можешь нарваться.
1000 килограмм = 1 тонна
1000 тонн = 1 килотонна
1000 килотонн = 1 мегатонна


Текущий проект: The Experiment ☭

Выпущенные проекты Steam:
Princess.Loot.Pixel.Again
Princess.Loot.Pixel.Again x2
Dungetris
OtinagiДата: Четверг, 14 Августа 2014, 12:33 | Сообщение # 12
постоянный участник
Сейчас нет на сайте
Цитата MANMANA ()
базовых познаний физики вполне хватит для построения модели вселенной

Базовых знаний хватит лишь построить взаимодействие двух тел или соорудить систему со статическими параметрами (например, солнечную систему, без внесения в неё нового тяжелого объекта). К слову, нет точного решения грав. взаимодействия более трех тел ("грав. задача N тел"). В итоге, все расчеты ведутся по упрощенным мат моделям. И чем слабее ЭВМ для расчета, тем более упрощенная модель. Для игр, как правило, более-менее точные мат. модели не подходят. Тут уже надо извращаться. Я бы посоветовал в первую очередь посмотреть в сторону расчета гравитацыонных маневров спутников - книги и статьи на эту тему есть в инете. Отсюда следует взять инфу об исключении объектов для расчетов учытывая массы и положения объектов. Условно говоря, для системы Солнце-Земля-Луна, можно исключать Солнце и расчытать вращение Луны вокруг Земли, а потом исключать Луну и расчытать вращение Земли вокруг Солнца. Расчет можно вести или через силы, как писал Artaniel, или через скорости - это надо уже смотреть, как удобнее в прожекте и конкретной ситуацыи. При этом не использовать центры масс систем. Конечно, в итоге объекты будут летать почти по круговым орбитам (например, при моделировании Солнечной системы), но для игры этого вполне достаточно.

Еще есть вариант не динамически вести расчет параметров на каждом тике игры, а создавать статические параметры системы при добавлении нового объекта в систему. Это немного сложнее, и затратнее на этапах расчета, но зато потом игра практически не требует ресурсов (= Например, просчытать несколько опорных точек орбит планет и потом просто перемещать объекты по интерполированной прямой.

Правда, есть еще один вариант (= Как-то очень давно делал подобный прожектик. Я взял за основу идею из ОТО. А именно, что гравитацыя - это искривление геометрии пространства-времени. Время я убрал, а пространство оставил, но двумерное (: Третье измерение я использовал как параметр искривления 2д-пространства. Это искривление очень легко счытал при создании нового объекта. В зависимости от массы объекта, был и свой радиус расчета этого искривления. А потом все просто - в каждый момент расчета я суммировал эти искривления и получал направление, куда "скатывается" объект. Но я бы этот способ не советовал - тут надо памяти много для хранения искривлений объектов и общего искривления пространства, + иногда возникали "странные" явления при столкновении большых по массе объектов - программа падала. Видать, там создавалась черная дыра (((:

Когда-то давно нашел прикольный проектик по теме: проектик


«Смерти меньше всего боятся те люди, чья жизнь имеет наибольшую ценность.»
Иммануил Кант
MANMANAДата: Четверг, 14 Августа 2014, 12:38 | Сообщение # 13
почти ветеран
Сейчас нет на сайте
Ех, сколько планет предполагается в системе?
Насколько вероятно превышение значения переменной типа Double (от -1,79769313486231570E+308 до -4,94065645841246544E-324 и от 4,94065645841246544E-324 до 1,79769313486231570E+308)?

Добавлено (14.08.2014, 12:38)
---------------------------------------------

Цитата Otinagi ()
Базовых знаний хватит лишь построить взаимодействие двух тел или соорудить систему со статическими параметрами

Цитата Otinagi ()
Для игр, как правило, более-менее точные мат. модели не подходят.


Верно, все зависит от входных параметров и точности воспроизведения модели вселенной.
Я имел ввиду совсем простенькую модель вселенной, не претендующую на реалистичность.


http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
VKонтакте 3Dbuffer

Последнее:

Новый раздел "Текстуры"

Как запатентовать, защитить техническое решение, игру, идею
zisXДата: Четверг, 14 Августа 2014, 15:16 | Сообщение # 14
Neto Zis
Сейчас нет на сайте
Планет достаточно много, так как генерируются рандомно.

Добавлено (14.08.2014, 15:16)
---------------------------------------------
И ещё небольшой вопрос, почему крутится земля?
Погуглив я понял что на это повлияло солнце, т.е. солнце тоже должно вращаться, а почему солнцу вращается?
И так далее до бесконечности.




Сообщение отредактировал zisX - Четверг, 14 Августа 2014, 15:22
SarCasmДата: Четверг, 14 Августа 2014, 15:46 | Сообщение # 15
заслуженный участник
Сейчас нет на сайте
У меня есть вопрос, а почему ты вопросы по физике задаешь на форуме по игрострою в теме Unity? biggrin

Моя игра Gamiron#11 - Тема Скачать
zisXДата: Четверг, 14 Августа 2014, 16:09 | Сообщение # 16
Neto Zis
Сейчас нет на сайте
SarCasm, Хочу приблизить к реальности одну игру)
В вопросами гемплея уже разобрался, интересны вечные вопросы)




Сообщение отредактировал zisX - Четверг, 14 Августа 2014, 16:15
ArtanielДата: Четверг, 14 Августа 2014, 17:50 | Сообщение # 17
частый гость
Сейчас нет на сайте
Цитата zisX ()
И ещё небольшой вопрос, почему крутится земля?
Погуглив я понял что на это повлияло солнце, т.е. солнце тоже должно вращаться, а почему солнцу вращается?
И так далее до бесконечности.


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


Сообщение отредактировал Artaniel - Четверг, 14 Августа 2014, 18:01
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » True gravity
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2019 Рейтинг