Jump to content

I'm going to make a hot spring. I have a question about Steam.


JessicaGomes
 Share

You are about to reply to a thread that has been inactive for 1180 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

I set up a script for Steam, but I'd like to set the entire steam in the water.
What should I modify to widen the radius of the steam?
This script only produces small steam.

// Mask Flags - set to TRUE to enable
integer glow = TRUE;            // Make the particles glow
integer bounce = FALSE;          // Make particles bounce on Z plan of object
integer interpColor = TRUE;     // Go from start to end color
integer interpSize = TRUE;      // Go from start to end size
integer wind = FALSE;           // Particles effected by wind
integer followSource = TRUE;    // Particles follow the source
integer followVel = TRUE;       // Particles turn to velocity direction

// Choose a pattern from the following:
// PSYS_SRC_PATTERN_EXPLODE
// PSYS_SRC_PATTERN_DROP
// PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY
// PSYS_SRC_PATTERN_ANGLE_CONE
// PSYS_SRC_PATTERN_ANGLE
integer pattern = PSYS_SRC_PATTERN_ANGLE_CONE;

// Select a target for particles to go towards
// "" for no target, "owner" will follow object owner 
//    and "self" will target this object
//    or put the key of an object for particles to go to
key target = "";

// Particle paramaters
float age = 10;                  // Life of each particle
float maxSpeed = .1;            // Max speed each particle is spit out at
float minSpeed = .1;            // Min speed each particle is spit out at
string texture;                 // Texture used for particles, default used if blank
float startAlpha = 0.1;           // Start alpha (transparency) value
float endAlpha = 0.01;           // End alpha (transparency) value
vector startColor = <1,1,1>;    // Start color of particles <R,G,B>
vector endColor = <1,1,1>;      // End color of particles <R,G,B> (if interpColor == TRUE)
vector startSize = <.5,.5,.7>;     // Start size of particles 
vector endSize = <.1,.1,.1>;       // End size of particles (if interpSize == TRUE)
vector push = <0,0,.1>;          // Force pushed on particles

// System paramaters
float rate = .1;            // How fast (rate) to emit particles
float radius = 1000;          // Radius to emit particles for BURST pattern
integer count = 10;        // How many particles to emit per BURST 
float outerAngle = 1.54;    // Outer angle for all ANGLE patterns
float innerAngle = 1.55;    // Inner angle for all ANGLE patterns
vector omega = <0,0,10>;    // Rotation of ANGLE patterns around the source
float life = 0;             // Life in seconds for the system to make particles

// Script variables
integer flags;

updateParticles()
{
    flags = 0;
    if (target == "owner") target = llGetOwner();
    if (target == "self") target = llGetKey();
    if (glow) flags = flags | PSYS_PART_EMISSIVE_MASK;
    if (bounce) flags = flags | PSYS_PART_BOUNCE_MASK;
    if (interpColor) flags = flags | PSYS_PART_INTERP_COLOR_MASK;
    if (interpSize) flags = flags | PSYS_PART_INTERP_SCALE_MASK;
    if (wind) flags = flags | PSYS_PART_WIND_MASK;
    if (followSource) flags = flags | PSYS_PART_FOLLOW_SRC_MASK;
    if (followVel) flags = flags | PSYS_PART_FOLLOW_VELOCITY_MASK;
    if (target != "") flags = flags | PSYS_PART_TARGET_POS_MASK;

    llParticleSystem([  PSYS_PART_MAX_AGE,age,
                        PSYS_PART_FLAGS,flags,
                        PSYS_PART_START_COLOR, startColor,
                        PSYS_PART_END_COLOR, endColor,
                        PSYS_PART_START_SCALE,startSize,
                        PSYS_PART_END_SCALE,endSize, 
                        PSYS_SRC_PATTERN, pattern,
                        PSYS_SRC_BURST_RATE,rate,
                        PSYS_SRC_ACCEL, push,
                        PSYS_SRC_BURST_PART_COUNT,count,
                        PSYS_SRC_BURST_RADIUS,5.57,
                        PSYS_SRC_BURST_SPEED_MIN,minSpeed,
                        PSYS_SRC_BURST_SPEED_MAX,maxSpeed,
                        PSYS_SRC_TARGET_KEY,target,
                        PSYS_SRC_INNERANGLE,innerAngle, 
                        PSYS_SRC_OUTERANGLE,outerAngle,
                        PSYS_SRC_OMEGA, omega,
                        PSYS_SRC_MAX_AGE, life,
                        PSYS_SRC_TEXTURE, texture,
                        PSYS_PART_START_ALPHA, startAlpha,
                        PSYS_PART_END_ALPHA, endAlpha
                            ]);
}

