PMG

Форумы по созданию игр
Текущее время: 26 сен 2017 15:09

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: Физика в играх, движок
СообщениеДобавлено: 26 фев 2010 19:14 
Не в сети
Постоянный
Аватара пользователя

Зарегистрирован: 26 фев 2010 13:18
Сообщения: 85
Всем привет.

Хочу разработать физический 3D движок, в связи с этим возникает много вопросов.
Вот как я себе это представляю (поправьте меня, если я не прав):

Движок состоит из двух частей:
1. определение столкновение объектов;
2. определение результата столкновения (ну что происходит с объектом вращение, движение и т.п.).

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

Определение столкновения объектов – здесь нужно определить произошло ли соударение объектов (сфер, кубы, цилиндра, плоскость, сетчатая модель) и к какой точке произошло соударение.
Вот задача нам нужно определить произошло ли соударение, летящей пули с моделью человека.
Решение: мы ограничиваем модель сначала в общий куб (здесь определяем попала ли пуля в габариты модели), дальше делаем ещё ограничивающие кубы (или другие объекты) для того что бы определить в голову попали или в руку. Ну а потом уже в выбранной области проверяем, в какой непосредственно полигон модели попали.. Всё это делается для того, чтобы разумеется сократить расчеты и сэкономить ресурсы компьютера.

А вот вопрос возникает в том, что как рассчитывать соударение объекта с поверхностью, с землёй?
Соударение сферы, цилиндра, куба проблем как бы нет, мы знаем их радиус, вершины и просчитываем, но опять, при не ровной поверхности понадобится каждый полигон участка, куда падает модель проверять?
Опять же задача: вот падает сетчатая модель, неправильной формы, на землю, пусть пока в виде плоскости.
Нужно определить, как эта модель будет взаимодействовать с землей?
Прогонять все полигоны модели и участка, куда падает модель, а сколько для этого ресурсов понадобится для ресурсов? Как можно оптимизировать?
Необходимо ли хранить вектор нормали для каждого полигона? Можно ли это оптимизировать?
Вот вопросы, на которые, я надеюсь, вы поможете мне разобраться. :)


P.S. Нашёл на форуме, что у MagicWolf есть книга Morgan.Kaufmann,.Game.Physics.(2004).LRN.LotB.pdf.
Огромная просьба залить ещё раз, если есть возможность.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Физика в играх, движок
СообщениеДобавлено: 28 фев 2010 12:45 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2686
Откуда: Кирово-Чепецк
С землей в принципе так же как и с объектом. В принципе земля ничем от объекта не отличается. Везде надо думать приниципами алгоритма LOD. Ландшафт разбивается на квадратики, вот с каждым квадратиком и проверяешь вначале столкновение. У квадратика также есть ограничивающий его куб или цилиндра (некое тело простой формы), в простейшем случае плоскость или несколько плоскостей по максимальной высоте. А дальше как в LOD, ищешь в большом квадратике уже нужные треугольники. Вообще если теже алгоритмы для визуализации ландшафта применять к столкновениям, мне кажется они вполне подойдут.

Ebooks надо на данный момент искать на gigapedia.com. Вначале надо зарагестироваться на gmail.com, потом на gigapedia.com. Там есть пункт в меню "создать", вставляешь номер ISBN-13 / ISBN-10 / ASIN: нужной книги и она находится... или не находиться...

Если ты имел ввиду вот эту книгу:
http://www.amazon.com/Game-Physics-Inte ... 067&sr=1-2

То ее можно взять:
http://ifile.it/zjknrie/jKNJXEM4p9H.7z

ebook file type: .pdf
archive password: gigle.ws
ebook file md5sum: 2722b687627a321abf636061dce94899
ebook file size: 81.81 MB (85788510 bytes)

Я могу поискать еще книги или материалы про столкновения, если надо...

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Физика в играх, движок
СообщениеДобавлено: 01 мар 2010 08:24 
Не в сети
Постоянный
Аватара пользователя

Зарегистрирован: 26 фев 2010 13:18
Сообщения: 85
MagicWolf

Спасибо.
Если есть ещё какие книги скидывай, буду признателен.
А есть исходники к книге?

