![]() |
APE. Маленький проект - много вопросов
http://slil.ru/25102428
Есть вот такой прожект (прожект под третий билдер - вторую бету =)). Откопал вчера замечательный физический движок (http://www.cove.org/ape/index.htm), написал на нем что-то похожее на базовую часть одного проекта. Проект заключается в следующем: если растянуть html на весь экран (где-то на 1000-1200 по высоте) - вы увидите внизу экрана два шарика, связанных веревкой. Надо зажать за один из них, или за веревку, оттянуть (появится зеленая стрелка), и отпустить. За обьекты и столкновения отвечет топовый файл. За поверхности - Surfaces.as, за веревку - Bridge.as (с*дил с плилогавшейся демки CarDemo). Прошу ваших рекомендаций как решить следующие задачи: Задачи: 1.) Сделать веревку похожей на веревку, то есть не как сейчас полигонами, а плавную, желательно при этом уменьшить количество опорных точек 2.) Надо как-то уменьшить эластичность шарфа, чтобы два шара не разлетались, играл с параметром stiffness - все равно на большой скорости разлетаются. В общем нужно лимит поставить на длину этого шарфа 3.) При большой скорости конструкции из шаров обьект, захватываемый шарфом как-бы выпадает, это вообще не в тему, соответственно если довести весь шарф до двух-трех опорных точек - шарфом вообще ничего захватываться не будет 4.) Нужно палить столкновения обьектов, вопрос - как? Спасибо. |
1. В любом случае придется аппроксимировать веревку линейными отрезками, поэтому полигональность можно уменьшить лишь увеличив количество опорных точек :)
2. Да, это знакомая проблема. Даже если у SpringConstraint поставить stiffness равную единице, связь не будет абсолютно жесткой. Можно увеличить свойство constraintCycles движка (за одну итерацию симуляции решение связей будет пробегаться несколько раз, что увеличит точность и устойчивость системы). 3. При больших скоростях возможны случаи проникновения объектов друг в друга. В некоторых случаях может помочь увеличение свойства multisampling движка (но эта фича пока глючная), можно также повысить точность симуляции (отразится на производительности). А лучше всего, имхо, искусственно ограничить скорость перемещения элементов шарфа (то есть поставить верхний предел на величину прикладываемой силы к кружкам шарфа). 4. В скачиваемом архиве, вроде, нет класса CollisionEvent, но он есть в SVN. Работать с определением столкновений в APE точно так же, как и со стандартными событиями - нужно просто подписаться на интересующие столкновения с помощью addEventListener. |
1 - можно оставить все как есть, но оверрайдить функцию paint и рисовать там нужную curve. Для пользователя все будет выглядеть красиво :)
|
librio, рисование поправляю, но теперь остается проблема прохождения обьектов сквозь шарф, особенно если точки будет три
island: 2.) constraintCycles помогло, спасибо, даже для проца сильно не сказалось 3.) да, наверное так и придется сделать, все-же хочется оставвить некую динамичность 4.) качаю, изучаю =)) |
| Часовой пояс GMT +4, время: 09:13. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.