anyone know about terrain material showdust emitter
by Enel · in Torque 3D Professional · 06/24/2010 (10:29 pm) · 2 replies
new TerrainMaterial()
{
internalName = "dirt_grass";
diffuseMap = "art/terrains/Example/dirt_grass";
detailMap = "art/terrains/Example/dirt_grass_d";
detailSize = "5";
detailDistance = "300";
isManaged = "1";
detailBrightness = "1";
Enabled = "1";
diffuseSize = "200";
normalMap = "art/terrains/new Example/dirt_normal";
};
new Material( DustTerrain )
{
ShowDust = true; // Show dust particles.
};
new Material( dirt_grass01 : DustTerrain )
{
MapTo = "dirt_grass";
};// Emit footpuffs.
if( rInfo.t <= 0.5 && mWaterCoverage == 0.0
&& material && material->mShowDust )
{
// New emitter every time for visibility reasons
ParticleEmitter * emitter = new ParticleEmitter;
emitter->onNewDataBlock( mDataBlock->footPuffEmitter );
ColorF colorList[ ParticleData::PDC_NUM_KEYS];
for( U32 x = 0; x < getMin( Material::NUM_EFFECT_COLOR_STAGES, ParticleData::PDC_NUM_KEYS ); ++ x )
colorList[ x ].set( material->mEffectColor[ x ].red,
material->mEffectColor[ x ].green,
material->mEffectColor[ x ].blue,
material->mEffectColor[ x ].alpha );
for( U32 x = Material::NUM_EFFECT_COLOR_STAGES; x < ParticleData::PDC_NUM_KEYS; ++ x )
colorList[ x ].set( 1.0, 1.0, 1.0, 0.0 );
emitter->setColors( colorList );
if( !emitter->registerObject() )
{
Con::warnf( ConsoleLogEntry::General, "Could not register emitter for particle of class: %s", mDataBlock->getName() );
delete emitter;
emitter = NULL;
}
else
{
emitter->emitParticles( pos, Point3F( 0.0, 0.0, 1.0 ), mDataBlock->footPuffRadius,
Point3F( 0, 0, 0 ), mDataBlock->footPuffNumParts );
emitter->deleteWhenEmpty();
}
}i have set animation trigger 1,2 when footstep. and footprint decal works fine
but i cant find any problom showdust emitter code..
anyonw know about that?
About the author
Richard Marrevee
R.G.S - Richards Game Studio