Jump to content
Sign in to follow this  
EniMausi

Script fuer rotierenden, "gedrehten" Wuerfel

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

Share this post


Link to post
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;        }    }}

 

 

Share this post


Link to post
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.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...