This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Animation abspielen wenn ein Attachment angezogen wird
#1
Animation abspielen wenn ein Attachment angezogen wird


das Script dient dazu eine zugehörige Animation zu starten wenn ein Objekt als Attachment hinzugefügt wird, das diese Animation erfordert.

dafür braucht man 3 Dinge:
1. Das Objekt das getragen werden soll- beispielsweise eine Tasse.
2. Eine Animation die dazu passt und hohe Proirität hat - Zum Beispeiel eine Trink Animation.
(Zum Thema Amimations Prioritäten hab ich in diesem Forum einen Ausgiebigen Beitrag veröffentlicht)
3. Dieses Script.

Code:
// P420 Attachment Animation Quick&Dirty nur für Opensim  V1.0

integer anicount;
string  animation;

default
{
    state_entry()
    {
        anicount = llGetInventoryNumber(INVENTORY_ANIMATION);                      // Lese Anzahl Animationen im Objekt
        if(anicount) { animation = llGetInventoryName(INVENTORY_ANIMATION, 0);}    // Animation in Inventar ermitteln
        else llOwnerSay("Keine Animation im Objekt erkannt");
    }

    attach(key id)
    {
        if(id)
        {
            llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION);
            llStartAnimation(animation);
        }
        else { llStopAnimation(animation); }
    }
}


Dieses Script geht so nur in Opensim! das ist Absicht. In Sl ist die Berechtigung umständlicher zu holen, und erfodert unter Umständen eine Zustimmung.

Hier in Opensim kann man aber ganz einfach realisieren:

Zunächst wird das anzuhängende Attachment am richtigen Körperknoten des AVAs angezogen, und per Hand im Baumenü justiert bis es richtig sitzt.

Vorgehen: (Diese Passage ist für Anfänger ohne Editiererfahrung gedacht)

1. Im Inventar Objekt aussuchen, und mit Rechtsklick Menü öffnen. Nun "Anhängen an" und zum Beispiel "linke Hand" wählen.
Nun trägt der Ava das Objekt an der linken Hand angehängt.

2. Das gleiche (nun getragene) Objekt nun im Inventar mit Rechtsklick - Bearbeiten anwählen.
Es startet das Baumenü. In diesem unter "Objekt" gehen und mit "Position" und "Rotation" die gewünschte Lage einstellen. Alternativ kann auch Bewegen und Drehen im Baumenü dafür verwendet werden. Nun das Objekt wieder ausziehen mit doppelclick im Inventar, sonst kann die Einstellung verloren gehen.

Objekt animieren:

Nun wird das Objekt mit Doppeklick (linker Maustaste) im Inventar wieder angezogen.
Erneut auf Bearbeiten gehen.

Im Baumenü auf "Inhalt" gehen.

Jetzt kommt die ausgewählte Animation da rein. Anschliessend das Script resetten.

Jedesmal wenn man das Attachment nun anzieht startet die Animation. Stimmt die Priorität dann legt sie sich über die getragenen Grundanimation drüber.

Sobald man das Atachment auszieht stoppt die Animation wieder.

Natürlich muss man auf der Parzelle das Recht haben Scripte auszuführen.


Viel Spaß Tron
Zitieren
#2
Hallo Tron Mcp, besten Dank für diese Publikation. Das wird meine Arbeit für dieses Wochenende. Ich kann dadurch sehr viel lernen. Sehr gut nachvollziehbar erklärt!

Yes
All done!
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste