![]() |
APE - привязать constraint не к центру
Имеется частица, к которой привязана конструкция из констрейнтов (типа гибкой цепочки), нужно привязать эту цепочку не к центру частицы, а к некой другой точке, отстоящей каким-то образом в стороне от центра. Внизу эта цепочка, извиняюсь если чо за грязный код, первый и последний констрейнт привязаны к двум шарам, которые передаются в конструктор как g1 и g2.
Ну и еще раз задача: сделать так, чтобы эти крайние констрейнты привязывались не к центру шаров, а например к краю, к какой-то другой точке в общем. Спасибо. Код:
package { |
Я решил залезть в исходники и сдвинуть круг от центра, теперь правда круги друг с другом не всегда сталкиваются:
Код:
/* |
Лучше не стоит править внутренности методов движка, назначение которых не понятно - иначе все посыпется)
Если нужно прицепить цепочку не к центру объекта, сделайте последний составным (из частиц и связей) с партиклом в том месте, куда надо прицепить цепочку. |
Ну назначение их, в общем понятны:
getProjection - Проекция на некую ось getIntervalX, getIntervalX - проекции на вертикальные оси, надо полагать отвечают за столкновения, в моем случае есть 2 шара, к одному нужно привязать цепочку справа, к другому - слева, вот и подписал offsetDirection*20*cos, где cos - угол наклона этой оси к горизонту, а offsetDirection - передаваемый параметр в конструктор, либо +1, либо -1, в зависимости от того, справа, или слева должна быть точка, кстати ситуация как раз такая, что эта точка не тудет центром тяжести и круг относительно нее вращаться не будет. Интересный момент в том, что с другими частицами CircleParticle2 сталкивается нормально, а вот друг с другом - почему-то через раз. |
Это хак. Может быть он локально и решит какую-то задачу, но глобально начнут появляться неприятные сюрпризы. APE построен на алгоритме разделяющих осей и методы getProjection, getIntervalX, getIntervalY выдают проекции частицы на произвольную, горизонтальную и вертикальную оси соответственно. Если вы залезете внутрь и начнете выдавать то, что вам хочется, вместо того, что есть на самом деле - ждите беды =)
Ну это все имхо. Задайте этот вопрос в гугл-группе, может там дадут более компетентный ответ. |
Подскажите где взять туториалы по APE?
Cамому ничего не получается:(. или по другим физ. движкам. |
island, глобально релиз в пятницу =)), ждать когда авторы сподобятся сами это сделать не могу - значит будет хак
Freeeeeeeman, туториалы в разработке, учи по исходникам демки |
| Часовой пояс GMT +4, время: 18:20. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.