Dmk Virtual Reality Shane

49
Shane Harrison DMK showcase Gallery Project k0618551 Contents Introduction.................................................. 3 Executive summary............................................. 3 A technical walkthrough....................................... 5 Project management........................................... 16 Review....................................................... 19 Bibliography and references..................................20 Appendix..................................................... 21 1

description

 

Transcript of Dmk Virtual Reality Shane

Page 1: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551

Contents

Introduction...................................................................................................................................3Executive summary......................................................................................................................3A technical walkthrough...............................................................................................................5Project management....................................................................................................................16Review........................................................................................................................................19Bibliography and references.......................................................................................................20Appendix.....................................................................................................................................21

1

Page 2: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551

Virtual reality

CI3105

DMK showcase Gallery

Client: Karen Cham

Module leader: Christopher Hutchinson

Shane Harrison

2

Page 3: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551

Introduction

I enrolled into the Virtual reality module in the second semester of 2010, ran by the lecturer Christopher Hutchinson. This module is run in a virtual environment called second life which is run online and can be accessed and used my many users simultaneously. Here we are to construct builds and use scripts (programmes) to facilitate build development and

functionality for either ourselves or a client.

The aims of the module are to explore the create, paedogogical, technical and information systems design issues in this virtual environment, where we are expected to determine

practical applications of such environments within particular areas like science, information systems, education and entertainment. During this time we have had practice in the basic

building skills to construct virtual reality products and services.

Executive summaryFor this years moduel the context of the entire project is the revedelopmement of the

knowledge zone which has been commission by the ADC for re-devlopment. My role Is to be team leader of the DMK showecase gallery project, within the redevelopment where my client is Karen cham. I have to manage contact, meetings and set the deliverables with the

client and make sure they are met as well as managing my project team. My team consists of four members, Myself, John Pickard, Naqib Khanjan and Shafiq Sharifi.

The time scale for the project starts around after the first two or three of the ten week module duration over a serious of 22 lectures for project completion. The due date is set to be the 18th may 2010. The main deliverables for my project is to construct a gallery room

where digital media Kingston students can watch and interact with live media in a virtual environment.

My contributioin will be to keep the group together with meetings and in regular contact with our client, setting each group member tasks and deadlines. My building roles will be the gallery room and certain main features that surround it.

3

Page 4: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551

About the client and their business

My group’s client is Karen Cham the Development Coordinator of Digital Media Kingston and Principal Lecturer of Digital Media in the School of Communication Design within the Faculty of Arts, Design & Architecture at Kingston University London.

Digital media Kingston aims to fill in the gap of digital media skills in the UK by breaking down

the barriers between arts and sciences, by teaching enterprises and research. They want to ensure a synergy between the digital media teaching and are connected to companies such as DreamWorks, Sony computer entertainment and Samsung design Europe. These firms have helped to refine a new form of industry facing masters courses which facilitate the development of specialised technical skills to help fill the UKs digital media gap.

They aim to bond students from art and computing backgrounds as well as their skills, together by a range of DMK courses to help equip graduates in meeting the skill requirements of today’s digital media industry. They also have 20 different postgraduate courses that cover

software engineering, the arts and sciences, as well as filmmaking and web development. They commit themselves to facilitating the existing hybrid cultures and new digital ecologies

to find particular behaviours that will create strategies for new digital media technologies. Their consistent goal all throughout is to bring together diverse and heterogeneous expertise and the resources that follow into digital media within Kingston University.

The idea of us creating the DMK showcase gallery in a virtual environment (second life) within

the knowledge zone was brought on by Karen Cham, to enable the digital media Kingston students in knights park campus to view media in a virtual version of the existing showcase gallery in knights park without the need to physically attend any gallery sessions, giving

students access to digital media simultaneously and freely. The second benefit of the virtual showcase gallery are meeting rooms which Karen and other members can use to hold

meeting on future projects and developments.

4

Page 5: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551

A technical walkthrough

Due to the fact that I did not take any screen shots of my creations during development I will only make screen shots of the general process in creating each build with a final screen shot of the finished product. All of my main builds will be fully explained in terms of GUI (graphical interface). All builds were made in second life using the provided GUI interface and all self

made textures were developed with Microsoft paint.

Solar systemThe solar system was created by using sphere objects and applying textures to those spheres to enable them to resemble the planets of the solar system. One prim was used as the sun

which is attached to another sphere prim. This second prim would be a planet (in this case the earth) and both prims are attached by linking. Both also contain rotation scripts allowing the planet to rotate around the sun and the planet to spin on its own, and the other planets where also made in this manner but had their suns set to a default transparent texture which

makes them invisible. From here I placed the invisible suns together with their surrounding planets to create a solar system.

5

Created a sphere prim using the GUI

Page 6: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551

6

Applied textures to prims

Selected textures from GUI

Linking two prims together

Adding rotation script to prims

Invisible transparent prim, visible by highlighting transparent objects

Default transparent texture selected

Page 7: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551

Gift shop

The gift shop was constructed by use of box prim objects which were flattened by stretching

and had a metal texture applied afterwards. The rotating door was made in the same way the

planets where made in terms of linking and rotation scripts.

7

The complete solar system

Box prim stretched out and applied with metal texture

Stretch option selected

Metal texture selected

Page 8: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551

Lift system

The lift system is based on one multiplied block prim that was enlarged and hollowed out.

