Objekt in Richtung eines anderen Objektes rotieren

4 Jahre 5 Monate her - 3 Jahre 1 Woche her #12 von Jules Dreki


  • Beiträge: 3

  • Geschlecht: unbekannt
  • Geburtstag: unbekannt
  • 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: 3 Jahre 1 Woche her von Jules Dreki.

    Bitte Anmelden oder Registrieren um der Konversation beizutreten.

    Ladezeit der Seite: 0.129 Sekunden
    Powered by Kunena Forum

    Aktuell sind 298 Gäste und keine Mitglieder online


    swissgrid.opensim.ch

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