ActiveParticleSmoke
Harigane- Particle
MMM Compatible
Last updated: 20/05/2014

Click the image above to see it in full
Download
Tutorial
1. Go to 'accessory manipulation' and click 'load'.
2. Select 'ActiveParticleSmoke.x' and click 'OK'.
Accessory Parameter Values
-X, Y, and Z: Adjusts the position of the effect. -Si: Adjusts the amount of particles generated.
-Tr: Adjusts the opacity of the particles.
Editing the Code Parameters
-Line 10: #define UNIT_COUNT: Determines the maximum number of particles, by multiples of 1024, that can be generated at once. Setting this value to 1 sets the maximum number of particles to 1024, or (1 x 1024); whereas setting it to 4 sets the maximum to 4096, or (4 x 1024).
-Line 13: #define SMOKE_TYPE: Determines what kind of smoke particles are generated. Setting this value to 0 creates basic smoke clouds; 1 creates smoke clouds with a small grain normal map; 2 creates smoke clouds with a large grain normal map.
-Line 14: #define MMD_LIGHT: Determines whether the smoke clouds are affected by the innate lighting in MMD. Setting this value to 0 causes the smoke clouds to not be affected by MMD's light settings, whereas setting it to 1 does.
-Line 17: float3 ParticleColor: Determines the color of the particles, represented in a (Red, Blue, Green) format.
-Line 18: float ParticleSize: Determines the size of the particles.
-Line 19: float ParticleSpeedMin: Determines the minimum initial speed of the particles generated.
-Line 20: float ParticleSpeedMax: Determines the maximum initial speed of the particles generated.
-Line 21: float ParticleInitPos: Determines the initial position where particles spawn, relative to the accessory x file.
-Line 22: float ParticleLife: Determines the duration of the particles generated, represented in seconds.
-Line 23: float ParticleDecrement: Determines when the particles begin to disappear, represented as a ratio to ParticleLife. A smaller value means the particles will disappear sooner.
-Line 24: float ParticleScaleUp: Determines the scale, or zoom level, of the particles generated.
-Line 25: float ParticleContrast: When SMOKE_TYPE is set to 1 or 2, determines the particle shadow contrast, represented in a range of 0.0~1.0.
-Line 26: float ParticleShadeDiffusion: When SMOKE_TYPE is set to 1 or 2, determines the shadow diffusion applied to the particles generated. A greater value means the shadows will more noticeably blur over time.
-Line 27: float OccurFactor: Determines the number of particles generated relative to the movement. A greater number means more particles are generated. -Line 28: float ObjVelocityRate: Determines the particle velocity relative to the accessory x file's movement speed.
-Line 29: float3 StartDirect: Determines the particles' initial direction vector, represented in a {x, y, z} format.
-Line 30: float DiffusionAngle: When SMOKE_TYPE is set to 1 or 2, determines the particles' initial diffusion angle, represented in a range of 0.0~180.0 degrees.
-Line 34: #define UNIT_COUNT0: Determines the maximum number of additional particles, by multiples of 1024, that can be generated at once. Setting this value to 1 sets the maximum number of particles to 1024, or (1 x 1024); whereas setting it to 4 sets the maximum to 4096, or (4 x 1024).
-Line 35: #define TEX_ADD_FLG: Determines whether the effect applies an Add / Linear Dodge blend mode onto the effect. Setting this value to 0 means the effect will not apply the blend mode, whereas setting it to 1 means the effect will apply the blend mode.
-Line 37: float3 ParticleColor0: Determines the color of the additional particles, represented in a (Red, Blue, Green) format.
-Line 38: float ParticleLightPower0: When TEX_ADD_FLG is set to 1, determines the brightness of the additional particles.
-Line 39: float ParticleLife0: Determines the duration of the additional particles generated, represented in seconds.
-Line 40: float OccurFactor0: Determines the number of additional particles generated relative to the movement. A greater number means more additional particles are generated.
-Line 44: float3 GravFactor: Determines the intensity of gravity on the additional particles generated, represented in a (x, y, z) format.
-Line 45: float ResistFactor: Determines the velocity resistance of the additional particles generated. A greater value means the particles will drag along.
-Line 53: float3 vel = float3: Determines the initial velocity of the additional particles generated. A non-zero value means the additional particles will be generated even when the accessory x file is not being moved.
Tips
-You can attach the effect to a model's bone and it will follow the bone movement.
-Harigane recommends setting this effect to be at the bottom of the accessory draw order.
-By default, the maximum number of particles generated will not exceed 4096. The effect will stop generating new particles until some have disappeared.
-The amount of particles generated is determined by the movement distance, ie. moving the effect a shorter distance will produce fewer particles than moving the effect a farther distance.