This created the lift shaft where one block was used as the lift cart. The main evaluator script was added to the cart and then the elevator call scripts where placed in sphere buttons with metallic textures.

8

Linking prim walls Link option selected after selecting both prims

Stretched and hollowed box prim Increasing hollow on prim

Default white transparent textures primChoosing transparent

texture

Page 9: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551

Gallery room

Multiple boxed prims where flattened and linked to create the water surfaces, which had

water textures and a texture moving script applied to them. The plane glass sides consist of two prims, one inner and one outer side of each glass, which are also linked together. The centre of the roof is made out of half a cylinder which was made to be halved.

9

Using the shift key and dragging the prim duplicates it

Cutting out prim to create lift cart

Increasing cut on prim

Complete lift and shaft

Page 10: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551

Portal box

This consists of a stretch box prim, and cylinder, where two flattened cylinders where joined together to create the stargate inside. This was made the same way other objects were

created. Additionally it uses the scrip in the lift system to move up and down when called so users can access the stargate inside.

10

Linked and water texture applied primsApplying water

movement script

Entire gallery room

Complete portal box

Page 11: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551

Scripts Used

All scripts have been explained in terms of main variables and functions that allow them to work, and any additional actions taken to allow them to function. Full script code has been added in the appendix.

Teleportation script (Used for teleporting around the gallery)

This script was used to enable avatars to teleport throughout the gallery. The vector targetPos variables define the coordinated target to where the avatar will be sent to.llSetSitText is used to define the default text to click to enable the teleport where the programme calls the reset(); function later to end the teleportation as the avatar reaches

their target by the llUnSit(llAvatarOnSitTarget()); function.

Main vendor script (Used for purchasing items from the gift shop)

This script works with another script, one which is the main vendor script that defines the

items and prices and allows the processes of a transaction to be made, where the second (the buy button) allows the avatar to make the purchase. The imports at the start define what items hold information on the products sold and in what formats, for example integer price

means the price must be a number. The notecardName variable is set to equal to "Config” which means the notecard I place in the object inventory of the prim that holds this script

must be named as "Config” and will contain the texture, price and item for what is being sold.

