Tar Halderman
Nutzer
Hallo Leute,
ich hab vor etlichen Zeiten mal ein beispiel in der slinfo wiki gefunden, wie man die Drehachse verschiebt ...
ich war schon so schlau, die Rotation mit llGetRot() zu multiplizieren
also bleibt der prim so gedreht, wie er sein muß (egal, in welche Richtung die Brücke gedreht ist), nur die neue Position wird nicht über relative Achse verschoben, sondern global, und jetzt hakts bei mir schon wieder aus ... Wie kriege ich die richtige Position ausgerechnet?
Danke fürs lesen (und evtl beantworten)
Tar
ich hab vor etlichen Zeiten mal ein beispiel in der slinfo wiki gefunden, wie man die Drehachse verschiebt ...
Code:
rotation x_45 = llEuler2Rot( <45 * DEG_TO_RAD, 0, 0> ); // 45 Grad um x
vector aktuellePosition = llGetPos();
vector mittelpunkt = llGetPos() + <1, 1, 1>; // in globalen Koordinaten
vector abstand = aktuellePosition - mittelpunkt;
vector neuePosition = mittelpunkt + ( abstand * x_45);
llSetPos(newPos);
ich war schon so schlau, die Rotation mit llGetRot() zu multiplizieren
Code:
rotation r = llEuler2Rot(<-90,0,0>*DEG_TO_RAD)*llGetRot();
vector mittelpunkt = llGetPos() + <0,5,0>; // in globalen Koordinaten
vector abstand = aktuellePosition - mittelpunkt;
vector neuePosition = mittelpunkt + ( abstand * r);
llSetPrimitiveParams([PRIM_POSITION,neuePosition,PRIM_ROTATION,r]);
also bleibt der prim so gedreht, wie er sein muß (egal, in welche Richtung die Brücke gedreht ist), nur die neue Position wird nicht über relative Achse verschoben, sondern global, und jetzt hakts bei mir schon wieder aus ... Wie kriege ich die richtige Position ausgerechnet?
Danke fürs lesen (und evtl beantworten)
Tar