Virtualität


Tron war einer der ersten computeranimierten Kinofilme. Nun kommt 2010 der Nachfolger in die Kinos. Hier der Trailer:



Aus dem Film tron kommt auch das Wort rezzen, dass von der Firma Linden Lab verwendet wird, wenn Objekte im dreidimensionalen Raum von Second Life instantiiert werden.

Da gibt es nicht viel zu sagen, inspiriert durch Second Life



Eine meiner größten Herausforderungen wird weiterhin sein, mich in meiner Sprache und in meinem Tun so auszudrücken, dass ich genügend Anschlussstrukturen an meine Wirklichkeitskonstruktionen für andere anbieten kann.

In Zeiten des Web 2.0, des Cyberspaces und der Kybernetik 3. Ordnung, erscheint mir dies umso schwieriger, je stärker sich die Digital Divide 2.0 entwickelt und sich eine digitale Elite innerhalb einer digitalen Elite herauskristalisiert.

Be-Sinnung, Andreas Mertens um die Weihnachtsfeiertage 2008

Können einmal gemachte Unterscheidungen rückgängig gemacht werden? Oder gibt es nur Re-Entries?

Was, wenn Grenzen verschwimmen, aufweichen, wie aktuell mit Second Life und die Grenze zwischen Virtualität und Realität?

siehe auch hier.

nach EPIC 2015 eine neue Vision, inkl. Second Life:

Prometeus – The Media Revolution


Das SL-Hochwasser nimmt ab, obwohl mein neuer Blog, SL-Talk noch im Aufbau ist. Es stellte sich mir die Frage, wie ich auf einfache und ökonomische Weise den SL-Content von LoF auf www.sltalk.de migriere, ohne auf den Tabellen der MySQL-Datenbank selbst und direkt rumzuturnen, zumal ja auch Static-Files auf der Festplatte liegen, welche von Wordpress aus dem Content in der DB verlinkt werden. Ich habe WP-XMLMIGRATE gefunden. Funktioniert recht gut, obwohl noch einige Korrekturen notwendig sind. Aber alles in allem exportiert das Wordpress-PlugIn ein Wordpress-XML-File welches auch wieder importiert werden kann. Dabei kann man die zu exportierenden Kategorien vor dem Export selektieren. Aber Vorsicht (!). Die Static-Files werden nicht mit migriert, sondern bleiben auf dem ursprünglichen Server und müssen bei Bedarf manuell migriert werden!

ja, ja, ich weiss ….. Angefangen hat mein bloggen mit meiner Auseinandersetzung mit den Laws of Form von George Spencer-Brown. Nun, naja, ich gebe es ja zu … schwerpunktmäßig ist da was verrutscht ….. es gibt so viele interessante Dinge in dieser Welt über die ich schreiben kann ….. Aus diesem Grund habe ich ja auch schon meine Interessen bzgl. Globalisierung & Umwelt herausgezogen nach www.globalisierungseffekte.de und die Kybernetik nach germanblogs.kybernetik.de bzw. http://www.kybernethik.de ….. Tja und jetzt! Secondlife scheint ein weiteres Thema zu werden …. Aus diesem Grund hoffe ich, die Secondlife-Verwässerung künftig etwas hier herauszunehmen, damit ich den Fokus wieder auf die Laws richten kann. Insgesammt scheint mir eine Art Sammelbecken-Blog sinnvoll, in dem ich über Alles und Nichts schreiben kann und aus dem dann vielleicht weitere “Mini-Blogs” entstehen können ? Achja, der neue SecondLife-Blog wird in Kürze unter SL Talk erreichbar sein.

In dem ersten Artikel berichtet Katja Schwab auf “Psychologie des Alltags” von einer Studie die eine soziale Entfremdung nicht bestätigt, wenn sich Menschen mit virtuellen Welten beschäftigen und sich in diesen aufhalten.


Der zweite Beitrag ist von Michael Wald, hier zeigt er sein frisch erbautes Gebäude in Secondlife, ein paar Straßen entfernt vom CoreCon-Convention-Center in Plush Phi.

Interessante Reflektion auf dem Multimediablog von Bernd Schmitz:


“Die wachsenden Userzahlen und die verstärkte Resonanz in den “realen? Medien deuten darauf, dass das Phänomen einer kleiner elitären “SL-Community? sich zu einer interessanten Kommunikationsalternative verändert. Hierbei ist aber noch nicht klar ob der Hype überhaupt eine Fadingphase haben wird, oder ob die Entwicklung sich konkludent verhält, wie es anderen großen Medienrevolutionenen vorgemacht haben.

