• Bitte schaltet eure Ad Blocker aus. SLinfo kann nur betrieben werden, wenn es durch Werbung Einnahmen erzielt. Vielen Dank!!
  • 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.
  • 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.

Auf und ab schweben

Natascha Randt

Freund/in des Forums
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?
 
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>]);
}

}
 
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 :)
 
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:

Users who are viewing this thread

Zurück
Oben Unten