Sie sind hier
E-Book

Second Life-Programmierung mit der Linden Scripting Language

AutorMatthias Melzer
VerlagCarl Hanser Fachbuchverlag
Erscheinungsjahr2007
Seitenanzahl383 Seiten
ISBN9783446415164
FormatPDF
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis31,99 EUR

ERSTELLEN SIE EIGENE SECOND LIFE-APPLIKATIONEN //

Liefert einen umfassenden Leitfaden zur Programmierung von SL-Applikationen

Stellt die Linden Scripting Language (LSL) ausführlich vor 

Alle Buchbeispiele unter http://downloads.hanser.de und in der virtuellen Präsenz des Buches in Second Life

SECOND LIFE-PROGRAMMIERUNG MIT LINDENSCRIPT //

Innerhalb von Second Life lassen sich – neben der Erstellung von 3D-Objekten – mit Hilfe der Linden Scripting Language, kurz LSL, eigene Anwendungen programmieren. Solche Anwendungen dienen dazu, Objekte und Spiel. guren (Avatare) mit Interaktivität zu versehen. Das vorliegende Buch beschreibt, wie sich derartige Anwendungen erstellen lassen. Matthias Melzer liefert einen Einstieg in die wichtigsten Konzepte der Sprache wie Variablen, Datenypen, Operatoren, Schleifen, Funktionen, Events und States. Der Hauptteil liefert das nötige Wissen, um Objekte zu erstellen und zu manipulieren. Behandelt werden das Formen von Objekten, Rechteverwaltung, Farben und Texturen, das Verknüpfen von Objekten, Objektinventar, Sensoren, Kollisionen sowie die Rotation und Ani mation von Objekten und das Erstellen von Fahrzeugen.

Zudem werden avatarspezifische Funktionalitäten (Teleports, Attachments, Huds, das Abfangen von Tastaturbefehlen usw.) behandelt. Auch die Kommunikation in und aus dem Second Life und das Einbinden von Audio und Video sowie das Erstellen von Partikelanimationen werden vorgeführt.

Zusammen mit zahlreichen kleinen Beispielapplikationen ergibt dies einen wertvollen Leitfaden, der alle wichtigen Themen behandelt, die es für die Second Life- Programmie rung braucht.

matthias MELZER, Diplom-Informatiker (FH), ist seit Jahren begeisterter Web Developer und setzt dabei vorrangig Open Source-Technologien wie PHP, MySQL, Apache und AJAX ein. Mit dem Web 2.0 und der Entwicklung von Rich Internet Applications beschäftigt er sich seit 2005, mit Second Life und LSL unmittelbar nach deren Erscheinen.

Besuchen Sie das Buch in SecondLife // Dort erhalten Sie alle Listings des Buches und können diese auch gleich in der zugehörigen Sandbox ausprobieren. Sie finden das Buch auf der Sim Terra Tron (http://slurl.com/secondlife/Terra%20Tron/102/252/24).

Kaufen Sie hier:

Horizontale Tabs

Leseprobe

8 Media (S. 257)

Dieses Kapitel beschäftigt sich mit dem Einbinden von Musik und Video in Second Life. Obwohl uns Second Life im ersten Augenblick als Multimedia vorkommt, werden Sie sehen, dass die Möglichkeiten in diesem Bereich andere als multi sind. Die Einbindung unterliegt einigen Beschränkungen, und es ist nicht immer einfach, seiner Kreativität freien Lauf zu lassen.

In diesem Kapitel werden Sie ein einfaches Gerät zum Abspielen von Musik bauen, ein Prim so einsetzen, dass Sie Videos auf ihm abspielen können, und ein Radio programmieren, mit dem es Ihnen möglich ist, verschiedene Internetradiostationen auf Ihrem Land zu empfangen. Zudem wird Ihnen alles Wissenswerte im Zusammenhang mit dem Thema Audio und Video in Second Life aus Programmierersicht erklärt werden.

8.1 Audio

Im Bereich Audio wird in Second Life zwischen zwei verschiedenen Arten unterschieden: der Empfang von Streaming Audio auf einer Parzelle und das Abspielen der von Ihnen hochgeladenen Sound-Schnipsel, sogenanntem in-world sound .

8.1.1 In-world sound

Eigene Sounds eignen sich primär zum Abspielen von Soundeffekten, dennoch ist es möglich, ganze Musikstücke abzuspielen, wie Sie im weiteren Verlauf sehen werden. Linden Lab beschränkt das Hochladen von Audiomaterial. Das zu übergebende Dateiformat ist WAV105 PCM, und die Länge einer Audiodatei darf zehn Sekunden nicht überschreiten. Falls Sie nicht wissen, wie man bspw. ein MP3 in das WAV-Format überführt, bietet das Progamm Audacity106 hierfür gute Dienste. Es ist sowohl für PC als auch für Mac kostenlos erhältlich.

