Dmk Virtual Reality Shane

950 views

Published on

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
950
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Dmk Virtual Reality Shane

  1. 1. 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
  2. 2. Shane Harrison DMK showcase Gallery Project k0618551 Virtual reality CI3105 DMK showcase Gallery Client: Karen Cham Module leader: Christopher Hutchinson Shane Harrison 2
  3. 3. 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 summary For 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
  4. 4. 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
  5. 5. 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 system The 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. Created a sphere prim using the GUI Selected textures from GUI Applied textures to prims 5
  6. 6. Shane Harrison DMK showcase Gallery Project k0618551 Linking two prims together Adding rotation script to prims Default transparent texture Invisible transparent prim, selected visible by highlighting transparent objects 6
  7. 7. Shane Harrison DMK showcase Gallery Project k0618551 The complete solar system 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. Stretch option selected Box prim stretched out and applied with metal texture Metal texture selected 7
  8. 8. Shane Harrison DMK showcase Gallery Project k0618551 Linking prim walls Link option selected after selecting both prims 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. Stretched and hollowed Increasing hollow on prim box prim Default white transparent Choosing transparent textures prim texture 8
  9. 9. Shane Harrison DMK showcase Gallery Project k0618551 Using the shift key and dragging the prim duplicates it Increasing cut on prim Cutting out prim to create lift cart Complete lift and shaft 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
  10. 10. Shane Harrison DMK showcase Gallery Project k0618551 Linked and water Applying water texture applied prims movement script Entire gallery room 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. Complete portal box 10
  11. 11. 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
  12. 12. 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
  13. 13. 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
  14. 14. 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
  15. 15. 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
  16. 16. 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
  17. 17. 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
  18. 18. 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 Kingston Principal Lecturer Digital Media, School of Communication Design Faculty of Arts, Design & Architecture Kingston University London 00 (44) 208 547 2000 www.digitalmediakingston.com 18
  19. 19. 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. Conclusion Apart 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
  20. 20. Shane Harrison DMK showcase Gallery Project k0618551 Bibliography and references Jeff heaton, JH, 2007. scripting recipes for second life Heaton Research inc http://wiki.secondlife.com/wiki/LSL_Tutorial http://arianeb.com/secondlife.htm http://wiki.secondlife.com/wiki/A_Basic_LSL_Tutorial https://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
  21. 21. 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) Appendix DMK 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() { if( llGetListLength(notecardList)==0) 21
  22. 22. Shane Harrison DMK showcase Gallery Project k0618551 { 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
  23. 23. 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) { reset(); 23
  24. 24. Shane Harrison DMK showcase Gallery Project k0618551 } 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() { llSetTextureAnim(ANIM_ON | ROTATE | LOOP 24
  25. 25. Shane Harrison DMK showcase Gallery Project k0618551 | 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 channel list 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
  26. 26. 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
  27. 27. 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 enable integer glow = TRUE; // Makes the particles glow integer bounce = FALSE; // Make particles bounce on Z plane of objects integer interpColor = TRUE; // Color - from start value to end value integer interpSize = TRUE; // Size - from start value to end value integer wind = FALSE; // Particles effected by wind integer followSource = FALSE; // Particles follow the source integer 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> vector endColor = <1,1,1>; // End color of particles <R,G,B> (if interpColor == TRUE) 27
  28. 28. Shane Harrison DMK showcase Gallery Project k0618551 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, PSYS_PART_END_ALPHA, endAlpha ]); 28
  29. 29. Shane Harrison DMK showcase Gallery Project k0618551 } 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() { llParticleSystem 29
  30. 30. Shane Harrison DMK showcase Gallery Project k0618551 ( [ // 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 PSYS_PART_INTERP_SCALE_MASK | // particles change size using *_END_SCALE //PSYS_PART_TARGET_POS_MASK | // particles home on *_TARGET key 30
  31. 31. Shane Harrison DMK showcase Gallery Project k0618551 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 Cham Development CoOrdinator, Digital Media Kingston Principal Lecturer Digital Media, School of Communication Design Faculty of Arts, Design & Architecture Kingston University London 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. The 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 31
  32. 32. Shane Harrison DMK showcase Gallery Project k0618551 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_Gui de 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 Cham Development CoOrdinator, Digital Media Kingston Principal Lecturer Digital Media, School of Communication Design Faculty of Arts, Design & Architecture Kingston University London 00 (44) 208 547 2000 www.digitalmediakingston.com ////////////////////// please remember they are just sketches to try and communicate the idea ! Best Wishes Karen Cham Development CoOrdinator, Digital Media Kingston Principal Lecturer Digital Media, School of Communication Design Faculty of Arts, Design & Architecture Kingston University London 00 (44) 208 547 2000 www.digitalmediakingston.com 32
  33. 33. Shane Harrison DMK showcase Gallery Project k0618551 ________________________________________ From: Harrison, Shane Sent: Friday, March 26, 2010 1:53 AM To: Cham, Karen L Cc: Hutchison, Christopher S; Shabanathan, Tharmila Subject: 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 L Sent: 24 March 2010 14:41 To: Harrison, Shane Cc: Hutchison, Christopher S; Shabanathan, Tharmila Subject: 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 Cham Development CoOrdinator, Digital Media Kingston Principal Lecturer Digital Media, School of Communication Design Faculty of Arts, Design & Architecture Kingston University London 00 (44) 208 547 2000 www.digitalmediakingston.com ________________________________________ From: Shabanathan, Tharmila Sent: Monday, March 22, 2010 2:22 PM To: Harrison, Shane; Cham, Karen L Cc: Hutchison, Christopher S Subject: RE: VR project for DMK 33
  34. 34. Shane Harrison DMK showcase Gallery Project k0618551 Hi Shane; That is very good. Thank you. See you tomorrow. Tammy ________________________________________ From: Harrison, Shane Sent: 22 March 2010 14:15 To: Cham, Karen L; Shabanathan, Tharmila Cc: Hutchison, Christopher S Subject: 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 L Sent: 19 March 2010 06:37 To: Harrison, Shane; Shabanathan, Tharmila Cc: Hutchison, Christopher S Subject: 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 Cham Development CoOrdinator, Digital Media Kingston Principal Lecturer Digital Media, School of Communication Design Faculty of Arts, Design & Architecture Kingston University London 00 (44) 208 547 2000 www.digitalmediakingston.com ________________________________________ From: Harrison, Shane Sent: Thursday, March 18, 2010 10:03 PM To: Cham, Karen L Subject: RE: VR project for DMK 34
  35. 35. Shane Harrison DMK showcase Gallery Project k0618551 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 L Sent: 16 March 2010 06:41 To: Harrison, Shane Subject: RE: VR project for DMK thanks shane much appreciated best Karen Cham Development CoOrdinator, Digital Media Kingston Principal Lecturer Digital Media, School of Communication Design Faculty of Arts, Design & Architecture Kingston University London 00 (44) 208 547 2000 www.digitalmediakingston.com ________________________________________ From: Harrison, Shane Sent: Monday, March 15, 2010 1:16 PM To: Cham, Karen L Subject: 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 L Sent: 15 March 2010 11:54 To: Harrison, Shane Subject: RE: VR project for DMK Hi Shane no worries; get well soon ! 35
  36. 36. Shane Harrison DMK showcase Gallery Project k0618551 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 Cham Development CoOrdinator, Digital Media Kingston Principal Lecturer Digital Media, School of Communication Design Faculty of Arts, Design & Architecture Kingston University London 00 (44) 208 547 2000 www.digitalmediakingston.com ________________________________________ From: Harrison, Shane Sent: Monday, March 15, 2010 11:47 AM To: Cham, Karen L Subject: 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 L Sent: 15 March 2010 06:52 To: cshutchison@gmail.com; Harrison, Shane Subject: 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 Sony, 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 36
  37. 37. Shane Harrison DMK showcase Gallery Project k0618551 nose in if thats OK ! Best Wishes Karen Cham Development CoOrdinator, Digital Media Kingston Principal Lecturer Digital Media, School of Communication Design Faculty of Arts, Design & Architecture Kingston University London 00 (44) 208 547 2000 www.digitalmediakingston.com ________________________________________ From: Chris Hutchison [cshutchison@gmail.com] Sent: Friday, March 12, 2010 11:08 AM To: Harrison, Shane Cc: Cham, Karen L Subject: 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 that she can get to know who you are and ensure that you're clear on the design brief. I've cc-ed to her, so you can hit Reply All to mail her. Many thanks! Chris -- Dr Chris Stuart Hutchison Faculty of Computing, Information Systems & Mathematics Kingston University Penrhyn Road Kingston upon Thames Surrey KT1 2EE United Kingdom Tel: +44 20 8547 7808 Email: chrish@kingston.ac.uk / christopher.hutchison@bcs.org "The best way to predict the future is to invent it" (Alan Kay) This email has been scanned for all viruses by the MessageLabs 37
  38. 38. Shane Harrison DMK showcase Gallery Project k0618551 Email Security System. 38

×