Die Anfänge des Telefons, Beginn des Jahrhunderts, startete mit der landläufigen Meinung, dass ein Telefon unsinnig sei und wer ein Telefon haben will ein Narr und Trottel sei. Deswegen hieß auch das erste Telefonbuch 1871 von Berlin, mit gerade 71 Einträgen, “das Buch der Narren?.”

<weiter>

In diesem Beitrag möchte ich einige Möglichkeiten von der Linden Scripting Language (kurz LSL) zusammenfassen. Dazu stelle ich im Anhang auch mein erstes Mini-Tutorial für Secondlife als PDF zum Download bereit.

In diesem, meinen ersten Secondlife-Techtalk möchte ich zeigen, wie einfach es ist, in Secondlife ein 3D-Objekt zu modellieren und es mit spezieller Funktionalität zu versehen. Modelliert wirdBlinkWand1 sozusagen “In-Game”, d.h. in Secondlife selbst. Es gibt, soweit mir bekannt, keine Möglichkeiten, einen “Offline-3D-Modeller” zu verwenden oder gar Modelle zu importieren. Deshalb beziehen sich meine Ausführungen hier auf den “In-Game”-Modeller. Das Beispiel zeigt, wie man mit einfachen Mitteln ein kleine transparente Wand modellieren kann. Mittels LSL-Script habe ich meiner transparenten Wand folgende Funktionen hinzugefügt:

  1. Die Wand reagiert mit einem Text, wenn man sie berührt
  2. Die Wand blinkt alle 5 Sekunden in einer zufälligen Farbe
  3. Die Wand ist mit einem Sensor ausgestattet. Der Sensor ermittelt alle Avatare im näheren Umkreis und gibt die Namen der Avatare auf den Bildschirm aus.
  4. Ändert sich die Anzahl der sie umgebenden Avatare, spielt die Wand einen Sound ab

Modellierung

Create_Prim
Modelliert wird in Secondlife mit sogenannten Primitives, geometrischen Grundfiguren. Dies sind primitive 3D-Objekte aus deren Kombination die gesamte 3D-Welt gebaut ist. Ein Rechtsklick in die Welt öffnet ein Control-Element mit den Optionen “Sit Here”, “Go Here”, “Edit Terrain”, “About Land” und “Create”. Wählt man “Create” aus, erscheint die Oberfläche mittels der man 3D-Objekte modellieren kann. Von hier aus kann man Objekte in Secondlife bauen und verändern. Mit dem Zauberstab-Symbol (”Create”) kann man 3D-Objekte erzeugen. Unter der Symbolleiste sieht man die Prims, 15 Stück an der Zahl. SL_Modelltools Aus dem Screenshot ist ersichtlich, dass ich hier als Prim den Cubus gewählt habe. Wenn man nun mit der Maus in die 3D-Welt navigiert, erscheint das Zauberstab-Symbol. Ein Klick auf die linke Maustaste erzeugt an dieser Stelle in der Welt ein Prim mit einer Standardtextur. Der Modeller wechselt dadurch direkt in den “Edit-Mode”, die Radio-Box steht auf Position. In der Abbildung sehen wir ein Cubus mit der gelben Standardtextur. Nun kann man den frisch erzeugten Cubus im Raum auf der X,Y und Z-Achse mit der Maus bewegen. Dies geschieht über die dafür vorgesehenen Pfeile am Objekt. Mit den roten Pfeilen bewegt man das Objekt entlang der X-Achse, mit den grünen Pfeil entlang der Y-Achse und mit den blauen Pfeilen entlang der Z-Achse. Prim Created
Das Objekt lässt sich nun rotieren und in seinen Dimensionen verändern. Die erreicht man durch klicken auf die Radio-Buttons “Rotate” bzw. “Stretch” oder durch das Halten der Ctrl-Taste (Rotate) bzw. Ctrl+Shift-Taste (Stretch).
Wand mit Textur
Mit ein wenig Fingerfertigkeit wird aus einem Cubus also eine Wand. Fehlt also nur noch ein wenig Transparenz und das Entfernen der Standardtextur. Befindet man sich im Edit-Modus kann man die Registerkarte “Texture” wählen, rechts von “Features” und links von “Content”.Edit Texture 1 Mit einem Klick auf Color kann man die Grundfarbe des Prims verändern. Mit einem Klick auf Texture öffnet sich ein weiteres Fenster, in dem man die Standardtextur verändern kann. An dieser Stelle kann man eine 32×32 Pixel große Textur aus dem Inventory auf das 3D-Objekt legen. Für meine transparente “Zauberwand” habe ich mittels “Blank”-Button die Standardtextur entfernt, da ich ja eine transparente Wand haben möchte. An dieser Stelle möchte ich erwähnen das man zwischen zwei Arten von Inventories unterscheiden muss: (a) dem Inventory des Avatars und (b) dem Inventory des Prims. Darauf möchte ich allerdings später im LSL-Teil dieses Artikels noch einmal zurückkommen. Möchte man nämlich aus der Scriptsprache LSL, z.B. auf Texturen, Sounds etc. zugreifen, ist dies nur auf das Prim-Inventory möglich (!)
Edit Texture 2

