![]() |
Показать все 14 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Технические вопросы (https://hlfx.ru/forum/forumdisplay.php?forumid=20)
-- Реализация физики для 2d объектов (https://hlfx.ru/forum/showthread.php?threadid=1760)
Реализация физики для 2d объектов
Давненько уже пишу на ActionScript 2.0, недавно задался идеей реализовать физику для объектов сцены, но понимаю в этом не слишком много, хотелось бы у вас спросить, каков вообще принцип написания физики (для 2д объектов), представляю себе это так: нужно описать несколько классов стандартных объектов (круг, квадрат, треугольник), в классе должен присутствовать вектор скорости и различные силы действующие на объект, которые будут каждый кадр просчитываться и изменять вектор скорости, так же нужно просчитывать углы поворотов объектов и самое главное - столкновения.
По сути прошу описать схему, по которой будут происходить рассчеты и изменения каждый кадр.
Если знаете ресурсы, где описывается это дело, буду очень признателен ссылочке (было бы хорошо, если ресурс на русском, но и английскому тоже буду рад).
зы: о существовании готовых движков знаю, но не хочу их по 2м причинам: они на AS3 и хочется разобраться самому.
В общем, за любую информацию буду благодарен.
__________________
кто к нам с чем зачем, тот от того и того...
Гугли 2D physic. Собственно физика состоит из двух частей - симулятора и коллижен детектора. Для 2D написать коллижен детектор достаточно просто. Физика - обычные уравнения из школьного курса.
Силы, действующие на тело.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Начну сразу с плохого: во Flash (по крайней мере MX) крайне тяжело, а порой невозможно (однако не буду полностью отрицать) создать полноценную, честную, нетормознутую физику. И почему же?
1. Относительное небыстродействие Flash-а.
2. Ограничение на разрядность чисел (насколько помню - 17 разрядов, причем 4 из них занимает E+65 (К примеру)).
3. Ограничение на время выполнение скрипта (15 секунд на кадр) - но это скорее всего для расчетов, но не для демонстраций.
4. До тех пор, пока скрип не выполнится, кадр не сменится. Т.е. даже если стоит 120 кадр/сек, то реально может быть намного меньше, или, еще понятнее, значение кадр/сек - это верхнее ограничение для скорости воспроизведения.
Но! Если цель - получение опыта, а именно необходимых алгоритмов реализации физики, то Flash почти идеально (если не замахиваться на большое) подходит для этого, т.к. можно быстро увидеть результаты своей работы.
В качестве ресурса, где можно найти много интересных вещей, посоветовал бы flasher.ru
Ну и напоследок, архивчик с разными физическими (+1 математика) демонстрациями, с которыми я когда-то баловался. К каждой демонстрации приложен текстовый файл с некоторыми комментариями. Собственно архив:
George на флэше отличные рагдоллы получаются, зря ты так.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Дядя Миша, так я же не утверждаю, что нельзя реализовать более-менее реальную физику. Я просто описал некоторые ограничения Flash-а (по крайней мере MX), которые не позволяют создать, как бы это сказать..., много точной физики. Или много, но простенькой, или мало, но относительно точной (почему относительно, написал в ограничениях). Как демонстрация (тот же ragdoll) - нормально, но если вставить уже не один, а два-три, а то и десяток ragdoll-ов, то комп, скорее всего, перестанет нормально переваривать физику. Пример: в архиве есть ролик с веревкой. Хотя веревка моделируется несчатными 50 пружинами, секунд за 40 ролик способен повесить мой комп (почему не сразу - не знаю). Пробывал увеличивать кол-во пружинок в 10 раз - с секунды третьей уже смотрим слайд-шоу...
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
BioHazard ага, что-то не обратил внимания.
George поглядел я твои демки. Тебе знакомо слово "интерполяция" ?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Во первых, Дядя Миша, George спасибо за советы!
__________________
кто к нам с чем зачем, тот от того и того...
SanYa ну так заюзай AS 3.0
Делов-то
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Дядя Миша Это не так просто, там очень много, что изменилось, а я учился изначально на AS2, мне трудно будет переходить, тем более что 3.0 стал полностью объектно-ориентированным, там только классы..классы..классы и ничего кроме. Понятное дело, что придется перейти на него, но сейчас не так много времени, что бы разбираться.
Так что будем мучать AS 2.0
__________________
кто к нам с чем зачем, тот от того и того...
George Все, теперь понял о чем ты. У меня такое бывало, только когда ошибку допускал в скрипте и он зацикливался.
Кстати, надысь немного порыскал, нашел довольно симпатичную физику на AS 2, http://www.cove.org/flade/
__________________
кто к нам с чем зачем, тот от того и того...
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Временная зона GMT. Текущее время 07:31. | Показать все 14 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024