• 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.

Rotation und TargetOmega

Daemonika Nightfire

Forumsgott/göttin
huhu,

heut habsch mal wieder was zum Kopfschmerzen bereiten.
Ich moechte mit einem Timer, permanent die Rotation eines Prims abfragen, der sich mit llTargetOmega dreht.

Nun hab ich aber das Problem, das die Rotation waerend sich der Prim dreht, nicht wieder gegeben wird, sondern nur wenn ich die Rotation manuell mit dem Baumenue aendere.

hier mal mein Testscript:
Code:
default
{
    state_entry()
    {
        llTargetOmega(<0,0,0.5>,0.5,PI);
        llSetTimerEvent(5);
    }
    timer()
    {
        rotation SetRot  = llList2Rot(llGetLinkPrimitiveParams(LINK_THIS,[PRIM_ROTATION]), 0);
        llSay(0,(string)SetRot);
    }
    on_rez(integer st)
    {
        llResetScript();
    }
}
Wo liegt jetzt mein denkfehler?
Weiss vieleicht jemand von euch ne Loesung?

LG
Dae
 
TargetOmega läßt das Objekt nur lokal im Viewer drehen, damit ist die Art und Weise der Drehung bei jedem Betrachter anders und kann logischerweise von einem Script, das auf der Sim läuft, nicht abgefragt werden.

Specification

Physics
If the object is not physical or the script is attached to a child prim, then the effect is entirely client side. The rotation experienced by the user cannot be detected or queried by script.
If the object is physical and the script is attached to the root prim, then the physical representation is updated regularly. The rotation experienced by the user can be detected or queried by script.

Lösung: Mache das Objekt physikalisch
 
Boah danke Silvan, diese Server/Viewer Geschichte hatte ich schon geahnt.
grrr...
...muss ich mir was anderes einfallen lassen, aber Physisch machen geht gar nicht, weil ich mehrere Childs synchron laufen lassen will.

Mir gehts halt da drum um bei 3 Childs die mit TargetOmega laufen, den versatz auszugleichen wenn sie mal etwas unrund laufen.

LG
Dae
 
Hast Du keinen Einfluss drauf, weil llTargetOmega die "Bewegung" nur optisch auf dem Viewer startet - und zwar dann, wenn das Objekt und die Textur geladen ist. Was bei mehreren Childs durchaus zu komplett verschiedenen Zeiten passieren kann.
 
Du meinst ueber einen schnellen timer?
Ob der Server das mag?

Ja, wobei nicht zu schnell dann wirds noch holpriger da der Timer nicht sauber läuft.
Rechts vor meinem Shop (LM in meinen Picks) steht eine Peepshow. Ich lasse den Ava auf der Drehscheibe so rotieren. Kannst du dir ja da ansehen.

Ich denke mal der Server hat das lieber als 300 Resize Scripte in Klamotten. ;-)
 
Wenn ich das richtig verstehe, laesst du ein Object inclusive Avatar rotieren.
Meiner Meinung nach kannst du dafuer locker das Target Omega nutzen, welches in dem Fall wesentlich schonender fuer die sim ist, da es nur vom Viewer generiert wird.

Bei folgendem Object haette ich fuer 6 Prims die parameter setzen muessen:
http://www.slinfo.de/vb_forum/marktplatz-sonstiges/68630-daesigns.html?post1275698

Am ende hab ich mich dazu entschlossen die rotierenden teile seperat zu verlinken und nur einen TargetOmega ohne Timer zu nutzen.
Dieses halte ich fuer die Serverschonenste Variante.

LG
Dae
 
Schau gerade nach. Nur der Ava wird so gedreht. Die Scheibe mit TargetOmega. Ist ne Weile her, das ichs gemacht habe. Es ging anders nicht vernünftig. Hatte sogar ein paar Leute zu gefragt.

TargetOmega wäre mir viel lieber gewesen, da es runder läuft.

LG
Susi
 

Users who are viewing this thread

Zurück
Oben Unten