DulceDiva Posted December 18, 2022 Share Posted December 18, 2022 Hello. I am using the Firestorm particle editor, trying to make an 'aura' like particle script. I can't get it to go in a circle motion, it will go sideways or one way but that's it. Is there a specific script that generates it, or is it all about choosing the right pattern/values in order to define its motion? 🤔 Link to comment Share on other sites More sharing options...
Fenix Eldritch Posted December 18, 2022 Share Posted December 18, 2022 I'm not familiar with Firestorm's editor, but when it comes to particles, it's all about choosing the right parameters for the particle function - as that is ultimately what produces the effect. See the wiki page for all the parameters: https://wiki.secondlife.com/wiki/LlParticleSystem For in-world demos and visual guides, check out the Particle Laboratory: http://maps.secondlife.com/secondlife/Teal/194/54/301. The "Double Helix" or "Steam" example templates there may be helpful references. Can you be more descriptive in what you intend this aura effect to look like? Link to comment Share on other sites More sharing options...
Rolig Loon Posted December 18, 2022 Share Posted December 18, 2022 If you want to create a halo, you'll have to spend a bit of time experimenting. You'll want particles to be emitted in an ANGLE_CONE pattern. The particles should be emitted at a distance from the source rather than right at the source, so look at the PSYS_SRC_BURST_RADIUS parameter. Then, you'll want the emitted particles to have a very low velocity and a fairly short lifetime. That way, they will not travel very far from where they are emitted, and they will persist as more particles are emitted behind them. That should create a torus shape, I think. It will take quite a bit of experimenting. You'll want to play with the EMISSIVE mask to make the particles glow, among other things. Link to comment Share on other sites More sharing options...
KT Kingsley Posted December 18, 2022 Share Posted December 18, 2022 This quickie (using the Firestorm particle editor) creates a ring around the generating object. The essential items are the cone pattern, the begin and end angles, the burst radius and the (lack of) speed. Is this the sort of thing you're after? default { state_entry() { llParticleSystem( [ PSYS_SRC_PATTERN,PSYS_SRC_PATTERN_ANGLE_CONE, PSYS_SRC_BURST_RADIUS,0.5, PSYS_SRC_ANGLE_BEGIN,1.5, PSYS_SRC_ANGLE_END,1.5, PSYS_SRC_TARGET_KEY,llGetKey(), PSYS_PART_START_COLOR,<1.000000,1.000000,1.000000>, PSYS_PART_END_COLOR,<1.000000,1.000000,1.000000>, PSYS_PART_START_ALPHA,1, PSYS_PART_END_ALPHA,0, PSYS_PART_START_GLOW,0, PSYS_PART_END_GLOW,0, PSYS_PART_BLEND_FUNC_SOURCE,PSYS_PART_BF_SOURCE_ALPHA, PSYS_PART_BLEND_FUNC_DEST,PSYS_PART_BF_ONE_MINUS_SOURCE_ALPHA, PSYS_PART_START_SCALE,<0.500000,0.500000,0.000000>, PSYS_PART_END_SCALE,<0.500000,0.500000,0.000000>, PSYS_SRC_TEXTURE,"", PSYS_SRC_MAX_AGE,0, PSYS_PART_MAX_AGE,2, PSYS_SRC_BURST_RATE,0.3, PSYS_SRC_BURST_PART_COUNT,10, PSYS_SRC_ACCEL,<0.000000,0.000000,0.000000>, PSYS_SRC_OMEGA,<0.000000,0.000000,0.000000>, PSYS_SRC_BURST_SPEED_MIN,0, PSYS_SRC_BURST_SPEED_MAX,0, PSYS_PART_FLAGS, 0 | PSYS_PART_EMISSIVE_MASK | PSYS_PART_INTERP_COLOR_MASK ]); } } 1 Link to comment Share on other sites More sharing options...
Rolig Loon Posted December 18, 2022 Share Posted December 18, 2022 That looks about what I described, but with a lot more specific detail. It should work. Link to comment Share on other sites More sharing options...
Quistess Alpha Posted December 18, 2022 Share Posted December 18, 2022 If you want the particles "spinning" I often find it useful to mix llSetTargetOmega() in with the particle effects, which works differently to the kind of omega the particle system itself provides. (using both at once can lead to some fun results) 2 Link to comment Share on other sites More sharing options...
DulceDiva Posted December 18, 2022 Author Share Posted December 18, 2022 @Fenix EldritchThanks for the info. I am basically creating a mesh rose which I would like to have a heart particle that circles around it. Smooth,gentle motion. Link to comment Share on other sites More sharing options...
DulceDiva Posted December 18, 2022 Author Share Posted December 18, 2022 @Rolig Loon Will definetely give this a shot, I have previously tried the cone angle but didn't succeed to move the particles away from source.I shall keep you all posted with my progress ! Link to comment Share on other sites More sharing options...
Rolig Loon Posted December 18, 2022 Share Posted December 18, 2022 Aha! What you're describing is quite different. You want to make a static particle that orbits your object. That's a two-part job. First, a static particle is simply one that is created at a specific distance from the emitter (using the PSYS_SRC_BURST_RADIUS parameter) and has no velocity (so PSYS_SRC_BURST_SPEED_MIN and PSYS_SRC_BURST_SPEED_MAX are both zero and you have no acceleration). Then, for part two, you need to actually flip the emitter on its side (so the Z-axis is horizontal) and then spin it around the new vertical axis. That way, the emitter is creating its particles in the horizontal plane. If you play with the number of particles and their lifetimes for a while and balance them against the speed that you are spinning the emitter, you should be able to get that static particle to keep regenerating itself quickly and looking like a single object that's orbiting. 4 Link to comment Share on other sites More sharing options...
Fenix Eldritch Posted December 18, 2022 Share Posted December 18, 2022 (edited) 1 hour ago, DulceDiva said: a heart particle that circles around it. Smooth,gentle motion A single particle? Orbiting around the rose like the Moon orbits around Earth? Working with individual particles is tricky because once generated, a particle will generally not be affected by new influences beyond what was set in the emitter. So it's not really possible to make a particle follow a continuous circling path around something. When one wants fine control over the movement of individual particles, the typical approach is to spawn one with a longer lifespan, have them follow the (invisible) emitter, and then move the emitter itself around. Having said that, I can think of a way that may approximate what you're looking for (assuming I understood your intent). The basic idea is that we configure the emitter to generate a single short-lived particle using the angle pattern. We use specific angle begin/end values to make the particles spawn at a single point away from the center of the emitter prim. Then, we specify an omega to spin the virtual emitter. This causes each new particle to generate slightly "ahead" of the last, and since the emitter is just rotating in place, it creates the effect of the particles slowly orbiting around the emitter. Lastly, we have to physically orient the emitter prim 90 degrees on the X axis. This is to make the particles generate at equator level relative to the emitter. Otherwise they would just appear directly above the emitter and not appear to orbit. llParticleSystem([ PSYS_SRC_TEXTURE, "", PSYS_PART_START_SCALE, <0.1,0.1,FALSE>, PSYS_PART_END_SCALE, <0.1,0.1, FALSE>, PSYS_PART_START_COLOR, <1.0,1.0,1.0>, PSYS_PART_END_COLOR, <0.431,0.823,1.0>, PSYS_PART_START_GLOW, 0.0, PSYS_PART_END_GLOW, 0.0, PSYS_PART_START_ALPHA, 1.0, PSYS_PART_END_ALPHA, 1.0, //=======Blending Patameters: //PSYS_PART_BLEND_FUNC_SOURCE, 0, //PSYS_PART_BLEND_FUNC_DEST, 0, //=======Production Parameters: PSYS_SRC_BURST_PART_COUNT, 1, PSYS_SRC_BURST_RATE, 0.05, PSYS_PART_MAX_AGE, 0.15, PSYS_SRC_MAX_AGE, 0.0, //=======Placement Parameters: PSYS_SRC_PATTERN, 4, // 1=DROP, 2=EXPLODE, 4=ANGLE, 8=ANGLE_CONE, //=======Placement Parameters (for any non-DROP pattern): PSYS_SRC_BURST_SPEED_MIN, 0.0, PSYS_SRC_BURST_SPEED_MAX, 0.0, PSYS_SRC_BURST_RADIUS, 0.5, //=======Placement Parameters (only for ANGLE & CONE patterns): PSYS_SRC_ANGLE_BEGIN, 0, PSYS_SRC_ANGLE_END, 0, PSYS_SRC_OMEGA, <0,0,0.5>, //=======After-Effect and Influence Parameters: //PSYS_SRC_TARGET_KEY, llGetLinkKey(llGetLinkNumber() + 1), PSYS_SRC_ACCEL, <0.0,0.0,0.0>, PSYS_PART_FLAGS, 0 |PSYS_PART_INTERP_COLOR_MASK |PSYS_PART_INTERP_SCALE_MASK |PSYS_PART_EMISSIVE_MASK ]); The faster the burst rate, the smoother the motion will appear - because we're faking that movement by spawning new particle in what is effectively a circular path. And be sure to rotate the emitter prim (which does not need to be the rose mesh itself) 90 degrees on the X axis, else the effect won't work. Edit: Ah, Rolig beat me to the punch. Edited December 18, 2022 by Fenix Eldritch 1 Link to comment Share on other sites More sharing options...
Rolig Loon Posted December 18, 2022 Share Posted December 18, 2022 42 minutes ago, Fenix Eldritch said: Ah, Rolig beat me to the punch. Maybe, but I was focused on the theory. You generated an example. Link to comment Share on other sites More sharing options...
DulceDiva Posted December 18, 2022 Author Share Posted December 18, 2022 @Rolig Loon @Fenix Eldritch Thank you both. Yess,you got it right! I have attached a visual of what I was describing I still cannot get it to work on my own (as in I cannot seem to get the values right manually in the Firestorm editor).Would you both mind if I use the script you provided me with in my creation? I will credit you in the description Link to comment Share on other sites More sharing options...
Fenix Eldritch Posted December 18, 2022 Share Posted December 18, 2022 Go ahead. The examples we post here are usually given freely, with the assumption that they will be used and/or built upon. Link to comment Share on other sites More sharing options...
DulceDiva Posted December 18, 2022 Author Share Posted December 18, 2022 @Fenix Eldritch Thank you very much! I'm getting a syntax error though, I guess I'm doing something wrong. Deleted all the orange lines but it still won't let me save it. Link to comment Share on other sites More sharing options...
DulceDiva Posted December 18, 2022 Author Share Posted December 18, 2022 Or,similarly I guess I can create a mesh circle around the rose and just use a script to animate the texture into spinning 🤔 Link to comment Share on other sites More sharing options...
Fenix Eldritch Posted December 18, 2022 Share Posted December 18, 2022 My example was just the single particle system function call, it wasn't a full script like KT's example. Link to comment Share on other sites More sharing options...
DulceDiva Posted December 18, 2022 Author Share Posted December 18, 2022 Ooh,right I see! Link to comment Share on other sites More sharing options...
Wulfie Reanimator Posted December 21, 2022 Share Posted December 21, 2022 On 12/18/2022 at 11:48 PM, DulceDiva said: @Rolig Loon @Fenix Eldritch Thank you both. Yess,you got it right! I have attached a visual of what I was describing I still cannot get it to work on my own (as in I cannot seem to get the values right manually in the Firestorm editor).Would you both mind if I use the script you provided me with in my creation? I will credit you in the description I'm like 99% sure that you cannot create a particle that moves in a circular motion like this with llParticleSystem. You can cause particles to be generated in a ring, but not cause them to move along that ring. Technically it could be possible, we can even see an viewer-side effect like this when an object speaks. (You know, those white particles that rise in a spiral motion.) But that effect can't be replicated by scripts because we don't have the right parameters available. As a workaround, you could make the emitter itself spin with llTargetOmega, and then work on the particle system. This method just has some caveats that complicate a general build. Link to comment Share on other sites More sharing options...
Quistess Alpha Posted December 21, 2022 Share Posted December 21, 2022 4 hours ago, Wulfie Reanimator said: some caveats that complicate a general build PSYS_PART_FOLLOW_SRC_MASK disables generating particles at any non-zero distance from the emitter, and only makes particles "source-follow" the absolute position of the emitter, not its local orientation. So, the only way to make a particle "literally move" in a circle, as opposed to generating new particles for a "marquee lights" effect (spent too long searching for what those are called.. .) is to have the emitter prim offset from a llTargetOmega rotating root. 1 Link to comment Share on other sites More sharing options...
DulceDiva Posted December 22, 2022 Author Share Posted December 22, 2022 @Quistess Alpha@Wulfie Reanimator Okay, I understood most of the info except I don't know how to put that into practice as I only know basic particle creation using Firestorm 🙂 I guess I gotta find learn more about particles before I attempt this 🤔 I love particles but I find them sooo difficult lol 😭 Link to comment Share on other sites More sharing options...
Rolig Loon Posted December 22, 2022 Share Posted December 22, 2022 We're all describing versions of the same thing. You have to spin the emitter itself. You can try doing it with the Omega parameter in the particle function, but i think you'll find that is best to do it with llTargetOmega or some other method that has nothing to do with particles. Link to comment Share on other sites More sharing options...
DulceDiva Posted December 22, 2022 Author Share Posted December 22, 2022 @Rolig Loon Okay, I will try that. Thanks for the tip! 😊 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