Написание 2D физического движка
От: Skycorner  
Дата: 02.03.09 20:05
Оценка:
Я хочу попробовать написать небольшой физический движок (2D, возможно в перспективе 3D). Для себя, не для коммерческих целей (реализация простой физической игры). Хотел попросить тех, кто знает, набросать список пунктов, в направлении которых нужно копать. Хотелось бы сделать следующее:

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

Спасибо за любые советы, ссылки и все остальное, кроме ругательств (они тоже приветствуются, в ограниченном количестве .

Только одна просьба, пишите только если можете что-то подсказать, критики в свой адрес по поводу этой затеи я уже выслушал достаточно. Еще раз спасибо за чтение поста.
Если подобная тема обсуждалась, пожалуйста подскажите где искать
Re: Написание 2D физического движка
От: Cyberax Марс  
Дата: 02.03.09 20:15
Оценка:
Здравствуйте, Skycorner, Вы писали:

S>Не совсем представляю как делаются вещи наподобие перекатывания кубика (квадрата) по двумерной поверхности. Как рассчитать скорости вершин?

Так. Советую брать учебник по термеху и читать, иначе фигня получится. Ну или бери готовую библиотеку и смотри там.

Просто так тут не объяснить.
Sapienti sat!
Re: Написание 2D физического движка
От: Stuw  
Дата: 04.03.09 08:12
Оценка:
Здравствуйте, Skycorner

Поройся на www.gamedev.ru в разделе физика.
Re: Написание 2D физического движка
От: ChemicalP  
Дата: 04.03.09 11:06
Оценка:
Здравствуйте, Skycorner

Сам давно хочу заняться написанием двумерного физ движка.
Вот хорошая статья: http://gamedev.ru/articles/?id=70124
Там только про твердые тела, но хоть что-то для начала))
Re: Написание 2D физического движка
От: Рома Мик Россия http://romamik.com
Дата: 06.03.09 16:10
Оценка:
Здравствуйте, Skycorner, Вы писали:

S>Я хочу попробовать написать небольшой физический движок (2D, возможно в перспективе 3D). Для себя, не для коммерческих целей (реализация простой физической игры). Хотел попросить тех, кто знает, набросать список пунктов, в направлении которых нужно копать. Хотелось бы сделать следующее:

S> Это сравнительно несложно (в теории, а дьявол всегда прячется в деталях). Надо вспомнить школьный курс физики. Потом посмотреть как сделано у других. Сейчас популярно делать т.н. импульсные движки. Приведенная выше статья с геймдев.ру как раз про такие, человека правда явно под конец начала душить жаба рассказывать то, что он так долго выдумывал. Еще смотри http://www.box2d.ru, он во-первых open source, во-вторых вообще прежде чем писать свое рекомендую попользовать чужое. У автора box2d есть блог http://gphysics.com там можно скачать презентации и просмотреть.

S>
  • Гибкие тела (точечные тела, соединенные пружинами) — деформации (упругие и неупругие), разрыв, распад на несколько тел
    Как это делать можешь посмотреть в примерах к box2d, это делается примерно так же образом на базе любого физ.движка.

    S>
  • Простая симуляция жидких тел (сила архимеда, заполнение областей, текучесть)
    Это совершенно отдельная тема. К сожалению в школе гидродинамику не проходят. Хорошие результаты, типа таких, получаются, если гуглить слова SPH (smoothed particle hydrodynamics). Есть ГОРАЗДО более варианты, если отказаться от текучести (кстати применимость текучести в играх НЕ для спецэффектов, а именно в игровом процессе, весьма сомнительная), см. http://personal.boristhebrave.com/project/b2buoyancycontroller
  • Re[2]: Написание 2D физического движка
    От: NikeByNike Россия  
    Дата: 06.03.09 22:46
    Оценка: 11 (1)
    Здравствуйте, Cyberax, Вы писали:

    S>>Не совсем представляю как делаются вещи наподобие перекатывания кубика (квадрата) по двумерной поверхности. Как рассчитать скорости вершин?

    C>Так. Советую брать учебник по термеху и читать, иначе фигня получится. Ну или бери готовую библиотеку и смотри там.

    Игровая физика к реальной имеет самое малое отношение и обращение к реальности скорее запутает.
    Главные глюки:
    — квантованность времени
    — недостаточность информации о контакте с другими телами
    Нужно разобрать угил.
    Re[3]: Написание 2D физического движка
    От: Cyberax Марс  
    Дата: 07.03.09 19:39
    Оценка:
    Здравствуйте, NikeByNike, Вы писали:

    C>>Так. Советую брать учебник по термеху и читать, иначе фигня получится. Ну или бери готовую библиотеку и смотри там.

    NBN>Игровая физика к реальной имеет самое малое отношение и обращение к реальности скорее запутает.
    NBN>Главные глюки:
    NBN>- квантованность времени
    Видел, кстати, прикольные решения с непрерывным временем (точнее, с шагом квантования равным дискретности в double).

    NBN>- недостаточность информации о контакте с другими телами

    Угу.

    Но без начальных знаний термеха (расчёт центра тяжести, моментов инерции и т.п.) — будет плохо.
    Sapienti sat!
     
    Подождите ...
    Wait...
    Пока на собственное сообщение не было ответов, его можно удалить.