Die Limitierung der Länge wird auf die sonst anzunehmenden Copyright-Verstöße zurückgeführt. Ein Upload einer Audiodatei kostet immerhin 10 L$ und ein Song von drei Minuten Länge demnach 180 L$, zum Zeitpunkt der Erstellung dieses Buches also fast 0,50 €. Da überlegt man es sich schon zweimal, bevor man einen Song hochlädt, vor allem wenn man die begrenzten Möglichkeiten des Abspielens sieht, auf die wir im Laufe des Kapitels noch zu sprechen kommen werden.

Ein weiterer Grund mag sein, dass Linden Lab nicht mit übermäßig vielen Audiodateien Serverplatz verschwenden möchte, denn obwohl die Dateien vor dem Ablegen auf dem Server erst in das Ogg Vorbis107-Format überführt und zuvor in 44,1 KHZ 16 Bit mono konvertiert werden, verbrauchen sie dennoch einiges an Speicherplatz. Eine Zehn- Sekunden-Datei Stille ist im Ogg Vorbis-Format immerhin noch 82 KB groß. Wenn nun die Anfrage eines Clients zum Abspielen eines Sounds an die Server geschickt wird, wird die komplette Datei an den Client übertragen und lokal gecached. Bevor sie abgespielt wird, wird sie vom Client wieder in das WAV-Format gewandelt. Hierbei wird Rechnung getragen, dass die meisten Soundkarten Ogg Vorbis nicht direkt abspielen können, WAV hingegen schon.

So weit zur Vorgeschichte. Sehen wir uns einmal an, welche Möglichkeiten Ihnen in Verbindung mit den in-world sounds zur Verfügung stehen.

