× Willkommen im Kunena Forum!

Sag uns und unseren Mitgliedern, wer du bist, was dir gefällt und warum du Mitglied dieser Webseite wurdest.
Alle neuen Mitglieder sind herzlich willkommen!

Scripten - Objekt in Richtung eines anderen Objektes rotieren

Mehr
10 Monate 4 Wochen her - 10 Monate 4 Wochen her #12 von Jules Dreki
Ein Problem das man in LSL/OSSL zum Glück nicht "zu Fuss" mit Vektor-/Matrizenrechung und der Eulerschen Drehmatrix lösen
muß. Die folgende URL erklärt das sehr schön, wie einfach sich das lösen lässt. :-)

www.virtualverse.one/forums/threads/kept...-another-object.178/

Codeschnipsel:
vector SF_spos = <x,y,z>;     //start position
vector SF_epos = <x,y,z>;    //end position

float fDistance = llVecDist(<SF_epos.x,SF_epos.y,0>,<SF_spos.x,SF_spos.y,0>);//XY Distance
rotation rotZ = llRotBetween(<1,0,0>,llVecNorm(<fDistance, 0, SF_epos.z - SF_spos.z>));//up/down rotation
rotation rotXY = llRotBetween(<1,0,0>,llVecNorm(<SF_epos.x - SF_spos.x,SF_epos.y - SF_spos.y,0>));//left/right rotation
rotation absRot = rotZ*rotXY; //absolute rotation
llSetRot(absRot);

Möchte man statt dem Befehl llSetRot() lieber llSetKeyframedMotion() benutzen ist noch ein Schritt notwendig. Anders als llSetRot() erwartet llSetKeyframedMotion() relative Parameter.
rotation relRot = absRot/llGetRot();
llSetKeyframedMotion( [
    <0.0, 0.0, 0.0>, relRot, 1.0
], []);
Letzte Änderung: 10 Monate 4 Wochen her von Jules Dreki.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Ladezeit der Seite: 0.046 Sekunden
Powered by Kunena Forum

Aktuell sind 469 Gäste und keine Mitglieder online


swissgrid.opensim.ch

© Swissgrid 2018-2020 Impressum:
 Admin: Night Raven    Sili Gal
     CH-8952 Schlieren/ZH