default
{
    state_entry()
    {
        updateParticles();
    }
}// END //

1293851456_.JPG.6397cd6849cf7b9ddaec3da3c475e972.JPG

Link to comment
Share on other sites

3 minutes ago, Rolig Loon said:

입자의 초기 및 끝 크기를 늘립니다. 4m와 같이 훨씬 더 큰 것으로 설정해보십시오.

vector startSize = <.5,.5,.7>;     // Start size of particles 
vector endSize = <.1,.1,.1>;       // End size of particles (if interpSize == TRUE)

If I change this price, will the steam come out in a wide area?

Link to comment
Share on other sites

For a Hotspring I think you'd want a low rolling mist rather than a big steamball. Have a play with something like this :

default
{
    state_entry()
    {
        llParticleSystem(
        [
            PSYS_PART_FLAGS,
                PSYS_PART_BOUNCE_MASK|  // particles 'bounce' when falling down to the z=0; plane relative to root.
                PSYS_PART_EMISSIVE_MASK| // fullbright particles
                //PSYS_PART_FOLLOW_SRC_MASK| //follow source, but disable burst radius.
                //PSYS_PART_FOLLOW_VELOCITY_MASK | // particles point their 'up' towards their heading.
                PSYS_PART_INTERP_COLOR_MASK | //color and alpha change over the particle's lifetime.
                PSYS_PART_INTERP_SCALE_MASK| //particle size/scale changes over the particle's lifetime. 
                //PSYS_PART_RIBBON_MASK |
                //PSYS_PART_TARGET_LINEAR_MASK | // straight line between src and target.
                //PSYS_PART_TARGET_POS_MASK | // particles attracted to target.
                //PSYS_PART_WIND_MASK |
                0, // makes (un)commenting easier.
/*------------------------------------------------------------------------------------*/
//System Presentation
            PSYS_SRC_PATTERN, //chose one of the following
                //PSYS_SRC_PATTERN_EXPLODE,
                PSYS_SRC_PATTERN_ANGLE_CONE,
                //PSYS_SRC_PATTERN_ANGLE ,
                //PSYS_SRC_PATTERN_DROP ,
                //PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY, // questionable implementation.
            PSYS_SRC_BURST_RADIUS,
                0.0, // float value
            PSYS_SRC_ANGLE_BEGIN, // think of these like the 'dimple' operation.
                1.25,// range 0 to PI
            PSYS_SRC_ANGLE_END,
                1.26, // range 0 to PI.
            //PSYS_SRC_TARGET_KEY,
                //NULL_KEY, // Key of the Target object.
/*------------------------------------------------------------------------------------*/
//Particle Appearance
            PSYS_PART_START_COLOR,
                <1.0, 1.0, 1.0>,
            PSYS_PART_END_COLOR,
                <1.0,   1.0,    1.0>,
            PSYS_PART_START_ALPHA,
                0.1, // 1.0 - 0.0 ; opaque to transparent.
            PSYS_PART_END_ALPHA,
                0.01,
            PSYS_PART_START_SCALE,
                <1.50,   1.50,    0.0>, // z is ignored.
            PSYS_PART_END_SCALE,
                <0.75,   0.75,    0.0>, // z is ignored.
            //PSYS_SRC_TEXTURE,
                //"", // texture must be a UUID or in the emitter prim's inventory.
            PSYS_PART_START_GLOW,
                0.000, // range 0.0 to 1.0
            PSYS_PART_END_GLOW,
                0.0,
/*------------------------------------------------------------------------------------*/
//Particle Blending
/*  //Probably best to not mess with this to much, read the documentation first.
            PSYS_PART_BLEND_FUNC_SOURCE,
                PSYS_PART_BF_SOURCE_ALPHA,
            PSYS_PART_BLEND_FUNC_DEST,
                PSYS_PART_BF_ONE_MINUS_SOURCE_ALPHA,
                //PSYS_PART_BF_ONE, // option suggested by Wiki for better blending.
*/  
/*------------------------------------------------------------------------------------*/
//Particle Flow
            PSYS_SRC_MAX_AGE,
                0.0, // how long to have the emitter on.
// a feature/bug causes the emiter to go off every time the prim is updated in the viewer, ergo, at every region crossing and on rez among other things.
            PSYS_PART_MAX_AGE, // particle lifetime.
                30.0, // range 0.0 to 30.0
            PSYS_SRC_BURST_RATE,
                0.05, // 0.0 to inf. Ammount of time between particle bursts.
            PSYS_SRC_BURST_PART_COUNT,
                12, // number of particles per burst (an integer)
/*------------------------------------------------------------------------------------*/
//Particle Motion
            PSYS_SRC_ACCEL, // acceleration in region coordinates per particle.
                <0.0,   0.0,    -0.2>,
            PSYS_SRC_OMEGA, // rotation of emiter around X,Y,Z REGIONAL axes. approximately radians per burst.
                <0.0,   0.0,    0.0>,
                //<0,0,0>, 
            PSYS_SRC_BURST_SPEED_MIN, // initial speed of particle.
                0.27,
            PSYS_SRC_BURST_SPEED_MAX,
                0.25 // no final comma.
            
        ]);
    }
}