Last but not Least, kann man noch die Transparenz des Objektes zwischen 0 und 100 wählen, unter Transparency im Edit-Mode. Dies könnt ihr im nächsten Screenshot sehen, eine magentafarbene “Zauberwand”. Wand Transparent Im nächsten Schritt möchte ich diesem einfachen 3D-Objekt noch etwas Magie hinzufügen. Sie soll auf Berührung reagieren, in zufälligen Farben im Abstand von 5 Sekunden blinken und die Umgebung auf neugierige Avatare scannen. Und einen Sound abspielen, sobald sich ihr ein neuer Avatar nähert. All dies geht mit LSL, der Linden Scripting Language.

LSL-Programmierung

Als Voraussetzung, um in LSL programmieren zu können sind natürlich Programmierkentnisse aus anderen Sprachen von Vorteil. Wer sich also schon einmal in einer Hochsprache wie C/C++ oder Java bewegt hat, wird es relativ einfach haben. LSL ist allerdings keine Programmiersprache im Sinne der Objektorientierung mit Polymorphismus und Vererbung etc. Man sollte also nicht zuviel von LSL erwarten. Ein gutes Wiki zum Thema LSL habe ich hier gefunden. Weitere gute LSL-Beispiele habe ich unter http://www.kan-ed.org/second-life/using-LSL.html gefunden. Im Edit-Mode unter der Registerkarte “Content” ist das Prim-Inventory erreichbar. Script Screenshot

An dieser Stelle ist es auch möglich, eigene LSL-Scripte zu schreiben, die an das 3D-Objekt gebunden sind. LSL ist dabei eventgesteuert. Es gibt zahlreiche Events, wie z.B. das touch_start-Event.

touch_start-Event

Nachfolgender Code wird ausgeführt, wenn die Wand berührt wird.


    touch_start(integer total_number)
    {
        float red1 = llFrand(1);
        float green1 = llFrand(1);
        float blue1 = llFrand(1);
        vector color1 = ;

        llSay(0, "angefasst." + (string)total_number);

        llSetText("die ist ein test", color1, 1.0);
        llSetTimerEvent(5);
    }
LSL-Script

Damit wir alle 5 Sekunden ein weiteres Stück Code ausführen können, habe ich mit der llSetTimerEvent()-Funktion den Timer gesetzt. Dieser Aufruf führt dazu, das alle 5 Sekunden die Funktion timer() aufgerufen wird.

timer()

Mein Timer berechnet alle 5 Sekunden einen neuen Farbvektor mit Zufallsfarbwerten und verändert die Farbe der Wand auf allen Seiten. Außerdem aktiviert mein Timer alle 5 Sekunden das Sensor-Objekt, welches im näheren Umkreis alle Avatare scannt. Dies geschieht über den Aufruf der Funktion llSensor().


    timer()
    {
        float red = llFrand(1);
        float greed = llFrand(1);
        float blue = llFrand(1);
        vector color = ;
        llSetColor(color, ALL_SIDES);
        llSensor("", NULL_KEY, AGENT, 96, PI);
        llSay(0, "timer");
    }    
LSL-Script

Findet mein Sensor Avatare in er Nähe wird der Event-Handler sensor() (bzw. die Callback-Funktion) aufgerufen.

sensor()

Werden Avatare entdeckt, werden die Namen aller Avatare in einer Schleife mit der Funktion llDetectedName() ausgegeben. Wenn sich die Anzahl der Avatare zwischen zwei Senoraufrufen ändert, wird zusätzlich ein Sound abgespielt mit der Funktion llPlaySound().

    sensor(integer total_number)
    {
        if(total_number!=numOfDetectedObj)
        {
               llPlaySound("Soundtrack",1);
                numOfDetectedObj=total_number;
        }
        integer i =0;
        for(i=0; i<total_number; i++)
            {
                string s = llDetectedName(i);
                llSay(0,"something found by sensor = " + s);
            }

    }
LSL-Script

Die Funktion llPlaySound() erhält als ersten Parameter “Soundtrack”. Hierbei handelt es sich um einen symbolischen Namen eines Audioobjektes, welches über das Prim-Inventory erreichbar sein muss. Man kann aus dem Avatar-Inventory Objekte in das Prim-Inventory via Drag & Drop ziehen.
Das war es dieses Mal. Das Tutorial werde ich demnächst als PDF bereitstellen. Viel Spaß beim ausprobieren mit LSL.

Nächste Seite »