ActiveParticleObj

ActiveParticleObj converts an asset into numerous particles that appear when the model moves.

ActiveParticleObj

Tutorial

1. Go to 'accessory manipulation' and click 'load'. 

2. Select 'ActiveParticleObj.x' and click 'OK'. 

3. Go to 'accessory manipulation' and set ActiveParticleObj.x to follow your desired model and bone. Click 'register'. 

4. Go to 'MMEffect' and click on 'Effect Mapping'. 

5. Select the model you wish to apply the effect on. Click 'Set Effect'. 

6. Select Particle_Object.fx and click 'Open'. 

7. Click 'Apply', then 'OK'. 

8. Select the starting frame and, in the 'bone manipulation' window, set your desired bone placements. Click 'register'. 

9. Select the ending frame and, in the 'bone manipulation' window, set your desired bone placements. Click 'register'.



Accessory Parameter Values 

  • Si: Adjusts the number of particles emitted. The greater the value, the more particles emitted. 

  • Tr: Adjusts the transparency of the particles emitted. 0 is fully transparent, whereas 1.0 is fully opaque.

Editing the Code Parameters

-Line 9: ParticleSize: Determines the size of the particles being emitted. The greater the value, the larger the particles will be. 1.0 means the particles will be the same size as the designated model. 


-Line 10: ParticleSizeRandam: Determines the size variation of the particles being emitted within a range of 0~1. 0.0 means no size variation, whereas 1.0 means all the particles will be varying sizes. 


-Line 11: ParticleSpeedMax: Determines the max speed at which the particles will move. 


-Line 12: ParticleSpeedMin: Determines the minimum speed at which the particles will move. This value should not be greater than the ParticleSpeedMax value. 


-Line 13: ParticleRotSpeed: Determines the speed at which the particles will rotate. The greater the value, the faster the rotation. 


-Line 14: ParticleRotRandam: Determines the directional variation at which the particles will rotate, within a range of 0~1. The greater the value, the more variation in rotational direction. 


-Line 15: ParticleInitPos: Determines the initial position where the particles will be created, relative to the designated bone. 


-Line 16: ParticleLife: Determines the duration of the particles emitted, indicated in seconds. 


-Line 17: ParticleDecrement: Determines when particles begin to fade away, indicated by a number representing a ratio of ParticleLife's value. By default, this value is set to 0.5, which means the particles will begin to fade away at the halfway point of their duration. 


-Line 18: CoefProbable: Determines the particle generation rate relative to the movement of the designated bone. The greater the value, the more particles will be produced. 


-Line 19: ObjVelocityRate: Determines the maximum velocity of the particles relative to the movement of the designated bone. The greater the value, the faster the maximum particle speed during continuous movement in one direction.


- Line 21: GravFactor: Determines the strength of the gravity affecting the particles, designated by (x, y, z) coordinates. 


-Line 22: ResistFactor: Determines the velocity resistance of the particles when moving continuously in one direction. Setting the value to a value greater than 0 will cause particles to be emitted even when the designated bone is not in movement. 


-Line 30: float3 vel = float3: Determines the center point at which the particles revolve around, relative to ParticleInitPos, designated by (x, y, z) coordinates. 


-Line 39: #define  ObjectNo: Determines the individual identification of the particle effect. If you are looking to create more than 4 iterations of this effect (see tip #3), you will need to change this number accordingly.

Tips

-The number of emitted particles and the position of these particles are automatically adjusted depending on the direction and speed of the bone movement.

-The maximum number of particles drawn at any given time will not exceed 4096. In the event that more particles are generated, the effect will wait for 'old' particles to disappear before creating 'new' particles. 

-It is possible to use this effect multiple times in one render by copy & pasting the ActiveParticleObj.x and Particle_Object.fx files and appending a number to the end of the filenames. By default, HariganeP has included numbers 0~3, allowing for 4 iterations of the effect.

-The download comes with a variation of the effect that supports AutoLuminous and ObjectLuminous, both by sovoro. For these models, follow the tutorial listed above up until step 7. 

  • 7.1. Go to the 'AL_EmitterRT' tab and select the model you wish to apply the effect on. Click 'Set Effect'.

  • 7.2. Select AL_Object_ParticleObj.fx or OL_Selector_ParticleObj.fx, depending on whether you are using AutoLuminous or ObjectLuminous. Click 'Open'. 

  • 7.3. Follow the tutorial listed above starting from step 8.