Inhaltsverzeichnis
Inhalt8
Vorwort14
Der Aufbau des Buches15
Erforderliche Ressourcen16
Typografische Konventionen16
Die Beispiele und das Buch im SecondLife16
Feedback17
Danksagung17
1 Einführung in LindenScript18
1.1 Die Entwicklungsumgebung18
1.2 Hello, Avatar!20
1.3 Variablen22
1.3.1 Deklarieren von Variablen23
1.3.2 Variablen Werte zuweisen25
1.4 Datentypen26
1.4.1 Integer26
1.4.2 Float28
1.4.3 String28
1.4.4 Vector29
1.4.5 Rotation/Quaternion35
1.4.6 Key36
1.4.7 List36
1.5 Typumwandlung38
1.5.1 Explizite Typumwandlung38
1.5.2 Implizite Typumwandlung42
1.6 Operatoren43
1.6.1 Zuweisungsoperator43
1.6.2 Arithmetische Operatoren44
1.6.3 Inkrement- und Dekrementoperatoren45
1.6.4 Relationale Operatoren46
1.6.5 Logische Operatoren48
1.6.6 Binäre Operatoren50
1.6.7 Sonstige Operatoren53
1.6.8 Priorität der Operatoren54
1.7 Konstanten55
1.8 Anweisungen und Blöcke56
1.9 Kontrollstrukturen57
1.9.1 if und if-else57
1.9.2 while-Schleife60
1.9.3 do-while-Schleife61
1.9.4 for-Schleife61
1.9.5 jump63
1.10 Funktionen65
1.11 In LindenScript integrierte Funktionen69
1.11.1 Funktionen zur string-Bearbeitung69
1.11.2 Funktionen zur list-Bearbeitung73
1.12 In Abschnitte eingeteilte Listen (Strided Lists)84
1.13 Kartenziehen – ein erstes Beispielprogramm86
1.14 Ereignisse/Events92
1.14.1 Dem Benutzer zuhören – der Event93
1.14.2 Zeitgesteuerte Skripte – der Event96
1.14.3 Anweisungen beim Rezzen eines Objektes ausführen – der Event on_rez97
1.15 Zustände/States99
2 Primitives/Objekte104
2.1 Was ist ein Primitive? Was ist ein Objekt?104
2.1.1 Primitives104
2.1.2 Objekte105
2.2 Identität eines Prims106
2.3 Zugriffsrechte107
2.4 Einfache Manipulationen von Prim-Eigenschaften110
2.4.1 Auf ein Wort – die allmächtige Funktion llSetPrimitiveParams110
2.4.2 Die Eigenschaft Physikalisch110
2.4.3 Die Eigenschaft Phantom113
2.4.4 Die Eigenschaft Temporär113
2.4.5 Prim-Dimensionen114
2.4.6 Die Position eines Prims innerhalb von Second Life115
2.5 Formen120
2.5.1 Pfadschnitt/Path Cut123
2.5.2 Hohl und Hohlform/Hollow and Hole Shape125
2.5.3 Verdrehung (Torsion)/Twist127
2.5.4 Verjüngung/Taper127
2.5.5 Scherung/Topshear130
2.5.6 Vertiefung/Dimple130
2.5.7 Lochgröße/Holesize131
2.5.8 Profilschnitt/Profile Cut133
2.5.9 Versatz/Skew135
2.5.10 Umdrehungen/Revolutions135
2.5.11 Spiralform/Radius Delta136
2.6 Farben und Texturen von Objekten138
2.6.1 Farben138
2.6.2 Face, die Seiten eines Prims139
2.6.3 Texturen144
2.6.4 Transparente Prims/Objekte147
2.7 Licht148
2.8 Textliches149
2.9 Die Funktion llSetPrimitiveParams im Überblick150
2.9.1 Die Konstanten und Übergabewerte von llSetPrimitiveParams150
2.9.2 Basisformen setzen mit llSetPrimitiveParams152
2.9.3 Überblick über die Parameter der Formmanipulation154
2.9.4 Konstanten für Sculpted Prims155
2.9.5 Konstanten für Bumpmapping155
2.9.6 Glanz-Konstanten156
2.9.7 Prim-Material156
3 Verknüpfte Objekte/Linked Sets158
3.1 Allgemeines zu verknüpften Objekten158
3.2 Anweisungen in verknüpften Objekten159
3.2.1 Versenden von Nachrichten in Linked Sets159
3.2.2 Empfangen von Nachrichten in Linked Sets160
3.2.3 Eigenschaften abfragen und manipulieren in Linked Sets161
3.2.4 Programmatisches Anlegen und Auflösen von verknüpften Objekten167
4 Objektinventar174
4.1 Allgemeines zum Objektinventar174
4.2 WYGIWYG – eine Beispielanwendung175
4.2.1 Das Basisskript176
4.2.2 Einen neuen Gegenstand im Objektinventar ermitteln179
4.2.3 Objektinventarrechte und Übergabe eines Gegenstands an einen Spieler183
4.3 Auslesen von Notizen/Notecards189
4.4 Skriptfunktionen194
4.4.1 Auslesen von Landmarks196
5 Kommunikation198
5.1 Dialoge198
5.2 Instant Messages203
5.3 E-Mail204
5.4 HTTP207
5.5 XML-RPC210
5.6 Beispielanwendung RSS-Reader210
5.6.1 XyText211
5.6.2 Das serverseitige Abrufen des RSS-Feeds214
5.6.3 Aufruf des PHP-Skriptes aus LindenScript heraus215
5.6.4 Der RSS-Reader als Ganzes216
5.7 Finaler Überblick zur Kommunikation in LindenScript219
6 Rotation, Animation und Translation eines nichtphysikalischen Objekts222
6.1 Einführung222
6.2 Rotation von Prims223
6.2.1 Mathematisches223
6.2.2 Umrechnung von Grad in Radiant und umgekehrt224
6.2.3 Drehung eines Prims/Objektes224
6.2.4 Wiederholte Drehung eines Prims/Objektes225
6.2.5 Animierte Drehung mit llTargetOmega228
6.2.6 Lokale Rotation in Linked Sets230
6.3 Rotation und Animation von Texturen232
6.3.1 Animation von Texturen durch Einzelbilder234
6.3.2 Animierte Rotation von Texturen235
6.3.3 Animation einer Textur durch Skalierung235
7 Avatarfunktion238
7.1 Allgemeine Avatarfunktionen239
7.2 Sitzen243
7.3 Attachments247
7.4 Animation von Avataren251
7.5 Steuerung von Avataren/Controls256
7.6 Money, Money, Money260
7.7 Teleports270
8 Media274
8.1 Audio274
8.1.1 In-world sound274
8.1.2 Streaming Audio281
8.2 Video283
9 Partikel288
9.1 Einführung288
9.2 Partikelemissionen beenden290
9.3 Der Emitter290
9.4 Die Funktion llParticleSystem291
9.4.1 Schemata/Pattern292
9.4.2 Den Ausstoß von Partikeln beeinflussen294
9.4.3 Farbe von Partikeln295
9.4.4 Transparenz296
9.4.5 Größe von Partikeln297
9.4.6 Das Aussehen von Partikeln mit Texturen bestimmen297
9.4.7 Rotation des Partikelemitters299
9.4.8 Partikel auf ein Ziel zubewegen299
9.4.9 Überblick über alle Übergabewerte an llParticleSystem301
9.5 Partikelbeispiele304
9.5.1 Bling Bling305
9.5.2 Let it snow, let it snow, let it snow306
9.5.3 Feuer!!!307
10 Erweiterte Objektfunktionalität310
10.1 Huds310
10.1.1 Vorabinformationen310
10.1.2 Ein Hud-gesteuerter Bildbetrachter312
10.2 Sensoren316
10.2.1 Allgemeines zu Sensoren317
10.2.2 Beispielprogramm Avatar-Scanner-Attachment319
10.3 Physikalische Objekte323
10.3.1 Beschleunigung/acceleration324
10.3.2 Drehmoment/torque325
10.3.3 Geschwindigkeit/velocity326
10.3.4 Kraft/force326
10.3.5 Masse/mass327
10.3.6 Impuls/impulse328
10.3.7 Reibung/friction329
10.3.8 Schwerkraft/gravity329
10.3.9 Energie/energy329
10.3.10 Weitere Funktionen für physikalische Objekte330
10.4 Kollisionen331
10.5 Abschließendes Beispielprogramm – eine Pistole333
11 Fahrzeuge342
11.1 Grundkonzepte342
11.2 Autos344
11.2.1 Mein erstes Auto344
11.2.2 Auto 2.0 – jetzt mit Reifen351
11.2.3 Türen, Motorhaube und Kofferraum352
11.2.4 Du nicht354
11.3 Wasserfahrzeuge356
11.4 Ein fliegender Teppich360
11.5 Die Parameter der vehicle-Funktion im Überblick362
A Glossar368
B Alle Events im Überblick372
C Alternative Editoren374
C.1 Compiler/Debugger374
C.2 Editoren374
C.3 Syntax-Checker375
Register376