Every time new items are added and the programme is reset llSay(0,"Loading product

data..."); is called giving the seller a confirmation message, where another messages are sent to the buyer for message confirmation of a purchase.

This programme originally was supposed to allow the user to select an image and purchase the item displayed. Other scripts would have been used to allow the user to navigate

between items but due to complications I had to change the script so that only one item could be purchased form one vendor at a time. I did this by only using the code explained,

leaving out additional code of the full programme.

11

Page 12: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551

Buy button script (Used for purchasing items from the gift shop)

This script creates the button on the vending machine that allows the users to make a purchase. It uses the link_message variable to connect to the main script and allows a purchase acknowledgement to be made.

Rotation script (Used for rotating solar system, DMK logo, fountains, shop door, and other

logos and signs)

This script uses the llTargetOmega function to define in which ways a prim object will rotate in. by changing the co-ordinates you can alter the movements of the prims rotation both on the X and Y axis.

Moving texture script (Used for signs, the water effect in the gallery room and fountains)

This script uses the llSetTextureAnim function to define the speed direction, and the repeat

and animation of the texture within a prim object. It moves the texture in a set direction from this function where the llSay function is added to create a message when the user touches

the prim object.

Water movement script (used for the fountains)

This script is similar to the moving texture script and animates water textures in the same

manner. The only difference is that it uses three extra functions being llVolumeDetect to determine whether or not imported audio can be heard when using a prim with the effect, the collision_start function that determines when an avatar makes contact with the prim

object and water texture, and then the llTriggerSound function which is what the two previous functions work with. This function defines the sound that is created when an avatar

makes contact with the prim object, and in this case is a splash sound.

Elevator script (Used to create the elevator system)

This script uses the list “MENU_MAIN” variable to define how many floors the lift will have

where the float “FLOOR_HEIGHT” function defines the top level floor. The “float SPEED target” defines the speed in which the lift travels upwards or downwards and the “llSitTarget” function is used to define where and in what position the avatar sits in when using the lift. An “llSetText” function is also used to provide user guidance text on the prim object that

contains the script.

12

Page 13: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551

The llSay functions are used for the scrip to provide the user feedback on the lifts current destination when the “target” function is used to define the amount of distance travelled

between each floor which I had set to “target = BOTTOM + (idx*46);” in order to allow a great enough distance for only three floors as the original version of this programme had 10.

Call elevator script

This script works in conjunction with the main elevator script and allows the user to call the lift up or down to any of the floors programmed into the elevator. The “llSetText” function is used to place a message for the user and the “llRegionSay” function is used to define which corresponding floor in the elevator script the lift must now move towards.

Hovering text script (used to label objects such as chairs)

This script just uses the “llSetText” function that was previously mentioned in other scripts to

show text on the prims that contain this programme.

Water fall mist (Used for effect round the reception and in the lift system)

This script uses a series of particle parameters o define the actions and the lifespan of each

particle which create the water fall mist effect. The “float age” function determines the life duration of each particle. The “float maxSpeed” and “float minSpeed” determine the

minimum and maximum speeds at which each particle is released. The “string texture” function define the actual texture used to create the visual particle and the float “startAlpha”, “float endAlpha”, “vector startColor”, and “vector endColor” define how transparent the

particle will be and its size. “vector startSize”, “vector endSize” and “vector push” functions are also used to determine the size of the particles and the force used.

Following that are system parameters such as “float rate” that determines the rate at which particles are emitted and “integer count” to determine how many particles are outputted for

every burst made. The other functions here just determine angles and rotations and life emitting durations of particles.

13

Page 14: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551

Fountain No-Frills Particle Script v2 Blue script (used to create fountain of water in the fountains)

This script works very much like the previous except that it uses slightly different functions to carry out the necessary programming actions. Main functions used here are “PSYS_PART_START_SCALE” which determines the beginning size of the particles and has an opposite function for the ending size. “PSYS_PART_START_COLOR” defines the starting colour

and again has an opposite function for the ending colour. The same function types are used all through just like with the “water fall mist” script, but are just defined slightly differently.

Other builds

Other non main builds where created using the same building methods explained above for the main sections of my contribution. These include:

Teleportation boxes

Lift shaft

Reception entrance teleportation interface

DMK showcase gallery base

DMK rotating logo

Project flyer

Moving light pathway at reception

Lift and floor signs

Cylinder teleportation boxes

Chairs, fountains, media screens, and statues in the gallery room

DMK (Digital media Kingston) animated logos

Vender machine screen and purchase sphere

14

Page 15: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551

Gift shop floor platform

Gift shop Open box

Textures Used Throughout

Sign textures: Sign07 Metal Texture Bundle: AF_metal_cage_blk.tga, AF_steel_wire.tga Textures: Gall, my_statue

Snakeskin textures: fire358 Fabric: fabric – Linen Serpentine, Fabric, Grey Carpet Terrain Textures – Winter: Wet sand base Wallpaper: Wallpaper, Blue

Particle System: Water Ripple, Waterfall, medium overlay, Water – ripple layer 1, Water particle – mist

Misc Textures: Blue plasma Floor tile: White tile

How the virtual showcase gallery will be used

The user would first enter the reception area by teleporting in from the entrance. From there they view information at the reception and interact with the television screen which is

connected to the client website. From there they will either teleport to a floor in the gallery room or use the lift. This is where they interact with the media screens where they view

digital media videos and from there can either teleport to or use the lift to reach the gift shop to make a purchase. Included in the appendix will be a URL link to a video demonstrating how a user would interact with the gallery.

15

Page 16: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551

Project management

Input and advice provided for team

I had helped John with some building features of the second life GUI, such as multiplying and copying prims by dragging them across as well as advising him in the creation of the reception. I gave him the idea to make his reception transparent like my build so that everything can be consistent and suggested upon visiting the clients campus that john could

make the rotating doors, so provided him with the object rotation script and a script I named “water movement” which makes prims phantom. This had helped him in constructing the lights in his reception by making the cone shaped prim phantom so that it acted as real light when an avatar wants to pass through it.

I had also advised him on the shape of the front desk, which I based on the existing desk in

knights park campus. My sections would be very large in size in comparison to his reception (although he was already using a mega prim), so I then suggestion that he copied his reception and attached the new section to the existing part, to create a waiting room area. I

then advised him to create televisions in the waiting room and provided him with the slide show programme that he could use on the screen prim.

Team attitudes and their commitment

Both I and John had managed to create a great deal of work in less than two week at the start of this project, but the two members Naqib Khanjan and Shafiq Sharifi, did not wish to learn

anything or make any real contribution to the project from the start.

The two seemed to not know that the module was individually assed, only turned up at some

meetings and when they did, sat doing little or nothing and did not bother to ask about new developments. Both members said that they wanted to be in this group because they had seen both my and John’s name’s on the spreadsheet that contained group member names, so

that they could learn from us. But not once did they ever ask to learn about what we were creating or what they could do for the group.

This all indicated to me that these two non contributors only joined the group to take it easy on both mine and johns efforts, which is where I am strongly assuming that they did not know that all work is individually assessed. At one point I had set our first group meeting

16

Page 17: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551

in front of both of these members where they apparently made notes about the

meetings but had never arrived. John was sent an email and still arrived much earlier before I had.

I sent an email warning both of these members that attending meetings is a part of group contribution and failure to do so would result in a loss of their places. The response I received where illogical and senseless, as they claimed to have been lost and confused.

Previously I had made it clear that the group meeting was set in the sopwith building 127 (which is very well known by all ICT students here at Kingston).

At multiple times both members made different sorts of excuses throughout the project ranging from, being sick to having to attend work, which is why they claimed to have been

unable to work over the first 2 - 3 weeks, later asking me to take care of the work which I had set them.

As team leader I wanted to make the start in development an easy non - complicated matter

for all group members including myself. This is why I assigned all members the tasks of creating basic objects which would only require the use of resizing shapes, duplicating prims,

and applying textures. Both of these members were highly unable to do this in that 2- 3 week period which became increasingly worrying. And right until the end of the project I had still not received everything I had asked from both members, where one had decided to create

objects I did not request. Their performances have been non – existent to poor, but fortunately on the other hand John had been eager to work and was supportive when

needed.

Experience in being team leader, lessons learned and management

Over the duration of the project I had realised the importance in team work and communication on a far greater level than I had before. I now know how crucial it is to

communicate ideas with clients and team members and to have a clear understanding of what is understood and required. If this is done then projects can move forward quickly with

little mistakes and good development, which is what I had managed to accomplish with my leadership and the corporation with the client and John. Being team leader had its requirements in terms of dealing with multiple requests, and in responsibilities of the project

as well as in having to manage team meetings with and without our client, answer to problems and complications and make sure that the final product was delivered on time to the client as well as keeping them satisfied all throughout. I had made sure that our client was constantly notified of any changes, limitation and ideas, which saw this project to a good completion.

17

Page 18: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551

Feedback and communication from my client

The below email is from my client stating how she was pleased with the prototype demonstration I made for her and a group of her associates of the DMK showcase gallery. Further client communications regarding regular client meetings every Tuesday have been added in the appendix.

Hi Shane

thanks for yesterday, they were very impressed. Is there any chance of a couple of screen grab jpegs for me to add to my annual report ? The four Deans involved in

DMK are meeting next Tuesday and it would be great to include images of your work.

I will see you 1pm next Tuesday for a proper catch up

Thanks

Karen Cham

Development CoOrdinator, Digital Media KingstonPrincipal Lecturer Digital Media,

School of Communication DesignFaculty of Arts, Design & ArchitectureKingston University

London

00 (44) 208 547 2000

www.digitalmediakingston.com

18

Page 19: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551

Review

Our client was pleased from within the first week where she only expected us to gradually understand the ideas she wanted to communicate to us, but instead because of my determination in making this group produce at good pace, we had actually begun building

structures and elements of the project at that beginning stage. At one point john had mentioned to me that my team management was better than that he had previously experienced, which made him feel comfortable mostly because the other two members in our group were not producing anything at all, and with my drive to succeed and motivation in

encouraging him and myself, he had felt safer knowing that I was handling this project.

Other good feedback experiences I have gotten were from my lecture Christopher Hutchinson and Karen Cham. I believe that they both feel that I had this project under control before the very beginning and that I had the necessary team management skills in making sure that the

project was delivered as expected to the client. Personally this has been a massive achievement for me as I now feel more confident in management roles, and had enjoyed the

project and support given to me from Chris and Karen all throughout.

Project complications where having an increased workload because two members would not

fully contribute to the project and not being able to deliver some client request due to certain lacks in knowledge, but all top level goals desired from our client were met.

Notable successes were an increased learning in programming and managing to create many builds with the effort of just two team members. Personally I should have used more low prim

techniques but most of my larger works were developed at the very start of the module making it complicated to change afterwards.

ConclusionApart from having a good result to the project, further outcomes have been my new

identification of media application in a virtual environment, and new skills in development, team leadership and organisation. Where I also have gained more knowledge in the technologies and software’s used in desktop virtual reality development.

WORD COUNT (EXCLUDING REFRENCES TITLE PAGE AND CONTENTS PAGE): 3896

19

Page 20: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551

Bibliography and references

Jeff heaton, JH, 2007. scripting recipes for second lifeHeaton Research inc

http://wiki.secondlife.com/wiki/LSL_Tutorialhttp://arianeb.com/secondlife.htmhttp://wiki.secondlife.com/wiki/A_Basic_LSL_Tutorialhttps://vorticism.wordpress.com/tutorials/basics-of-scripting/

https://vorticism.wordpress.com/tutorials/building-for-clients/https://vorticism.wordpress.com/tutorials/creating-transparent-textures/https://vorticism.wordpress.com/tutorials/importing-music-files-into-second-life/

Textures

Sign textures: Sign07

Metal Texture Bundle: AF_metal_cage_blk.tga, AF_steel_wire.tga

Textures: Gall, my_statue

Snakeskin textures: fire358

Fabric: fabric – Linen Serpentine, Fabric, Grey Carpet

Terrain Textures – Winter: Wet sand base

Wallpaper: Wallpaper, Blue

Particle System: Water Ripple, Waterfall, medium overlay, Water – ripple layer 1, Water particle – mist

Misc Textures: Blue plasma

Floor tile: White tile

Objects

Household: picture Frame

20

Page 21: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551

Scripts Used:

Teleportation (Used for teleporting around the gallery)

Purchase (Used for purchasing items from the gift shop)Rotation (Used for rotating solar system, DMK logo, fountains, shop door, and other logos and signs)Moving texture (Used for signs, the water effect in the gallery room and fountains)Water movement (used for the fountains Elevator (Used to create the elevator system)Hovering text script (used to label objects such as chairs) Water fall mist (Used for effect round the reception and in the lift system)Fountain No-Frills Particle Script v2 Blue (used to create fountain of water in the fountains)

AppendixDMK tour demonstration link http://www.youtube.com/watch?v=L6_J8yaxWbY

Main vendor script

integer index;

// for loading notecard

string notecardName;key notecardQuery;integer notecardIndex;list notecardList;integer price;string itemName;

displayItem(){ string textureName = llList2String(notecardList,index*3); itemName = llList2String(notecardList,(index*3)+1); string p = llList2String(notecardList,(index*3)+2); price = (integer)p; string display = itemName + "\nL$" + p; llMessageLinked(LINK_ALL_OTHERS , 0, ":"+display, NULL_KEY); llSetLinkPrimitiveParams(5,[PRIM_TEXTURE, 1, textureName, <1,1,1>, <0,0,0>, 0 ]); llSetPayPrice(PAY_HIDE, [price, PAY_HIDE, PAY_HIDE, PAY_HIDE]);}default{ state_entry() {

21

Page 22: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551 if( llGetListLength(notecardList)==0) { notecardName = "Config"; state loading; } else { index = 0; displayItem(); } } link_message(integer sender_num, integer num, string str, key id) { if( str=="back" ) { index--; } if( str=="forward" ) { index++; } if(index>=(llGetListLength(notecardList)/3)); index = 0; if(index<0 ) { index = (llGetListLength(notecardList)/3); index--; } displayItem(); } money(key id,integer amount) { if( amount>=price) { llGiveInventory(id,itemName); llSay(0,"Thanks for your pirchase!"); } }}

state loading{ state_entry() { llSay(0,"Loading product data..."); notecardIndex = 0; notecardQuery = llGetNotecardLine(notecardName, notecardIndex++); } dataserver(key query_id, string data)

22

Page 23: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551 { if (notecardQuery == query_id) { // this is a line of our notecard if (data == EOF) { llSay(0,"Products loaded..."); state default; } else { notecardList += [data]; notecardQuery = llGetNotecardLine(notecardName,notecardIndex++); } } }} Buy button

default{ link_message(integer sender_num, integer num, string str, key id) { string prefix = llGetSubString(str,0,0); if( prefix==":") { string rest = llGetSubString(str,1,-1); llSetText(rest,<0,0,0>,1); } }}

Teleport script

vector targetPos = <61, 214, 24>; //The x, y, z coordinates to teleport.string fltText = ""; //label that floats above Teleport

reset(){ vector target; target = (targetPos- llGetPos()) * (ZERO_ROTATION / llGetRot()); llSitTarget(target, ZERO_ROTATION); llSetSitText("Teleport"); llSetText(fltText, <1,1,1>, 1);}default{ state_entry() { reset(); } on_rez(integer startup_param)

23

Page 24: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551 { reset(); } changed(integer change) { llSleep(0.15); llUnSit(llAvatarOnSitTarget()); reset(); } }

Rotation

default{ state_entry() { //llTargetOmega(<0,0,2>,-0.3,PI); llTargetOmega(<0,0,10>,-0.3,PI);// up down + inwards - outwards // left right + right - left // centered spin +right - left //Direction + right - left // PI

}}

Moving texture

default{ state_entry() { llSetTextureAnim(ANIM_ON | SMOOTH | LOOP, ALL_SIDES,1,1,1.0, 1,0.55); }

touch_start(integer total_number) { llSay(0, "Touched."); }}

Water movement

default{ state_entry() {

24

Page 25: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551 llSetTextureAnim(ANIM_ON | ROTATE | LOOP | SMOOTH, ALL_SIDES, 0, 0, 0, 100, .05); llVolumeDetect(TRUE); }

collision_start( integer num_detected ) { llTriggerSound("2cf64119-69e6-48e1-8d43-7e66f24f38d7", 1); }}

Elevator

integer CHANNEL = 42; // dialog channellist MENU_MAIN = ["Floor 1", "Floor 2", "Floor 3"]; // the main menu

float BOTTOM = 22.260;float FLOOR_HEIGHT = 3;

float SPEED = 2;float target;

default{ state_entry() { llListen(CHANNEL, "", NULL_KEY, ""); // listen for dialog answers (from multiple users) llSitTarget(<0,-0.5,0.5>, llEuler2Rot(<0,0,-90>) ); llSetText("Right Click a wall and Select sit to allow evelator operation",<0,0,0>,1.0); target = BOTTOM; } listen(integer channel, string name, key id, string message) { integer idx = llListFindList(MENU_MAIN, [message]); if( idx!=-1 ) { llSay(0,"Elevator arriving at " + message + "." ); target = BOTTOM + (idx*46); state moving; } } changed(integer Change) { llDialog(llAvatarOnSitTarget(), "Please chose a floor", MENU_MAIN, CHANNEL); }}state moving

25

Page 26: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551{ state_entry() { llSetTimerEvent(0.1); } timer() { vector pos = llGetPos(); if( pos.z!=target ) { if( pos.z>target ){ pos.z = pos.z - SPEED;}else{ pos.z = pos.z + SPEED;}}

if( llFabs(pos.z - target) < SPEED ) { pos.z = target; llSetTimerEvent(0); llSetPos(pos); llSay(0,"Destination reached" ); state default; } llSetPos(pos); } }

Call elevator

default{ state_entry() { llSetText("Touch to Call Elevator", <0,0,0>,1.0);}touch_start(integer total_number){ llRegionSay(42, "Floor 1");

}}

Hovering text

26

Page 27: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551

default{ state_entry() { llSetText("Hundreds of Free Sounds", <0,0,0>, 1); }}

Waterfall mist

// Particle System 1.0

StartSteam(){ // MASK FLAGS: set to "TRUE" to enableinteger glow = TRUE; // Makes the particles glowinteger bounce = FALSE; // Make particles bounce on Z plane of objectsinteger interpColor = TRUE; // Color - from start value to end valueinteger interpSize = TRUE; // Size - from start value to end valueinteger wind = FALSE; // Particles effected by windinteger followSource = FALSE; // Particles follow the sourceinteger followVel = TRUE; // Particles turn to velocity direction

// Choose a pattern from the following: // PSYS_SRC_PATTERN_EXPLODE //PSYS_SRC_PATTERN_DROP // PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY // PSYS_SRC_PATTERN_ANGLE_CONE // PSYS_SRC_PATTERN_ANGLE integer pattern = PSYS_SRC_PATTERN_EXPLODE;

// Select a target for particles to go towards // "" for no target, "owner" will follow object owner // and "self" will target this object // or put the key of an object for particles to go to key target;

// Particle paramaters float age = 3; // Life of each particle float maxSpeed = 0.05; // Max speed each particle is spit out at float minSpeed = 0.0; // Min speed each particle is spit out at string texture = "Water Particle - Mist"; // Texture used for particles, default used if blank float startAlpha = .25; // Start alpha (transparency) value float endAlpha = 0.0; // End alpha (transparency) value vector startColor = <0.9,0.9,1>; // Start color of particles <R,G,B>

27

Page 28: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551 vector endColor = <1,1,1>; // End color of particles <R,G,B> (if interpColor == TRUE) vector startSize = <.25,.25,.25>; // Start size of particles vector endSize = <3,3,3>; // End size of particles (if interpSize == TRUE) vector push = <0,0,0.5>; // Force pushed on particles

// System paramaters float rate = 0.1; // How fast (rate) to emit particles float radius = 1.0; // Radius to emit particles for BURST pattern integer count = 16; // How many particles to emit per BURST float outerAngle = 0.1; // Outer angle for all ANGLE patterns float innerAngle = 0.65; // Inner angle for all ANGLE patterns vector omega = <0,0,0>; // Rotation of ANGLE patterns around the source float life = 0; // Life in seconds for the system to make particles

// Script variables integer flags;

flags = 0; if (target == "owner") target = llGetOwner(); if (target == "self") target = llGetKey(); if (glow) flags = flags | PSYS_PART_EMISSIVE_MASK; if (bounce) flags = flags | PSYS_PART_BOUNCE_MASK; if (interpColor) flags = flags | PSYS_PART_INTERP_COLOR_MASK; if (interpSize) flags = flags | PSYS_PART_INTERP_SCALE_MASK; if (wind) flags = flags | PSYS_PART_WIND_MASK; if (followSource) flags = flags | PSYS_PART_FOLLOW_SRC_MASK; if (followVel) flags = flags | PSYS_PART_FOLLOW_VELOCITY_MASK; if (target != "") flags = flags | PSYS_PART_TARGET_POS_MASK;

llParticleSystem([ PSYS_PART_MAX_AGE,age, PSYS_PART_FLAGS,flags, PSYS_PART_START_COLOR, startColor, PSYS_PART_END_COLOR, endColor, PSYS_PART_START_SCALE,startSize, PSYS_PART_END_SCALE,endSize, PSYS_SRC_PATTERN, pattern, PSYS_SRC_BURST_RATE,rate, PSYS_SRC_ACCEL, push, PSYS_SRC_BURST_PART_COUNT,count, PSYS_SRC_BURST_RADIUS,radius, PSYS_SRC_BURST_SPEED_MIN,minSpeed, PSYS_SRC_BURST_SPEED_MAX,maxSpeed, PSYS_SRC_TARGET_KEY,target, PSYS_SRC_INNERANGLE,innerAngle, PSYS_SRC_OUTERANGLE,outerAngle, PSYS_SRC_OMEGA, omega, PSYS_SRC_MAX_AGE, life, PSYS_SRC_TEXTURE, texture, PSYS_PART_START_ALPHA, startAlpha,

28

Page 29: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551 PSYS_PART_END_ALPHA, endAlpha ]); }StartSpray (){

}

StopSpray(){ llParticleSystem([]); }

default{ state_entry() { StartSteam(); }

listen(integer channel, string name, key id, string message) { if (0 == llSubStringIndex(message, "spray on")) { StartSteam(); } else if (0 == llSubStringIndex(message, "spray off")) { StopSpray(); } }}

Fountain No-Frills Particle Script v2 Blue

// Jopsy's No-Frills Particle Script v2// All settings below are 'defaults

default{ state_entry()

29

Page 30: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551 { llParticleSystem ( [ // Appearance Settings PSYS_PART_START_SCALE,(vector) <0.1,0.8,0>,// Start Size, (minimum .04, max 10.0?) PSYS_PART_END_SCALE,(vector) <0.2,0.3,0>, // End Size, requires *_INTERP_SCALE_MASK PSYS_PART_START_COLOR,(vector) <1,1,1>, // Start Color, (RGB, 0 to 1) PSYS_PART_END_COLOR,(vector) <.5,.5,1>, // EndC olor, requires *_INTERP_COLOR_MASK PSYS_PART_START_ALPHA,(float) 0.1, // startAlpha (0 to 1), PSYS_PART_END_ALPHA,(float) 0.1, // endAlpha (0 to 1) PSYS_SRC_TEXTURE,(string) "", // name of a 'texture' in emitters inventory // Flow Settings, keep (age/rate)*count well below 4096 !!! PSYS_SRC_BURST_PART_COUNT,(integer) 20, // # of particles per burst PSYS_SRC_BURST_RATE,(float) 0.1, // delay between bursts PSYS_PART_MAX_AGE,(float) 2.0, // how long particles live PSYS_SRC_MAX_AGE,(float) 0,//15.0*60.0, // turns emitter off after 15 minutes. (0.0 = never) // Placement Settings PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_ANGLE_CONE, // _PATTERN can be: *_EXPLODE, *_DROP, *_ANGLE, *ANGLE_CONE or *_ANGLE_CONE_EMPTY PSYS_SRC_BURST_RADIUS,(float) .5, // How far from emitter new particles start, PSYS_SRC_INNERANGLE,(float) PI/20, // aka 'spread' (0 to 2*PI), PSYS_SRC_OUTERANGLE,(float) 0.0, // aka 'tilt' (0(up), PI(down) to 2*PI), PSYS_SRC_OMEGA,(vector) <0,0,2 * PI>, // how much to rotate around x,y,z per burst, // Movement Settings PSYS_SRC_ACCEL,(vector) <0,0,-3>, // aka gravity or push, ie <0,0,-1.0> = down PSYS_SRC_BURST_SPEED_MIN,(float) 2.5, // Minimum velocity for new particles PSYS_SRC_BURST_SPEED_MAX,(float) 3.5, // Maximum velocity for new particles //PSYS_SRC_TARGET_KEY,(key) llGetOwner(), // key of a target, requires *_TARGET_POS_MASK // for *_TARGET try llGetKey(), or llGetOwner(), or llDetectedKey(0) even. :)

PSYS_PART_FLAGS, // Remove the leading // from the options you want enabled: //PSYS_PART_EMISSIVE_MASK | // particles glow PSYS_PART_BOUNCE_MASK | // particles bounce up from emitter's 'Z' altitude //PSYS_PART_WIND_MASK | // particles get blown around by wind //PSYS_PART_FOLLOW_VELOCITY_MASK | // particles rotate towards where they're going //PSYS_PART_FOLLOW_SRC_MASK | // particles move as the emitter moves PSYS_PART_INTERP_COLOR_MASK | // particles change color depending on *_END_COLOR

30

Page 31: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551 PSYS_PART_INTERP_SCALE_MASK | // particles change size using *_END_SCALE //PSYS_PART_TARGET_POS_MASK | // particles home on *_TARGET key 0 // Unless you understand binary arithmetic, leave this 0 here. :) ] ); //sound llLoopSound("runningriver",1.0); }}

Client emails

I have included email contact with my client to prove communication, meetings kept as client satisfaction.

Hi Shane

thanks for yesterday, they were very impressed. Is there any chance of a couple of screen grab jpegs for me to add to my annual report ? The four Deans involved in DMK are meeting next Tuesday and it would be great to include images of your work.

I will see you 1pm next Tuesday for a proper catch up

Thanks

  Karen ChamDevelopment CoOrdinator, Digital Media KingstonPrincipal Lecturer Digital Media, School of Communication DesignFaculty of Arts, Design & ArchitectureKingston UniversityLondon

00 (44) 208 547 2000

www.digitalmediakingston.com

//////////////////////////////////////////Hi Shane

as discussed I want as much stuff as poss thats been generated for the website to be imported into SL for the media assets and avatars http://www.digitalmediakingston.com/ The design company are happy to forward you stuff if you can confirm the file formats required asap and I have ccd them in.

31

Page 32: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551The banners are built in flash and the images rendered out in Cinema 4D. They can supply Quicktime movies or the source files, or a DXF or  3D studio, FBX file formats. The figures can be supplied in the same formats.

Here are some links for importing 3D files into SL: Scroll down to terraforming with external editors')  http://desktopvr.wordpress.com/about/course-structure/

for a summary of how 3D models may be imported into SL Also read: http://wiki.secondlife.com/wiki/Sculpted_Prims:_3d_Software_Guide

Here is further info on how flash can be viewed in world http://vorticism.wordpress.com/2010/02/24/viewer-2/

If you could confirm asap with the agency that would be great

Thanks

  Karen ChamDevelopment CoOrdinator, Digital Media KingstonPrincipal Lecturer Digital Media, School of Communication DesignFaculty of Arts, Design & ArchitectureKingston UniversityLondon

00 (44) 208 547 2000

www.digitalmediakingston.com

//////////////////////

please remember they are just sketches to try and communicate the idea !

Best Wishes

Karen ChamDevelopment CoOrdinator, Digital Media KingstonPrincipal Lecturer Digital Media,School of Communication DesignFaculty of Arts, Design & ArchitectureKingston UniversityLondon

32

Page 33: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k061855100 (44) 208 547 2000

www.digitalmediakingston.com________________________________________From: Harrison, ShaneSent: Friday, March 26, 2010 1:53 AMTo: Cham, Karen LCc: Hutchison, Christopher S; Shabanathan, TharmilaSubject: RE: DMK in 2nd Life UXD Visualisation

Hi Karen,

we have taken a look and are considering what can and can not be done. We are having a work session on tuesday where this will be spoken about in detail. I will email you on progresses made and considered changes.

Shane

________________________________________From: Cham, Karen LSent: 24 March 2010 14:41To: Harrison, ShaneCc: Hutchison, Christopher S; Shabanathan, TharmilaSubject: DMK in 2nd Life UXD Visualisation

Hi Shane

further to our conversations yesterday please find attached a user experience visualisation for the DMK in 2nd Life; it is a draft as we will have to adapt to technical issues as we develop the brief.

To that end, I have ccd Chris in who will spot any glaring impossibilities.

God I enjoyed doing this ;-)

Thanks

Karen ChamDevelopment CoOrdinator, Digital Media KingstonPrincipal Lecturer Digital Media,School of Communication DesignFaculty of Arts, Design & ArchitectureKingston UniversityLondon

00 (44) 208 547 2000

www.digitalmediakingston.com________________________________________From: Shabanathan, TharmilaSent: Monday, March 22, 2010 2:22 PM

33

Page 34: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551To: Harrison, Shane; Cham, Karen LCc: Hutchison, Christopher SSubject: RE: VR project for DMK

Hi Shane;

That is very good. Thank you.

See you tomorrow.Tammy

________________________________________From: Harrison, ShaneSent: 22 March 2010 14:15To: Cham, Karen L; Shabanathan, TharmilaCc: Hutchison, Christopher SSubject: RE: VR project for DMK

Hello Everyone,

My group are happy with that arrangement and we will all get together at 12:30 PM tomorrow on Tuesday.  Two members have been notified by email and one has seen me in person.Shane

________________________________________From: Cham, Karen LSent: 19 March 2010 06:37To: Harrison, Shane; Shabanathan, TharmilaCc: Hutchison, Christopher SSubject: RE: VR project for DMK

Hi Shane

thanks very much, very professional of you and I appreciate it. Meanwhile Tharmila has suggested we all meet with herself and Chris from 12.30 if thats OK with you guys ? We can ensure a comprehensive start to the project I think this way,

Best Wishes

Karen ChamDevelopment CoOrdinator, Digital Media KingstonPrincipal Lecturer Digital Media,School of Communication DesignFaculty of Arts, Design & ArchitectureKingston UniversityLondon

00 (44) 208 547 2000

www.digitalmediakingston.com________________________________________From: Harrison, Shane

34

Page 35: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551Sent: Thursday, March 18, 2010 10:03 PMTo: Cham, Karen LSubject: RE: VR project for DMK

Hello Karen,

I have met with the group today and it has been decided that we will all meet at 1pm on tuesday in the lecture room where we have our class. Look forwards to meeting with you.

Shane

________________________________________From: Cham, Karen LSent: 16 March 2010 06:41To: Harrison, ShaneSubject: RE: VR project for DMK

thanks shane

much appreciated

best

Karen ChamDevelopment CoOrdinator, Digital Media KingstonPrincipal Lecturer Digital Media,School of Communication DesignFaculty of Arts, Design & ArchitectureKingston UniversityLondon

00 (44) 208 547 2000

www.digitalmediakingston.com________________________________________From: Harrison, ShaneSent: Monday, March 15, 2010 1:16 PMTo: Cham, Karen LSubject: RE: VR project for DMK

Hi Karen,

My group has been notified of the time you wish to arrange a meeting, I will contact you on any future information

Shane

________________________________________From: Cham, Karen LSent: 15 March 2010 11:54To: Harrison, ShaneSubject: RE: VR project for DMK

35

Page 36: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551Hi Shane

no worries; get well soon !

I can do next Tues 23rd at 1pm if that works for you guys ? Im sure Chris wont mind if its in class time and I could meet you there ? Is that when you do the VR module in SO 127 ?

Best

Karen ChamDevelopment CoOrdinator, Digital Media KingstonPrincipal Lecturer Digital Media,School of Communication DesignFaculty of Arts, Design & ArchitectureKingston UniversityLondon

00 (44) 208 547 2000

www.digitalmediakingston.com________________________________________From: Harrison, ShaneSent: Monday, March 15, 2010 11:47 AMTo: Cham, Karen LSubject: RE: VR project for DMK

Hello Karen,

Sorry I have been injured during the weekend, and on top of that I could not access my K email account due to unknown technical problems. I have just seen am email from Chris Hutchison my VR (Virtual reality) module lecturer, and your email too. I am going to contact the people in my team so that I can make them aware of that we all must arrange a time to discuss and make plans on the DMK project. I will forward this email onto them so that they understand the urgency in coming together, and will inform you ASAP when I have heard from the group.Shane

________________________________________From: Cham, Karen LSent: 15 March 2010 06:52To: [email protected]; Harrison, ShaneSubject: RE: VR project for DMK

Hi Shane

let me know when you have 30 mins to catch up. No pressure, but this VR space is to be used for the launch of the DMK project to which we will be inviting our Industry Panel which includes

36

Page 37: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551Sony, Dreamworks and Samsung. I have worked in digital media production for many years and am a specialist in designing for emergence (unpredictable behaviours) so Im well keen to keep my nose in if thats OK !

Best Wishes

Karen ChamDevelopment CoOrdinator, Digital Media KingstonPrincipal Lecturer Digital Media,School of Communication DesignFaculty of Arts, Design & ArchitectureKingston UniversityLondon

00 (44) 208 547 2000

www.digitalmediakingston.com________________________________________From: Chris Hutchison [[email protected]]Sent: Friday, March 12, 2010 11:08 AMTo: Harrison, ShaneCc: Cham, Karen LSubject: VR project for DMK

Good morning, Shane.

Might I ask you, as team leader for the DMK build in The Knowledge Zone,to arrange for your group to meet some time soon with Karen Cham so thatshe can get to know who you are and ensure that you're clear on thedesign brief.

I've cc-ed to her, so you can hit Reply All to mail her.

Many thanks!

Chris

--Dr Chris Stuart HutchisonFaculty of Computing, Information Systems & MathematicsKingston UniversityPenrhyn RoadKingston upon ThamesSurrey KT1 2EEUnited KingdomTel: +44 20 8547 7808

Email: [email protected] / [email protected]"The best way to predict the future is to invent it" (Alan Kay)

37

Page 38: Dmk Virtual Reality Shane

Shane Harrison DMK showcase Gallery Project k0618551

This email has been scanned for all viruses by the MessageLabs EmailSecurity System.

38