Jump to content

Script fuer rotierenden, "gedrehten" Wuerfel


EniMausi
 Share

You are about to reply to a thread that has been inactive for 3350 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

Hallo :)

Ich suche ein simples script um ein Wuerfel zu drehen. Natuerlich bekam ich als erstes das TargeOmega Script ueber Google. Das ist auch schoen und gut, aber ich bekomme es einfach nicht hin, daß das gebaut Objekt sich IMMER um die zur Erde gewandte Z-Achse dreht, sondern immer zur Achse vom Objekt. Kippe ich den Wuerfel dreht es sich immernoch im die Objekt-Achse, aber nicht, wie gewollt, um die Z-Achse zur Erde. Hat da jemand eine Idee? Und es soll sich recht langsam drehen. Es ist fuer eine Werbeschild gedacht.

Es soll dann ungefaehr so aussehen. Das halt die beiden Spitzen vom Wuerfel in einer Geraden oben und unten sind.

http://www.shutterstock.com/video/clip-2933809-stock-footage-abstract-rotating-cube-loop-able-d-animation.html

Link to comment
Share on other sites

Du koenntest dein Problem ganz einfach loesen, indem du den gekippten Wuerfel als Childprim mit einem Rootprim zu einer Gruppe verlinkst. Wenn sich das Skript dann im Rootprim befindet, kannst du den Wuerfel relativ dazu in jede beliebige Lage bringen. Das Rootprim kann dabei z.B. eine Stange sein, auf der die untere Ecke des Wuerfels aufliegt. Oder du machst einfach eine transparente Kugel, in der der Wuerfel mittig steckt (die Ecken sollten dann aus der Kugel herausschauen, sonst wird das Selektieren bei Änderungen schwer).

Ich habe mich zwar länger nicht mit LSL beschäftigt, aber hier mal ein kleines Skript, das du in das Rootprim stecken koenntest. Die Drehung beginnt erst nach einem Klick auf das Prim. Nochmal klicken hält es wieder an. Und nach meiner Rechnung sollte es sich in 10 Sekunden einmal um die Z-Achse drehen. Wenn du es noch langsamer willst, dann z.B. die 0.2 auf 0.1 ändern (duerfte dann 20 Sekunden fuer eine Umdrehung brauchen).

 

integer spinning = FALSE;default{    touch_start(integer total_number)    {        if(!spinning)        {            spinning = TRUE;            llTargetOmega(<0.0, 0.0, 0.2>, PI, 1.0);        }        else        {            llTargetOmega(<0.0, 0.0, 0.2>, 0.0, 1.0);            spinning = FALSE;        }    }}

 

 

Link to comment
Share on other sites

Ich noch mal :matte-motes-grin:

meine erste Antwort hatte ich heute morgen beim Kaffee im Buero geschrieben. Da konnte ich das nicht selbst testen. Eben habe ich mich kurz in SL eingeloggt und festgestellt, dass mit dem obigen Skript von mir kein Rootprim notwendig ist.

Rezze einfach einen Wuerfel. Dann drehe ihn zuerst um die X-Achse um 45°, danach um die Y-Achse um 45°. Dann packst du das Skript rein, machst das Baufenster zu und klickst den Wuerfel an. Dann dreht er sich genau so, wie du das gerne hättest.

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 3350 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...