Войти
ПрограммированиеФорумФизика

Box2D Weld Joint Flex

#0
19:29, 14 янв. 2014

Доброго времени суток. Столкнулся с проблемой: разные виды джоинтов, в том числе и Weld Joint не фиксируются жестко на анкорах. При ударах и разворотах они смещаются, а затем - возвращаются в исходную позицию. Возможно ли сделать крепления более жесткими, не отказываясь от джоинтов?
Масштаб мира менял. Плотность и массу - тоже. collideConnected включен. Damping Ratio и frequency по нулям.


#1
0:43, 15 янв. 2014

больше итераций поставь. покажи сцену.

#2
1:17, 15 янв. 2014

Suslik, пробовал до двухсот итераций скорости и позиции, никакого эффекта.

        RevoluteJointDef revoluteJointDef = new RevoluteJointDef();

        revoluteJointDef.motorSpeed = -10;
        revoluteJointDef.enableMotor = true;

        revoluteJointDef.bodyA = Logics.body.get(0);
        revoluteJointDef.bodyB = Owner.Logics.body.get(0);

        revoluteJointDef.localAnchorA.set(0, 0);
        revoluteJointDef.localAnchorB.set(center);

        revoluteJointDef.collideConnected = true;
        Joint joint = LogicsElement.worldPhysics.createJoint(revoluteJointDef);

Полигоны тел А и Б (реальные координаты):

                        add(new Point(0,-30));
                        add(new Point(17,-17));
                        add(new Point(30,0));
                        add(new Point(17,17));
                        add(new Point(0,30));
                        add(new Point(-17,17));
                        add(new Point(-30,0));
                        add(new Point(-17,-17));
                        add(new Point(-46,-14));
                        add(new Point(5,-40));
                        add(new Point(23,-22));
                        add(new Point(41,-15));
                        add(new Point(47,2));
                        add(new Point(17,39));
                        add(new Point(-14,31));
                        add(new Point(-46,17));

Физические юниты / Реальные координаты = 0.05.

Physics.step(1 / 30f, 5, 3);

#3
1:25, 15 янв. 2014

покажи видео, чё там у тебя происходит. если от количества итераций не зависит, значит, ты что-то делаешь радикально не так.

ПрограммированиеФорумФизика

Тема в архиве.