Freitag, 22. März 2013

LL kündigt serverseitige AO-Funktionen an

Quelle: SL Brand Center
Auf dem Beta Server Meeting der vergangenen Nacht, haben Kelly und Maestro Linden einige Erweiterungen für die Linden Script Language (LSL) angekündigt. Wie immer habe ich diese Meldung aus dem Blog von Nalates, denn sie nimmt regelmäßig an diesen inworld Diskussionen mit LL teil.

Die wichtigste Neuerung betrifft die Einführung eines serverseitigen Animation Overriders (AO). Da es dazu keinen neuen Viewer braucht, wird diese Funktion schon sehr bald erscheinen. Auf dem Beta Grid ist der Code sogar schon auf den DRTSIM-201 Regionen verfügbar. Für den Viewer wird es nach der Einführung lediglich eine kleine Änderung geben, mit einer Anpassung der Funktion "Meine Animationen stoppen". Diese setzt dann zukünftig die definierte, serverseitige Animation zurück und aktiviert wieder die alte Standard-Animation.

Und so soll das gehen:
Es wird drei neue LSL-Funktionen geben. Mit llSetAnimationOverride (string anim_state, string anim) kann man jede Standard-Animation des Avatars durch eine neue, individuelle Animation ersetzen. Bei den beiden Argumenten in der Klammer ist "anim_state" der Name der Standard-Animation und "anim" der Name der neuen Animation.

Die zweite LSL-Funktion lautet llResetAnimationOverride (string anim_state) und setzt eine individuelle Animation wieder zurück auf den Standard (auf "anim_state").

Als dritte Funktion wird der Aufruf llGetAnimationOverride (string anim_state) eingeführt. Damit lässt sich der Name der Animation abfragen, die aktuell für den Platz mit Namen "anim_state" genutzt wird.

Alle drei neuen Funktionen benötigen eine Laufzeit-Genehmigung über den neuen Event-Aufruf PERMISSION_OVERRIDE_ANIMATIONS. Geändert werden können alle Animationen, die der Avatar von Haus aus für Standardbewegungen benutzt und die auch in der Konfigurationsdatei für viele AOs, wie z.B. dem ZHAO II, verwendet werden. Eine Auflistung dieser Animationen gibt es im Artikel zum Quellenlink. Einzig die rein vom Viewer berechneten Animationen, wie z.B. "Idle" oder "Schwimming", werden erstmal nicht unterstützt.

Um nun eine, mehrere oder alle Animationen des Avatars zu ersetzen, muss man einmal das Definitionsskript ausführen, in dem die Statusänderungen enthalten sind. Das Skript kann sich in einem Attachment oder auch in einem Prim irgendwo auf dem Land befinden. Nach der Ausführung wird das Skript nicht mehr benötigt und muss auch nicht am Avatar getragen werden. Deswegen wurde von Linden Lab schon öfter mal der Begriff "Zero Skript AO" im Vorfeld erwähnt.

Zu Beginn wird der serverseitige AO allerdings noch einen Nachteil haben. Das Ersetzen der Standard-Animationen über die neue LSL-Funktion bleibt immer nur bis zum nächsten Viewer-Neustart bestehen. Das heißt, man muss nach jedem Login das Änderungsskript erneut ausführen. Nalates ist der Ansicht, dass TPV-Entwickler aber schnell einen Weg finden werden, den zuletzt benutzten AO-Status bei jedem neuen Login wiederherzustellen.

Das neue AO-System von LL soll nicht die bestehenden AOs ersetzen, sondern eine neue Methode liefern, mit der man effizientere AOs erstellen kann. Der eigentliche Vorteil des serverseitigen AO besteht darin, dass eine Änderung der Avatarbewegung nicht mehr über ein Skript ermittelt werden muss, das dann ein Überschreiben der Standard-Animation auf dem Server veranlasst. Vielmehr wird jetzt die Standard-Animation direkt auf dem Server durch die neue Animation ersetzt und von dort an die Viewer geschickt. Das verursacht wesentlich weniger Datenkommunikation zwischen Server und Viewer, was wiederum zu flüssigerem Wechsel zwischen verschiedenen Animationen führt.

Das neue AO-System ist kompatibel zu bestehenden Skript-AOs und zu Posebällen mit Animationen drin. Das heißt, dass zum Beispiel Sitzanimationen in Möbeln die Avatar-Animationen aus dem neuen AO-System überschreiben können.

Und nun noch in Kürze ein paar weitere Neuerungen aus dem Bereich LSL:
  • Es wird bald einige Änderungen am Partikelsystem geben. Der serverseitige Code wird voraussichtlich schon in der kommenden Woche aufgespielt. Die notwendigen Änderungen am Viewer werden jedoch erst nach Einführung der CHUI-Funktionen in den dann freigewordenen Beta Viewer eingebaut.
  • Darüber hinaus wird es noch weitere neue Optionen für das Partikelsystem geben:
    • Glow (mit Start- und Endzustand)
    • Partikelbänder
    • neue Mischfunktionen.
  • Ältere Viewer (v3.5 und älter) werden das neue Partikelsystem nicht anzeigen können.
  • Das LSL-Ereignis changed kann zukünftig auch in Child Prims getriggert werden. Dies war bisher nicht möglich.

>> Chat Protokoll der Beta Server Office Hour vom 21.03.2013

Quelle: Second Life Scripting Changes

1 Kommentar:

  1. Wenn der Linden-Viewer jetzt noch die Bau-Funktionen aus dem Firestorm einbastelt...
    dann beauch ich diesen überdimensionierten mist nimmer...

    AntwortenLöschen