you can make the radius wider either by making the particles bigger (increase PSYS_SRC_*_SCALE) or increasing the spead at which they eminate from the center (increase PSYS_SRC_BURST_SPEED_* ) to make the radius smaller you could decrease PSYS_PART_MAX_AGE as well as the aforementioned parameters.

Aditionally, if you have some way of hiding the particle death (if you put it at the center of a deep pool for example) you could increase the PSYS_PART_END_ALPHA a bit (up to PSYS_PART_START_ALPHA) which would make the radius /appear/ to be ever so slightly wider.

Edited by Quistessa
Link to comment
Share on other sites

16 minutes ago, Quistessa said:

온천의 경우 큰 스팀 볼보다 낮은 롤링 미스트가 필요하다고 생각합니다. 다음과 같이 놀아보세요 .



            

입자를 더 크게 만들거나 (PSYS_SRC _ * _ SCALE 증가) 반경을 더 넓게 만들거나 (PSYS_SRC _ * _ SCALE 증가) 반경을 더 작게 만들기 위해 (PSYS_SRC_BURST_SPEED_ * 증가) PSYS_PART_MAX_AGE와 앞서 언급 한 매개 변수를 줄일 수 있습니다.

https://marketplace.secondlife.com/p/Rising-Mist-Particle-Emitter-PARTICLZ-Shop-at-Basic-Elements/591035

This is the particle I want.

Link to comment
Share on other sites

1 minute ago, Quistessa said:

그럼 그냥 사세요. 그들은 그것을 멋지게 보이게 만들기 위해 약간의 노력을 기울였으며 기본 입자 스크립트에 대한 삶의 질이 향상 된 것처럼 보입니다.

Is there any way to expand the overall area of the particles I made?

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 1180 days.

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
 Share

×
×
  • Create New...