Quantcast
Channel: An Engine Fit For My Proceeding - Scripting Examples
Viewing all articles
Browse latest Browse all 9

Ordinal Christmas Particle Tree

$
0
0
// Christmas Particle Tree // Ordinal Malaprop 2009-12-22 // LICENCE // Creative Commons Attribution-Noncommercial 3.0 // See http://creativecommons.org/licenses/by-nc/3.0/ for more details //--------------------------------------------------------------------- // Play with these values if you wish float HEIGHT = 4.0; float MAX_BEND = 0.05; float BRANCH_LENGTH = 1.0; integer BRANCH_DENSITY = 20; vector BASE_COLOUR = <0.25, 0.75, 0.25>; //--------------------------------------------------------------------- leaves(float z) { z /= HEIGHT; llParticleSystem([ PSYS_PART_FLAGS, PSYS_PART_FOLLOW_VELOCITY_MASK | PSYS_PART_EMISSIVE_MASK, PSYS_PART_START_COLOR, BASE_COLOUR * ((z * 0.7) + llFrand(0.3)), PSYS_PART_START_ALPHA, 1.0, PSYS_PART_START_SCALE, <0.1, BRANCH_LENGTH, 0.0>, PSYS_PART_MAX_AGE, 30.0, PSYS_SRC_ACCEL, <0.00,0.00,0.0>, PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_ANGLE_CONE, PSYS_SRC_ANGLE_BEGIN, PI * (0.5 + z * 0.4), PSYS_SRC_ANGLE_END, PI * (0.5 + z * 0.4), PSYS_SRC_BURST_RATE, 0.05, PSYS_SRC_BURST_PART_COUNT, BRANCH_DENSITY, PSYS_SRC_BURST_RADIUS, BRANCH_LENGTH * 0.62, PSYS_SRC_BURST_SPEED_MIN, 0.0, PSYS_SRC_BURST_SPEED_MAX, 0.05, PSYS_SRC_MAX_AGE, 0.0 ]); llSleep(0.8); llParticleSystem([]); } //--------------------------------------------------------------------- default { state_entry() { llSetAlpha(0.0, ALL_SIDES); llSetRot(ZERO_ROTATION); vector startPos = llGetPos(); vector pos = startPos; pos.z += 1.0; rotation direction = llEuler2Rot(<0.0, 0.0, llFrand(TWO_PI)>); float bendiness = llFrand(MAX_BEND); llSetRot(direction); while (pos.z < startPos.z + HEIGHT) { llSetPos(pos); leaves(pos.z - startPos.z); llSetRot(llEuler2Rot(<0.0, bendiness + llFrand(0.05), 0.0>) * llGetRot()); pos += <0.0, 0.0, 0.5> * llGetRot(); } llSetRot(ZERO_ROTATION); llSetPos(startPos); llSetAlpha(1.0, ALL_SIDES); } on_rez(integer p) { llResetScript(); } touch_start(integer n) { llResetScript(); } }

Viewing all articles
Browse latest Browse all 9

Trending Articles