1. Bitte schaltet eure Ad Blocker aus. SLinfo kann nur betrieben werden, wenn es durch Werbung Einnahmen erzielt. Vielen Dank!!
    Information ausblenden
  2. Wir freuen uns, wenn du dich in unserem Forum anmeldest. Bitte beachte, dass die Freigabe per Hand durchgeführt wird (Schutz vor Spammer). Damit kann die Freigabe bis zu 24 Stunden dauern.
    Information ausblenden
  3. Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Sie geben Einwilligung zu unseren Cookies, wenn Sie unsere Webseite weiterhin nutzen.
    Information ausblenden

Auf und ab schweben

Dieses Thema im Forum "Scripting" wurde erstellt von Natascha Randt, 22. Juni 2020.

  1. Natascha Randt

    Natascha Randt Freund/in des Forums

    Beiträge:
    812
    Zustimmungen:
    2.216
    Punkte für Erfolge:
    104
    Für das Video, dass wir gerade drehen, benötigen wir Laternen, die sanft auf und schweben.
    Höchstens einen halben Meter oder so. Die Laterne habe ich, ein script auch, aber das sieht mir etwas zu abgehackt, also nicht so flüssig aus, wie es sein sollte.

    Das Script sieht so aus:

    default {
    state_entry() {
    state floatup;
    }
    }

    state floatup {
    state_entry() {
    integer p = 0;
    integer n = 15;
    for (; p < n; ++p) {
    llSetPos(llGetPos() + <0,0,0.05>);
    }
    state floatdown;
    }
    }

    state floatdown {
    state_entry() {
    integer p=0;
    integer n=15;
    for (; p < n; ++p) {
    llSetPos(llGetPos() - <0,0,0.05>);
    }
    state floatup;
    }
    }

    Ich habe vom scripten nicht den Schimmer einer Ahnung und bevor ich da irgendetwas zerbrösel, ist meine Frage, wo oder wie kann ich einstellen, dass die Bewegung flüssiger aussieht? Oder gibt es eine bessere Lösung?
     
  2. June Trenkins

    June Trenkins SLinfo-Freebiehunter

    Beiträge:
    2.230
    Zustimmungen:
    2.978
    Punkte für Erfolge:
    139
    Ich hab eins aus ´nem Ballon, das sieht aber auch irgendwie abgehackt aus. :/

    float X1 = 0.00; // X Positionsänderung
    float Y1 = 0.00; // Y Positionsänderung
    float Z1 = 0.05; // Z Positionsänderung
    float X2 = 0.00; // X Grösse 1
    float Y2 = 0.00; // Y Grösse 1
    float Z2 = 0.00; // Z Grösse 1
    float X3 = 0.00; // X Grösse 2
    float Y3 = 0.00; // Y Grösse 2
    float Z3 = 0.00; // Z Grösse 2

    default
    {

    state_entry()
    {


    llSetTimerEvent(1);
    }
    timer() {

    llSetPos(llGetPos()+<X1, Y1, Z1>);

    llSetPrimitiveParams([PRIM_SIZE, <X2, Y2, Z2>]);

    llSetPos(llGetPos()-<X1, Y1, Z1>);

    llSetPrimitiveParams([PRIM_SIZE, <X3, Y3, Z3>]);
    }

    }
     
  3. Natascha Randt

    Natascha Randt Freund/in des Forums

    Beiträge:
    812
    Zustimmungen:
    2.216
    Punkte für Erfolge:
    104
    Danke June:) Hilft mir leider auch nicht weiter. Ich guck mich mal woanders um.
     
  4. Jan Hird

    Jan Hird Aktiver Nutzer

    Beiträge:
    476
    Zustimmungen:
    214
    Punkte für Erfolge:
    44
    Mauzi

    Ich hab ne schön aussehende Lösung gefunden. Ich werd das Script aber hier nicht posten. Das "schön" hat leider auch nen Nachteil es produziert eine gehörige Portion Lag. Sehr viele davon schweben lassen könnte kein guter Plan sein. Ich mauz dich mal inGame an :)
     
  5. Daemonika Nightfire

    Daemonika Nightfire Forumsgott/göttin

    Beiträge:
    7.917
    Zustimmungen:
    1.228
    Punkte für Erfolge:
    124
    Ein bissl um die Ecke gedacht, aber vielleicht ist folgendes eine Moeglichkeit.

    Ich lasse damit eine Statue welche an einem Seil haengt ganz langsam horizontal links/rechts hin und her rotieren.
    https://gyazo.com/c6d9bc1f662068902c31ed2805e583b8
    Code:
    integer st = 0;
    
    default
    {
        state_entry()
        {
            llTargetOmega(ZERO_VECTOR, 0.00, 0.0);
            llSetTimerEvent(10);
        }
     
        timer()
        {
            llTargetOmega(ZERO_VECTOR, 0.00, 0.0);
            if(!st)
            {
                llTargetOmega(<0,0,1>, 0.02, PI);
            }
            else if(st)
            {
                llTargetOmega(<0,0,-1>, 0.02, PI);
            }
            st = !st;
        }
    }
    Wenn man den Code nun auf einen vertikalen vector umstellt, kann man 2 Lampen wie bei einer Wippe an einen unsichtbaren Baklen verlinken.
    Der Balken muesste dann im Boden verschwinden, wenn man es nicht auf Phantom setzen will.
    https://gyazo.com/afe4057ba768871c561a6aef9e0a5f9f

    Je weiter sie dann aus einander liegen, desto weniger faellt es dann auf das sie dabei ein wenig kippen.

    Das Prinzip waere nur eine Notloesung, aber von der Belastung her recht harmlos.

    LG
    Dae
     
    Zuletzt bearbeitet: 24. Juni 2020

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden