Tutorial - Creating high density field of vegetation for your outdoor scene
|
Jimmy Thomson
Bedazzle Team
Join date: 16 Sep 2003
Posts: 50
|
11-01-2004 15:27
The Field of Dreams demonstration is now ready and open to public. You will find a teleportation point in the Gravity Space Station in Sim Quest. SimQuest (210,175)
The system is open source and free for all, to get your free copy of the system (including 16 texture and all source code), plz send an IM to Foxy Xevious.
Note : we can't offer technical support inworld, plz post your request/question here.
Extract of the read me :
This system was made as a prototype to evaluate the capacity of particles system to produce convincing high quality field of vegetation. All started with a tutorial I posted on the 'Building' section of the Second Life official forum. After getting many issues with the permission system, the Bedazzle team decided to release everything to the public including the 16 high resolution vegetation texture that was made for the prototype. Objective : There is a feature on the creation dialog that allow us to add some vegetation on the ground of our outdoor scene. Generally ppl will be agree that we can't have realistic and impressive result with this tools. The fact that we can't select a custom texture and that we can't resize the dimension of the created plants make this feature hard to use to get interesting result. Here is the result of my experimentation to find an effective way to cover the ground of our favorite scene with interesting vegetation. Advantage : - Almost lag free, do not use prims and use very simple script (low processing). - Custom texture, we can create every type of field we can imagine. - Low prims counts, only 3 prims for each section (20m radius). - Customizable color and transparency. - No server side calculation. How to : The concept is to use a particle system to distribute particles that will create the field. Each particle generated by this particle system is a '2d plane' what will always face the camera. We place the texture of a plant on this plane. 1. Create a simple prim that will be invisible for the user and add a script on it to create a particle system. Some precise settings have to be use to get stationary particles (not moving) that will stay at the ground level. Here is an example of my script (comments removed to simplify the code) 1.1. Very low burst rate, 1 or 2 particles per second. 1.2. Shoot particle in a 2D X-y Plane. (PSYS_SRC_PATTERN_ANGLE) 1.3. Particles have to last longer than usual (PSYS_PART_MAX_AGE) 1.4. No velocity or angular speed to the particles, we need them static. Here is an example of the script for the emiters: From: someone llParticleSystem([PSYS_PART_FLAGS, PSYS_PART_INTERP_COLOR_MASK , PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_ANGLE, PSYS_PART_START_COLOR, <0.75,1,0.75> , PSYS_PART_START_ALPHA, 0.5 , PSYS_PART_END_COLOR, <0.75,1,0.75> , PSYS_PART_END_ALPHA, 0.5 , PSYS_PART_START_SCALE, <10,2,3> , PSYS_PART_END_SCALE, <10,2,3> , PSYS_PART_MAX_AGE, 25.0 , PSYS_SRC_ACCEL, <0,0,0> , PSYS_SRC_TEXTURE, "ground_vegetation_004" , PSYS_SRC_BURST_RATE, 0.5 , PSYS_SRC_INNERANGLE, 0.0 , PSYS_SRC_OUTERANGLE, PI , PSYS_SRC_BURST_PART_COUNT, 1 , PSYS_SRC_BURST_RADIUS, 2.5 , PSYS_SRC_BURST_SPEED_MIN, 0.0 , PSYS_SRC_BURST_SPEED_MAX, 0.0 , PSYS_SRC_MAX_AGE, 0.0 , PSYS_SRC_OMEGA, <0,0,0>]); 2. Create a texture representing a 'stripe' of the vegetation you want to lay down on the ground. Of course you'd need an alpha channel to place the appropriate transparency. View the texture use in this sample scene3. To distribute the particles around the place randomly I use a simple rotating object that will make my particle emiter folowing a circular trajectory. This objects are not suppose to be visible by the viewer, so he make them both invisible and phantom. Example of the system covering a 20m radiusNote : The final release is using a simple object with no rotation system, this section is no more applicable.4. Play with you particle system parameters and your system radial velocity to get a good distribution of the vegetation. View the FINAL resultConclusion : All the processing for the rendering of this system is done on the client side. With the prototype you can see on the final result we experimented no significative reduction of the local FPS. My conclusion is that we could use this system on a production environnement. ------------------------- Edited : content added, nov. 10, 2004 Demonstration setup : I created a demonstration setup that will allow you guys to see my prototype in action. The system will be available to public starting this friday (nov. 12). I posted a first look of the result on the Bedazzle website. The setup include a configuration panel allowing the user to create tons of different possiblities. All the source code of this demonstration setup will be open to public. Generating vegetation textures: The harder part of this visual effect is to create convincing textures. I know that its not an easy job to find this kind of materials so I'll create soon (next week) a tutorial explaining how was create the texture of this system. (but Alias Maya will be required!) Also I offer to the public some (4) textures to make your experimentation... Preview of the texture packHigh res vegetation texture including alpha channel (grass, rose, bush, lily)Note : The final version include the 16 high resolution texture, all free for all. 
|
Beatfox Xevious
is THOUSANDS OF PEOPLE
Join date: 1 Jun 2004
Posts: 879
|
11-01-2004 15:34
Beautiful work, Jimmy! I've often wondered how well particle-based grass would work in SL. Thanks for the tutorial!
_____________________
My Beatworks: Zephyr Chimes wind chimes, the KanaMaster Japanese kana tutor, and the FREE Invisibility Prim Public. Look for them at the Luskwood General Store in Lusk (144, 165).
"You have been frozen. You cannot move or chat. A pony will contact you via instant message (IM)." - mysterious system message I received after making off with Pony Linden
|
Ariel Roentgen
Simply Me
Join date: 11 Apr 2004
Posts: 345
|
11-01-2004 15:37
That looks awesome  Good job  hehe too bad I cant script worth a darn lol
|
Goshua Lament
Registered User
Join date: 25 Dec 2003
Posts: 703
|
11-01-2004 15:59
You are a genius.
_____________________
Flickr Second Life Photo GalleryI no longer regularly login to SecondLife, but please contact me if an issue arises that needs my attention.
|
Juro Kothari
Like a dog on a bone
Join date: 4 Sep 2003
Posts: 4,418
|
11-01-2004 16:02
Jimmy... you cease to amaze me. Incredible.
|
Goshua Lament
Registered User
Join date: 25 Dec 2003
Posts: 703
|
11-01-2004 16:03
_____________________
Flickr Second Life Photo GalleryI no longer regularly login to SecondLife, but please contact me if an issue arises that needs my attention.
|
Pirate Cotton
DarkLifer
Join date: 26 Sep 2003
Posts: 538
|
11-01-2004 16:15
I hate you! Now my builds don't look as good!  PC
|
Mark Busch
DarkLife Developer
Join date: 8 Apr 2003
Posts: 442
|
11-01-2004 16:16
Jimmy amazing stuff you think of. Are you absolutly sure you don't want to help out on some stuff for DarkLife? I bet you'll find the game very interesting 
|
Toy LaFollette
I eat paintchips
Join date: 11 Feb 2004
Posts: 2,359
|
11-01-2004 16:38
Ooooo. thanx, Jimmy...... Im anxcious to try it now 
_____________________
"So you see, my loyalty lies with Second Life, not with Linden Lab. Where I perceive the actions of Linden Lab to be in conflict with the best interests of Second Life, I side with Second Life."-Jacek
|
Jillian Callahan
Rotary-winged Neko Girl
Join date: 24 Jun 2004
Posts: 3,766
|
11-01-2004 16:53
Brilliant.
|
Toy LaFollette
I eat paintchips
Join date: 11 Feb 2004
Posts: 2,359
|
11-01-2004 18:04
just made a quick one on part of my jungle area, its gonna work great 
_____________________
"So you see, my loyalty lies with Second Life, not with Linden Lab. Where I perceive the actions of Linden Lab to be in conflict with the best interests of Second Life, I side with Second Life."-Jacek
|
Goshua Lament
Registered User
Join date: 25 Dec 2003
Posts: 703
|
11-01-2004 18:21
how do you get all of the grass to appear on the ground and not in the air? See what happens in mine: http://www.flickr.com/photos/goshua/1205011/
_____________________
Flickr Second Life Photo GalleryI no longer regularly login to SecondLife, but please contact me if an issue arises that needs my attention.
|
Olmy Seraph
Valued Member
Join date: 1 Nov 2004
Posts: 502
|
11-01-2004 18:56
OK, that sounds and looks really cool. But what happens when you fly over the landscaping and look down on it? Do all the trees and grass look like they are lying flat on the ground?
_____________________
Some people are like Slinkies... not really good for anything, but they sure bring a smile to your face when you push them down the stairs.
|
Toy LaFollette
I eat paintchips
Join date: 11 Feb 2004
Posts: 2,359
|
11-01-2004 19:18
Goshua, I buried my emiters and it helped a lot. Maybe also play with a shorter texture.
_____________________
"So you see, my loyalty lies with Second Life, not with Linden Lab. Where I perceive the actions of Linden Lab to be in conflict with the best interests of Second Life, I side with Second Life."-Jacek
|
Goshua Lament
Registered User
Join date: 25 Dec 2003
Posts: 703
|
11-01-2004 19:24
From: Toy LaFollette Goshua, I buried my emiters and it helped a lot. Maybe also play with a shorter texture. Thanks for the tip!
_____________________
Flickr Second Life Photo GalleryI no longer regularly login to SecondLife, but please contact me if an issue arises that needs my attention.
|
Rickard Roentgen
Renaissance Punk
Join date: 4 Apr 2004
Posts: 1,869
|
11-02-2004 10:51
From: Juro Kothari Jimmy... you cease to amaze me. Incredible. lol that sucks, you ceased to amaze her. You should work harder.
|
Alex Lumiere
Registered User
Join date: 1 Jun 2004
Posts: 228
|
11-02-2004 10:52
really cool!
|
Juro Kothari
Like a dog on a bone
Join date: 4 Sep 2003
Posts: 4,418
|
11-02-2004 12:02
From: Rickard Roentgen lol that sucks, you ceased to amaze her. You should work harder. errrr.. uhhh.. hmmm.. what I meant to say was Jimmy never ceases to amaze me. 
|
Eggy Lippmann
Wiktator
Join date: 1 May 2003
Posts: 7,939
|
11-02-2004 12:39
Jimmy is a prime example of someone who should definitely get developer incentives. Not only does he come up with elaborate, innovative techniques to enhance the visual quality of builds in SL, but he also promptly shares them with the rest of the community in wonderfully easy to read tutorials. Three thumbs up!
|
Goshua Lament
Registered User
Join date: 25 Dec 2003
Posts: 703
|
11-02-2004 12:42
From: Eggy Lippmann Jimmy is a prime example of someone who should definitely get developer incentives. Not only does he come up with elaborate, innovative techniques to enhance the visual quality of builds in SL, but he also promptly shares them with the rest of the community in wonderfully easy to read tutorials. Three thumbs up! Absolutely. A top canidate. Hey, do eggs have thumbs?
_____________________
Flickr Second Life Photo GalleryI no longer regularly login to SecondLife, but please contact me if an issue arises that needs my attention.
|
Damien Fate
Goofy designer
Join date: 6 Nov 2003
Posts: 634
|
11-03-2004 16:43
Hi, as requested I'll post my suggestion here. The partical use is nice, a good idea for them - they can be very versatile if you just put a bit of thought to it. One thought though, is that with your script, the grass seems to flash slightly when a partical dies, from what I know there is a script that will allow you to view an image in it's contents constantly, at any angle. If I had the script I'd share it with you but I don't. It would be nice if someone who knew this script could share it 
_____________________
Mirada.smartHUD - The new way to control your avatar and the world around you - In Mirada, Hairspray (22,63,51) or find me in world!You want me to be Semi Serious? Well that's ok, I'm almost half semi serious 50% of the time.
|
Pirate Cotton
DarkLifer
Join date: 26 Sep 2003
Posts: 538
|
11-03-2004 19:41
I pasted the script and it wouldn't compile?  Ideas? PC
|
Toy LaFollette
I eat paintchips
Join date: 11 Feb 2004
Posts: 2,359
|
11-03-2004 20:00
Pirate, did you add the default { <pasted script> }
_____________________
"So you see, my loyalty lies with Second Life, not with Linden Lab. Where I perceive the actions of Linden Lab to be in conflict with the best interests of Second Life, I side with Second Life."-Jacek
|
Pirate Cotton
DarkLifer
Join date: 26 Sep 2003
Posts: 538
|
11-04-2004 01:58
Nope  I'll have to have a fiddle when i work out those texture bits  PC
|
Milo Bukowski
Lag-induced oversteer
Join date: 23 Dec 2003
Posts: 305
|
11-04-2004 06:04
That effect is really cool, Jimmy. Adds something you don't see in SL often.
|