Всем привет, пытаюсь вот реализовать мягкие тела на Nape, делаю вот по этой статье: Читать. Но что-то у меня работает не правильно, у меня есть центральный объект, по радиусу размещаю нужные мне вершины, соединяю все вершины джоинами с центральным объектом, потом все вершын соединяю между собой. Вроде работает, но вершины могут легко скатиться в кучу если слегка потрести объект. Никак не могу понять в чем проблема, stiff ставлю на true, но все равно. Видео: Смотреть на YouTube
Код
Код
public override function initPhysics (space : Space) {
if (player == null) return;
body = new Body (BodyType.DYNAMIC); shape = new Circle (1); var d : Float = Math.sqrt( (player.positionX-positionX)*(player.positionX-positionX)+(player.positionY-positionY)*(player.positionY-positionY) );
playerJoint = new DistanceJoint(player.body, body, new Vec2(0, 0), new Vec2(0, 0), d, d);
public function createPointJoins() { var i : Int = 0; // while (i < data.vertexData.length) {
if (i > 0) { var d = Vec2.distance (points[i-1].body.position, points[i].body.position); var distanceJoin = new DistanceJoint(points[i-1].body, points[i].body, new Vec2(0, 0), new Vec2(0, 0), d, d); distanceJoin.space = space; }
if (i == data.vertexData.length-1) { var d = Vec2.distance (points[0].body.position, points[i].body.position); var distanceJoin = new DistanceJoint(points[0].body, points[i].body, new Vec2(0, 0), new Vec2(0, 0), d, d); distanceJoin.space = space; }