А вот вопрос по поводу столкновение между объектами сложно формы(между моделями), то я так понимаю всё так же аналогично?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Физика в играх, движок
СообщениеДобавлено: 01 мар 2010 10:31 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2686
Откуда: Кирово-Чепецк
В принципе, как я понял, да. Вначале бьешь все пространство на кубы (но тогда возникает вопрос о том какой размер куба подходящий) или например octree, т.е. разбиение там чаще, где больше объектов. Затем надо понять попадают два объекта в одну область пространства (например, один или n-кубов) или не попадают. Попадают, значит тест на пересечение оболочек, пересеклись, значит надо по точнее пройтись ... Сложнее с BSP, там свои тесты и они весьма не просты. Где-то я о них читал, счас не помню, давно было. Там масса глюков возникает, причем как мне показалось на пустом месте.

Вообще спосбы высчислить столкновения зависят от способа пространственного представления в игре объектов. Т.е. для terrain одно, для BSP другое, для LOD третье, для простых способов, когда весь мир разбит на квадратики другое, так что я не понимаю как в этом плане сделать что-то универсальное...

Есть такие книги:
Elsevier, Collision Detection in Interactive 3D Environments (2004).pdf
Real-Time Collision Detection.pdf
Charles River Media - Mathematics and physics for programmers, 2005.djvu
Charles_River_Media.Mathematics_for_3D_Game_Programming_and_Computer_Graphics,_Second_Edition.pdf
Essential Mathematics for Games and Interactive Applications Second Edition.pdf
essential-mathematics-for-games.pdf
game-physics-engine-development.pdf
Morgan.Kaufmann,.Game.Physics.(2004).LRN.LotB.pdf
New.Riders - Beginning Math and Physics For Game Programmers.chm
O'Reilly - Physics for Game Developers.pdf.rar
physics-for-game-programmers.pdf
Premier Press - Mathematics for Game Developers.pdf.rar
Premier Press - Physics Modelling For Game Programmers, source code.zip
Premier Press - Physics Modelling For Game Programmers.pdf.rar
Wordware Publishing - 3D Math Primer For Graphics And Game Development.pdf.rar

Game Institute - Game Mathematics Textbook.pdf
Game Institute - Game Mathematics, Lectures.rar
Game Institute - Physics for Game Developers, Lectures.rar

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

Куда все это кинуть, даже ума не приложу.

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Физика в играх, движок
СообщениеДобавлено: 01 мар 2010 11:34 
Не в сети
Постоянный
Аватара пользователя

Зарегистрирован: 26 фев 2010 13:18
Сообщения: 85
Много книг это хорошо конечно, но сколько времени, что бы их все прочитать, разобраться в каждой... :x

Если будет возможность, скинь книги вот последние.
А ты сам писал, что-то подобное?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Физика в играх, движок
СообщениеДобавлено: 01 мар 2010 13:25 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2686
Откуда: Кирово-Чепецк
Нет не писал, только прорабатывал. В большинстве случаев используют уже готовую либу для определения столкновений и физики. Вообще реализация не только физических, но и химических и биологических законов, законов социума - вещь не элементарная. Это надо в универе каком-то прорабатывать и не одном. У нас в стране такое маловероятно, так как качают нефть и газ, а обратно берут столько же, при этом получается что другие отрасли промышленности и науки не нужны.

http://ifile.it/4lu0fn8
http://ifile.it/4lu0fn8/Game%20Institut ... ctures.rar
http://ifile.it/4lu0fn80e116efac1439c7247970ab61e79acdf

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Физика в играх, движок
СообщениеДобавлено: 01 мар 2010 15:17 
Не в сети
Постоянный
Аватара пользователя

Зарегистрирован: 26 фев 2010 13:18
Сообщения: 85
MagicWolf
А у тебя есть исходники к первой книге что ты мне скинул? (к Game physics David H. Eberly)

P.S. Спасибо за книги


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Физика в играх, движок
СообщениеДобавлено: 01 мар 2010 15:42 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2686
Откуда: Кирово-Чепецк
Если только вот здесь есть искомое:
http://ifile.it/eag3icu
http://ifile.it/eag3icu/3D%20Game%20Eng ... ode%29.rar
http://ifile.it/eag3icu0ec90c4e35bc201ace28f4a06d5e7226

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Физика в играх, движок
СообщениеДобавлено: 01 мар 2010 15:43 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2686
Откуда: Кирово-Чепецк
Скачал - удали, плиз.

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Физика в играх, движок
СообщениеДобавлено: 01 мар 2010 16:13 
Не в сети
Постоянный
Аватара пользователя

Зарегистрирован: 26 фев 2010 13:18
Сообщения: 85
MagicWolf
Удалить? ты имеешь ввиду откуда?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB