Hab neulich mal wieder bisschen gebastelt. Recht bald auch auf ein Problem gestoßen.. Ist eigentlich ein bekanntes Problem, allerdings finde ich keine Lösung mehr alles was früher geholfen hat hilft nicht mehr.
Hier das Prinzip um was es geht:
Das Problem ist, dass der Component Joint zwischen den beiden Components beim Anbaugerät einfach nicht hält. Wenn ich den Attacher zwischen Objekt und Anbaugerät direkt an den Haupt-Componenten des Anbaugeräts hänge gibt es absolut keine Probleme, alles hält fest.
Aber sobald ich den Attacher in den 2. Componenten setze wird alles ne total wackelige Angelegenheit. Ich brauche den Attacher aber im 2. Componenten weil der Component nen Rotationsspielraum hat.
Jetzt die Preisfrage, wie kriege ich den 2. Componenten am Hauptteil fest sodass sich durch das angehängte Gewicht nicht mehr alles in Wackelpudding verwandelt?
Density auf 100 hoch gedreht (mehr geht ja nicht) hab ich schon in der Hoffnung den Gewichtsunterschied zu reduzieren, dadurch erhalte ich aber nur die oben angegebenen 0.021t und das ist definitiv zu wenig. Außerdem ist das ein Trick aus LS11 und LS13 keine Ahnung ob das noch funktioniert.
Ebenso ist SolverIterationsCount in der XML auf 160, ohne Erfolg.. Und auf 20 in der i3d (max Wert) ebenfalls ohne Erfolg.
Irgendwie muss es aber ja funktionieren, das Anbaugerät an sich ist ja auch bombenfest am Trecker dran, und im 15er gibt es jetzt ja genug Geräte mit mehreren Componenten die auch nicht alle wackeln wie noch was.
Falls es von Relevanz ist, das ist mein Attacher..
Code: Select all
local constr = JointConstructor:new();
constr:setActors(self.components[self.attacherCompIndex].node, shape);
local a, b, c = getWorldTranslation(transform);
constr:setJointTransforms(self.attacherHelperNode, transform);
local x2, y2, z2 = getWorldTranslation(self.attacherHelperNode);
local distance = Utils.vector3Length(x2-a, y2-b, z2-c);
transRadius = distance+0.1
local ten = 0.05
constr:setTranslationLimit(0, true, -ten, ten);
constr:setTranslationLimit(1, true, -ten, ten);
constr:setTranslationLimit(2, true, -transRadius, transRadius);
constr:setEnableCollision(false);
self.w.attachedShape = constr:finalize();
setJointRotationLimit(self.attachedShape, 0, false, 0, 0);
Ist nen schwieriges Problem denke ich, aber vielleicht weiß ja trotzdem jemand ne Lösung
Danke schon mal
LG