verygoodquestion Posted November 11, 2019 Share Posted November 11, 2019 (edited) Hello! I have a question. in fact, these are two questions in one. I am trying to make a particle ribbon system for a vehicle and it should change the emission start point height depending on the throttle of the vehicle. As I understand it, this is set by the radius. this is my system of particles. but when I change the radius, particle appear in "I-like" view (vertically flat), but I need to make it "T-like" view (horizontally flat). Is this possible in any way? if I rotate the object - orientation is maintained. llParticleSystem([PSYS_PART_MAX_AGE,3.00, PSYS_PART_FLAGS, 1287, PSYS_PART_START_COLOR, <1.00000, 1.00000, 1.00000>, PSYS_PART_END_COLOR, <1.00000, 1.00000, 1.00000>, PSYS_PART_START_SCALE,<1.00000, 1.00000, 0.00000>, PSYS_PART_END_SCALE,<2.00000, 2.00000, 0.00000>, PSYS_SRC_PATTERN, 4, PSYS_SRC_BURST_RATE,0.02, PSYS_SRC_BURST_PART_COUNT,5, PSYS_SRC_BURST_RADIUS,0.5, PSYS_SRC_BURST_SPEED_MIN,0.05, PSYS_SRC_BURST_SPEED_MAX,0.10, PSYS_SRC_ANGLE_BEGIN, 0.00, PSYS_SRC_ANGLE_END, 0.00, PSYS_SRC_MAX_AGE, 0.0, PSYS_SRC_TEXTURE, "168e6813-096e-07ea-97ae-fd416826f627", PSYS_PART_START_ALPHA, 0.50, PSYS_PART_END_ALPHA, 0.00, PSYS_PART_START_GLOW, 0.03, PSYS_PART_END_GLOW, 0.01]); And, what is the best way to make the particle radius dependence on vehicle throttle? something like: float radius = (throttle+10)*0.03;....... /// PSYS_SRC_BURST_RADIUS,0.5,*radius.... the point I am doing this is that it is planned as the wake of the boat and since the boat lifts its nose at acceleration, the emitter goes down underwater accordingly. so I want to gradually increase the height with increasing throttle. I decided that it would be easier than changing the height of the emitter itself. maybe there are other ways? Help please! Edited November 11, 2019 by verygoodquestion Link to comment Share on other sites More sharing options...
KT Kingsley Posted November 11, 2019 Share Posted November 11, 2019 Not sure if this is helpful, but when I messed around with a variable bow wave for a boat I ended up using a linked prim as an emitter and moved that prim forwards and backwards along the keel as the boat tilted in response to its speed. 1 Link to comment Share on other sites More sharing options...
verygoodquestion Posted November 11, 2019 Author Share Posted November 11, 2019 4 minutes ago, KT Kingsley said: Not sure if this is helpful, but when I messed around with a variable bow wave for a boat I ended up using a linked prim as an emitter and moved that prim forwards and backwards along the keel as the boat tilted in response to its speed. Thank you very much! this is practically what I need only need to move up and down and it’s not clear how to do it. Link to comment Share on other sites More sharing options...
verygoodquestion Posted November 11, 2019 Author Share Posted November 11, 2019 (edited) Well, I’ve found such a wonderful line, how would I now associate it with throttle? integer PARTICLE_PRIM = 2; llSetLinkPrimitiveParamsFast(PARTICLE_PRIM, [PRIM_POS_LOCAL, llList2Vector(llGetLinkPrimitiveParams(2, [PRIM_POS_LOCAL]), 0) + <0.0, 0.0, 0.01>]); Edited November 11, 2019 by verygoodquestion Link to comment Share on other sites More sharing options...
KT Kingsley Posted November 11, 2019 Share Posted November 11, 2019 (edited) You can move a linked prim using llSetLinkPrimitiveParamsFast with the PRIM_POS_LOCAL flag. You'll want to find the best positions for the maximum and minimum speeds, and interpolate the actual position based on the actual speed. Something like this, perhaps: vector emitter_pos_max = <something>; vector emitter_pos_min = <something>; vector emitter_pos_range; float speed_max = something; float current_speed; default { state_entry () { emitter_pos_range = emitter_pos_max - emitter_pos_min; } some_event () { llSetLinkPrimitiveParamsFast (emitter_link_number, [ PRIM_POS_LOCAL, emitter_pos_min + (emitter_pos_range * (current_speed / speed_max)) ]); } } Edited November 11, 2019 by KT Kingsley ) at end of SLPPF 1 1 Link to comment Share on other sites More sharing options...
verygoodquestion Posted November 11, 2019 Author Share Posted November 11, 2019 44 minutes ago, KT Kingsley said: You can move a linked prim using llSetLinkPrimitiveParamsFast with the PRIM_POS_LOCAL flag. You'll want to find the best positions for the maximum and minimum speeds, and interpolate the actual position based on the actual speed. Something like this, perhaps: vector emitter_pos_max = <something>; vector emitter_pos_min = <something>; vector emitter_pos_range; float speed_max = something; float current_speed; default { state_entry () { emitter_pos_range = emitter_pos_max - emitter_pos_min; } some_event () { llSetLinkPrimitiveParamsFast (emitter_link_number, [ PRIM_POS_LOCAL, emitter_pos_min + (emitter_pos_range * (current_speed / speed_max)) ]); } } Thank you so much! It totally works! Perfect! 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Please take a moment to consider if this thread is worth bumping.
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now