1 / 22

Second Life: Introduction

Second Life: Introduction. Russell Gayle Comp 790-058 – Robot Motion Planning Fall 2007 September 24, 2007. What is Second Life?. The Grid: The hardware behind the SL Metaverse. What is Second Life?. The Grid is organized into Simulators Single server instances. Connecting to Isle 1.

Download Presentation

Second Life: Introduction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Second Life: Introduction Russell Gayle Comp 790-058 – Robot Motion Planning Fall 2007 September 24, 2007

  2. What is Second Life? • The Grid: The hardware behind the SL Metaverse

  3. What is Second Life? • The Grid is organized into Simulators • Single server instances Connecting to Isle 1 Isle 1 Isle 2 Isle 3 Side connections to adjacent simulators Isle 4 Isle 5 Isle 6 Simulators

  4. What is Second Life? • Simulators are where the real work happens • Each simulator is responsible for its avatars Isle 1 Communications (chat/IM) Physical State, Collisions Inventory Animations SL Identifier

  5. What is Second Life? • Simulators are where the real work happens • Each simulator stores and distributes its prims Isle 1 Transformations Textures Physics Embedded items

  6. What is Second Life? • Primitives can hold any type of object • Primitives, scripts, animations, sounds, etc • LSL makes the world interactive • Embedded into prims LSL Scripts Change primitive appearance Interact with other primitives Interact with avatars Physics Query remote resources Many more!

  7. What’s missing? • Important features of SL that we will not cover • Economy • Linden Dollars • Content creation • and IP rights • Land ownership • In world attractions • Virtual sightseeing • “Live” music

  8. The Grid • Collectively can be considered “The World” • A large array of Debian servers • Each server can support several simulations • Centralized network topology • All communications goes through the Grid • Beta Grid: A test bed for upcoming technologies

  9. Simulators • Also referred to as a Region • e.g. Natoma, UNC CH I, UNC CH II • Typically has a dedicated CPU • Each region is 256 m by 256 m • Larger islands are made by connecting several regions • Responsibilities • Geometry / Prims • Avatars • Local messaging (whisper, say, shout) • Voice-chat • Client-server networking

  10. Simulators • SLUIDs • Every object (prims, avatars, animations, audio, etc) has a (global) SL Unique ID number • Each simulator also has local references to avatars and primitives • Multi-simulator islands • In reality, connected to multiple island simultaneously in case you cross borders • Note: You may need to keep track of this in your work!

  11. Avatars • Your virtual representation (or your bot’s) • Stored in a central database • Important features • Appearance • How you look (height, clothing, etc) • Inventory • What you can use and what you can DO • Local animations • Local sounds • Other primitives or scripts • Communication • State and Motion • Position, orientation, velocity, colliding, physics, etc

  12. Avatars: What they can do • Create primitives • Interact with (touch) primitives • This often activates scripts • Attach prims to themselves • Chat (whisper, say, shout) • This can also activate scripts • Navigate • Ground-based (walk, run) • Air-based (fly) • Predefined animations • Instant navigation (teleportation) • You may not always end up where you expect!

  13. Avatars: Limitations • Precision • Not easy to reach a specific location • Occasionally collisions are missed • Bandwidth • Not always enough to update all objects • May cause missed collisions or stalled motion

  14. Primitives • Belongs to a Region (simulator) • 7 base types • Box, cylinder, prism, sphere, torus, tube, ring • All items built by transformations of these • 1 special type • Sculpted prim • Prim whose shape is determined by a “Sculpt Texture”

  15. Primitives • Seven base material types • Stone, metal, glass, wood, flesh, plastic, rubber • Has several other state parameters • Physical • Flexible (automatically non-physical) • Texture • Color • Bumpiness • Lighting • Transparency

  16. Linden Script Language (LSL) • Embedded in a prim (or a group of prims) • Not in avatars • Each prim in a group can have a script • Scripts between linked prims are faster • All scripts in a prim are run • Similar to C or Java • But with an emphasis on states and events • Events trigger behaviors (functions) • Can also cause a change of state • And now for a crash course in LSL!

  17. LSL: Getting Started • Creating a script • Open the prim “Create” menu • Select a prim • Find the contents of the prim • Select “Create a new script” • The default script default { state_entry() { llSay(0, "Hello, Avatar!"); } touch_start(integer total_number) { llSay(0, "Touched."); } }

  18. LSL: States • State is used to determine which “behavior” should be used default //default state is mandatory { state_entry() { llSay(0, "turning on!"); llSetColor(<1.0, 1.0, 1.0>, ALL_SIDES); } touch_start(integer total_number) { state off; } } state off { state_entry() { llSay(0, "turning off!"); llSetColor(<0.0, 0.0, 0.0>, ALL_SIDES); } touch_start(integer total_number) { state default; } } Triggers a change of state A new state

  19. LSL: Events • We’ve seen two events • state_entry - When a state is activated • touch_start – When an object is touched • A few others which may be useful at_target – when a prim reaches its target collision – when a prim collides http_response – response to http request (used when working with remote resources) sensor – when a sensor call returns something • Note: Sensors are useful for tracking and following Documentation: http://wiki.secondlife.com/wiki/LSL_Portal

  20. Live Demo! • Overview of the main features in Second Life

  21. Introduction: Robots in SL • Two varieties • LSL (primitives) • Simulated network traffic (avatars) • Tradeoffs • LSL is stored and run on the simulator (server-side) • Only works with prims • Network traffic is subject to missed packets and limited by client performance • Note • Both can access remote utilities!

  22. LIBSecondLife • http://www.libsecondlife.org • Reverse engineering of SL network protocol • Inspect, insert, or remove packets from the client • Create your own client • We will control an autonomous avatar this way • More of this next time

More Related