Jump to content

Recommended Posts

Hello! I have a question. My seaplane during the movement on water produces foam trace. But the emission goes by impulses, uneven. Help please make the trace smoother and more continuous! Thanks in advance!

[PSYS_PART_MAX_AGE,5.00,
PSYS_PART_FLAGS, 291,
PSYS_PART_START_COLOR, <0.89900, 0.93776, 0.97216>,
PSYS_PART_END_COLOR, <0.98706, 0.98044, 0.98756>,
PSYS_PART_START_SCALE,<1.00750, 1.00752, 0.00000>,
PSYS_PART_END_SCALE,<3.00369, 3.00974, 0.00000>,
PSYS_SRC_PATTERN, 4,
PSYS_SRC_BURST_RATE,0.00,
PSYS_SRC_BURST_PART_COUNT,16,
PSYS_SRC_BURST_RADIUS,0.00,
PSYS_SRC_BURST_SPEED_MIN,1.00,
PSYS_SRC_BURST_SPEED_MAX,1.00,
PSYS_SRC_ANGLE_BEGIN, 0.00,
PSYS_SRC_ANGLE_END, 0.00,
PSYS_SRC_MAX_AGE, 0.0,
PSYS_SRC_TEXTURE, "013bfffb-d1a5-04e9-d776-67d4ade3b99b",
PSYS_PART_START_ALPHA, 1.00,
PSYS_PART_END_ALPHA, 0.50]);

 

images.jpg

Edited by MIVIMEX

Share this post


Link to post
Share on other sites

Particles are very much a viewer-side effect, so just what you get depends on what your viewer, running on your system and using your graphics card can get away with.

You can try all the usual lag-reducing tricks (draw distance, avatar complexity settings, etc.) to give your graphics system more time to draw the particles. You can up the maximum particles setting in your graphics settings and you can block the owners of any competing particle generators nearby.

You could also try specifying a burst rate, maybe something like 0.25 seconds (0.0 seconds asks the viewer to pump out the particles as fast as it can), and reducing the burst count to try to get at least a more even, albeit more sparse, wake effect.

  • Thanks 1

Share this post


Link to post
Share on other sites

Also, I think you might be able to do something with the particle size (scale), stretching them out a bit so they blend together a bit more. And I think the follow velocity thing can be used to keep them better aligned when you try this. I haven't ever had to do any of this myself, so I could be hopelessly off-course with these suggestions.

  • Thanks 1

Share this post


Link to post
Share on other sites

mebbe try a ribbon if your texture looks ok with that?

some settings like...

  PSYS_PART_BLEND_FUNC_SOURCE,PSYS_PART_BF_SOURCE_COLOR,
  PSYS_PART_BLEND_FUNC_DEST,PSYS_PART_BF_ONE_MINUS_SOURCE_ALPHA,

 PSYS_PART_FLAGS,
                0 |
                PSYS_PART_EMISSIVE_MASK |
                PSYS_PART_INTERP_COLOR_MASK |
                PSYS_PART_INTERP_SCALE_MASK |
                PSYS_PART_TARGET_POS_MASK  |
                PSYS_PART_RIBBON_MASK

 

etc ?

  • Like 4
  • Thanks 1

Share this post


Link to post
Share on other sites

Two things:

1. Max particle limit. This is probably why you're seeing cuts in the stream, because the amount of particles gets capped until some of the old ones die. (Because your particle rate is 0 and the count is 16. You might want to reconsider increasing the delay between new particles or at least lowering the amount by a lot.)

2. Scale, as was mentioned, affects the draw distance of particles and you can increase that distance without changing the particle's width by increasing the "unused" Z-scale. 4.0 is max, but that doesn't mean you should use it, especially for something this spammy. 

If you want a proper continuous stream, you should be using ribbon particles instead. They are always connected to each other so you can get away with one particle every second. 

Edited by Wulfie Reanimator
  • Thanks 2

Share this post


Link to post
Share on other sites
On 27.07.2018 at 3:01 PM, Wulfie Reanimator said:

If you want a proper continuous stream, you should be using ribbon particles instead. They are always connected to each other so you can get away with one particle every second. 

@Xiija @Wulfie Reanimator

Thanks for your answers!

I tried the ribbon, but for some reason I can see it only when I turn. can you give an example of how it should look like please?

Edited by MIVIMEX

Share this post


Link to post
Share on other sites

here are 2 ribbon scripts to test with...

Lightsabre - ish