Weitere E-Books zum Thema: Programmiersprachen - Softwareentwicklung

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

Programmieren lernen in PHP 5

E-Book Programmieren lernen in PHP 5
Format: PDF

Mit der Version 5 erreicht PHP einen bemerkenswerten Reifegrad, der PHP zu einer festen Größe in der Welt der Webprogrammierung macht. Gerade die leichte Erlernbarkeit macht PHP zur idealen…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Weitere Zeitschriften

ARCH+.

ARCH+.

ARCH+ ist eine unabhängige, konzeptuelle Zeitschrift für Architektur und Urbanismus. Der Name ist zugleich Programm: mehr als Architektur. Jedes vierteljährlich erscheinende Heft beleuchtet ...

Berufsstart Gehalt

Berufsstart Gehalt

»Berufsstart Gehalt« erscheint jährlich zum Sommersemester im Mai mit einer Auflage von 50.000 Exemplaren und ermöglicht Unternehmen sich bei Studenten und Absolventen mit einer ...

DER PRAKTIKER

DER PRAKTIKER

Technische Fachzeitschrift aus der Praxis für die Praxis in allen Bereichen des Handwerks und der Industrie. “der praktiker“ ist die Fachzeitschrift für alle Bereiche der fügetechnischen ...

Deutsche Hockey Zeitung

Deutsche Hockey Zeitung

Informiert über das nationale und internationale Hockey. Die Deutsche Hockeyzeitung ist Ihr kompetenter Partner für Ihren Auftritt im Hockeymarkt. Sie ist die einzige bundesweite Hockeyzeitung ...

DULV info

DULV info

UL-Technik, UL-Flugbetrieb, Luftrecht, Reiseberichte, Verbandsinte. Der Deutsche Ultraleichtflugverband e. V. - oder kurz DULV - wurde 1982 von ein paar Enthusiasten gegründet. Wegen der hohen ...

ea evangelische aspekte

ea evangelische aspekte

evangelische Beiträge zum Leben in Kirche und Gesellschaft Die Evangelische Akademikerschaft in Deutschland ist Herausgeberin der Zeitschrift evangelische aspekte Sie erscheint viermal im Jahr. In ...

rfe-Elektrohändler

rfe-Elektrohändler

rfe-Elektrohändler ist die Fachzeitschrift für die CE- und Hausgeräte-Branche. Wichtige Themen sind: Aktuelle Entwicklungen in beiden Branchen, Waren- und Verkaufskunde, Reportagen über ...

IT-BUSINESS

IT-BUSINESS

IT-BUSINESS ist seit mehr als 25 Jahren die Fachzeitschrift für den IT-Markt Sie liefert 2-wöchentlich fundiert recherchierte Themen, praxisbezogene Fallstudien, aktuelle Hintergrundberichte aus ...