Hinterachse mitlenken lassen

  • Hi,


    Nebenbei erstelle ich ja das Script für den TAM Leguan. Bei dem ist das ja so, das die Hinterachse ja über ein Lenkgestänge ja mitgelenkt wird. Denn etwas überlegt und mit modelleicher etwas getüfftelt. Allerdings ist bis jetzt noch nichts brauchbares rausgekommen. Die Vorderachse sowie die Hinterachse sind per ComponentJoint mit den Rahmen verbunden.
    Vorderachse = componentJoint[1]
    Hinterachse = componentJoint[2]


    Das Script sieht momentan so aus:


    [lua]function TamLeguan:update(dt)
    local jointNode = self.componentJoints[2].jointNode;
    local jointIndex = self.componentJoints[2].jointIndex;
    local x, y, z = getRotation(self.componentJoints[1].jointNode);
    local einschlagen = x;


    setRotation(jointNode, 0, -einschlagen, 0);
    setJointFrame(jointIndex, 1, jointNode);
    end;[/lua]


    Da is aber das Problem, das die Hinterachse denn die ganze Zeit im Kreis dreht. Das sieht denn so aus:


    Wenn ich das:
    [lua]local x, y, z = getRotation(self.componentJoints[1].jointNode[/lua]
    auf das:
    [lua]local x, y, z = getRotation(self.componentJoints[1].jointIndex[/lua]
    ändere bekomme ich nen Log Fehler, der besagt einschlagen (a nil value)


    MfG

  • ohne script geht das doch auch.... einfach die achse mit lenken lassen, so wie bei jedem tandem achser


    z.b


    <wheel driveMode="0" repr="4" radius="0.73" deltaY="0.4" suspTravel="0.4" spring="20" damper="50" mass="1.2" steeringAxleScale="-0.7" steeringAxleRotMax="20" steeringAxleRotMin="-20"/>
    <wheel driveMode="0" repr="5" radius="0.73" deltaY="0.4" suspTravel="0.4" spring="20" damper="50" mass="1.2" steeringAxleScale="-0.7" steeringAxleRotMax="20" steeringAxleRotMin="-20"/>


    habs bei meinem SWW für´s 1200er claas sw auch so gemacht klappt super

  • probiers mal hiermit:


    [lua]


    function TamLeguan:update(dt)
    local jointNode = self.componentJoints[2].jointNode;
    local jointIndex = self.componentJoints[2].jointIndex;
    local x, y, z = getRotation(self.componentJoints[1].jointNode);
    local einschlagen = self.steeringAxleAngle;


    setRotation(jointNode, 0, -einschlagen, 0);
    setJointFrame(jointIndex, 1, jointNode);
    end;



    [/lua]


    ich weis nicht ob self.steeringAxleAngle in deg oder rad ist. müsste man über print herausfinden, ansonsten:
    local einschlagen = math.rad(self.steeringAxleAngle);


    Wenn das mit self.steeringAxleAngle nicht klappt schau in den update bereich von der attachable.lua, da wird die lenkachse berechnet.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!