plasma(){
        llParticleSystem(
        [
            PSYS_SRC_PATTERN,PSYS_SRC_PATTERN_ANGLE_CONE,
            PSYS_SRC_BURST_RADIUS,0,
            PSYS_SRC_ANGLE_BEGIN,0,
            PSYS_SRC_ANGLE_END,0,
           // PSYS_SRC_TARGET_KEY,llGetKey(),
            PSYS_PART_START_COLOR, <0,0,0>, // <0.3+llFrand(0.3),0.3+llFrand(0.3),0.2+llFrand(0.3)>,
            PSYS_PART_END_COLOR,<1,1,1>, //<0.3+llFrand(0.3),0.2+llFrand(0.3),0.3+llFrand(0.3)>,
            PSYS_PART_START_ALPHA,0.7,
            PSYS_PART_END_ALPHA,0,
            PSYS_PART_START_GLOW,0.5,
            PSYS_PART_END_GLOW,0.2,
            PSYS_PART_BLEND_FUNC_SOURCE,PSYS_PART_BF_SOURCE_COLOR,
            PSYS_PART_BLEND_FUNC_DEST,PSYS_PART_BF_ONE_MINUS_SOURCE_ALPHA,
            PSYS_PART_START_SCALE,<scale.z, scale.z, 0.0>,                // scale.z ... make it fit the lightsabere length
            PSYS_PART_END_SCALE,<0.01, 0.01, 0.0>,
            PSYS_SRC_TEXTURE,"b4ba225c-373f-446d-9f7e-6cb7b5cf9b3d",
            PSYS_SRC_MAX_AGE,0,
            PSYS_PART_MAX_AGE,2,
            PSYS_SRC_BURST_RATE,0.02,
            PSYS_SRC_BURST_PART_COUNT,5,
            PSYS_SRC_ACCEL,<0.000000,0.000000,0.000000>,
            PSYS_SRC_OMEGA,<0.000000,0.000000,0.000000>,
            PSYS_SRC_BURST_SPEED_MIN,0.1,
            PSYS_SRC_BURST_SPEED_MAX,0.1,
            PSYS_PART_FLAGS,
                0 |
                PSYS_PART_EMISSIVE_MASK |
                PSYS_PART_INTERP_COLOR_MASK |
                PSYS_PART_INTERP_SCALE_MASK |
                PSYS_PART_RIBBON_MASK
        ]);
    }

vector scale;
default
{
    state_entry()
    {  scale = llGetScale();
       plasma();  // turn on when lightsabre is active  ... off is ... llParticleSystem( [] );
        
    }
   
}

and a less stiff one....

plasma(){
        llParticleSystem(
        [
            PSYS_SRC_PATTERN,  PSYS_SRC_PATTERN_ANGLE_CONE,
            PSYS_SRC_BURST_RADIUS,0.5,
            PSYS_SRC_ANGLE_BEGIN,0,
            PSYS_SRC_ANGLE_END,3.14159,
           // PSYS_SRC_TARGET_KEY,llGetOwner(),
            
            PSYS_PART_START_COLOR, <0,0,0>, //<0.3+llFrand(0.3),0.3+llFrand(0.3),0.2+llFrand(0.3)>,
            PSYS_PART_END_COLOR, <1,1,1>, //<0.3+llFrand(0.3),0.2+llFrand(0.3),0.3+llFrand(0.3)>,
            PSYS_PART_START_ALPHA,0.5,
            PSYS_PART_END_ALPHA,0,
            PSYS_PART_START_GLOW,0.3,
            PSYS_PART_END_GLOW,0.1,
            PSYS_PART_START_SCALE,<0.9,0.9,  0.0>,
            PSYS_PART_END_SCALE,<0.25,0.25,  0.0>,
            
            PSYS_PART_BLEND_FUNC_SOURCE,PSYS_PART_BF_SOURCE_COLOR,
            PSYS_PART_BLEND_FUNC_DEST,PSYS_PART_BF_ONE_MINUS_SOURCE_ALPHA,
         
            PSYS_SRC_TEXTURE, "b4ba225c-373f-446d-9f7e-6cb7b5cf9b3d", //  "5748decc-f629-461c-9a36-a35a221fe21f",
            PSYS_SRC_MAX_AGE,0,
            PSYS_PART_MAX_AGE, 1.5,
            
            PSYS_SRC_BURST_RATE,0.002,
            PSYS_SRC_BURST_PART_COUNT,25,
            PSYS_SRC_ACCEL,<0.000000,0.000000,0.000000>,
            PSYS_SRC_OMEGA,<0.000000,0.000000,0.000000>,
            PSYS_SRC_BURST_SPEED_MIN,0.01,
            PSYS_SRC_BURST_SPEED_MAX,0.01,
            PSYS_PART_FLAGS,
                0 |
                PSYS_PART_EMISSIVE_MASK |
                PSYS_PART_INTERP_COLOR_MASK |
                PSYS_PART_INTERP_SCALE_MASK |
              //  PSYS_PART_TARGET_POS_MASK  |
                PSYS_PART_RIBBON_MASK
        ]);
    }


default
{
    state_entry()
    {   plasma();
        // llSetTimerEvent(0.5);
        
    }
    timer()
    {
        plasma();
    }
}

 

  • Thanks 1

Share this post


Link to post
Share on other sites
On 7/28/2018 at 11:09 PM, MIVIMEX said:

@Xiija @Wulfie Reanimator

Thanks for your answers!

I tried the ribbon, but for some reason I can see it only when I turn. can you give an example of how it should look like please?

Ribbon particles are slightly different from regular particles, you have to think of it as an actual ribbon band. The orientation of the band depends on how the source prim is rotated.

You could also have two sources per side, rotated so that one creates vertical and one horizontal ribbon particle, basically a cross-shape. This way you're likely to see the particle from any angle, though the timing of the emissions may be off-sync for each viewer, making it obvious that there are 4 separate trails instead of two.

  • Thanks 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×