Jump to content
Sign in to follow this  
[aps]gnat

Missile smoke trail spawn point

Recommended Posts

ArmA2 missiles have nice new customer smoke trails, but at the moment my smoke is coming out of what appears to be the geo center of the model.

Off-setting in the O2 / editor doesnt help.

I'm guessing theres a named point in the model ..... or maybe an off-site in the smoke generation config code (Missile1 - Missile5) .... but I can't see either.

Anyone able to help?

Thx

Share this post


Link to post
Share on other sites

The way I set up missiles is to trick the model into changing the center. The center is based on the length of the model. It considers all lods as far as I know, so you only need to change one lod (can be resolution/geometry, whatever)

help.jpg

adding a vertex changes the center easily.

Share this post


Link to post
Share on other sites

But this way u also change the aerodynamics of the missile for mouse guided missiles

Share this post


Link to post
Share on other sites

Arh, yes, I've used that trick before .... but forgot. Thanks Sakura Chan

But if I remember correctly, SA has a valid point .....

checkin ......

Cheers

Share this post


Link to post
Share on other sites

How about a SCUD missile? in OA, the SCOD missile beam and smoke effect are following the missile and fly in to sky, When I creat a new comtom SCUD truck, the effect point is stick in [0,0,0] point, I tried to find the memorypoint of the scud effect (eg: nosnik, nosnik_axis,strelakonec strelazacatek raketa), but nothing useful.

SCUD missile launching is just an animtion which defined in model.cfg, how to get the smoke in the correct point?

Share this post


Link to post
Share on other sites

Missile smoke trails consist of 2 parts. First is the parameters defined in the CfgCloudlets class:

class CfgCloudlets {
access = 0;
class Default;
class GLT_MissileOne : Default {
	interval = 0.001;
	circleRadius = 0;
	circleVelocity[] = {0, 0, 0};
	angleVar = 1;
	particleFSLoop = 0;
	particleShape = "\ca\Data\ParticleEffects\Universal\Universal";
	particleFSNtieth = 16;
	particleFSIndex = 12;
	particleFSFrameCount = 8;
	animationName = "";
	particleType = "Billboard";
	timerPeriod = 1;
	lifeTime = 10;
	moveVelocity[] = {0, 0, 0};
	rotationVelocity = 1;
	weight = 1;
	volume = 0.8;
	rubbing = 0.5;
	size[] = {1.5, 2.5, 3};
	color[] = {{0.4, 0.4, 0.4, 0.75}, {0.95, 0.95, 0.95, 0.3}, {1, 1, 1, 0}};
	animationSpeed[] = {5};
	randomDirectionPeriod = 0.1;
	randomDirectionIntensity = 0.1;
	onTimerScript = "";
	beforeDestroyScript = "";
	lifeTimeVar = 0.5;
	positionVar[] = {0.3, 0.3, 0.3};
	MoveVelocityVar[] = {0.4, 0.4, 0.4};
	rotationVelocityVar = 1;
	sizeVar = 0.3;
	colorVar[] = {0, 0, 0, 0};
	randomDirectionPeriodVar = 0;
	randomDirectionIntensityVar = 0;
};
class GLT_MissileTwo: GLT_MissileOne {
	volume = 1.6;
	lifeTime = 15;
	size[] = {2.5, 3.5, 4};
	color[] = {{0.2, 0.2, 0.2, 0.8}, {0.85, 0.85, 0.85, 0.3}, {1, 1, 1, 0}};
};
class GLT_MissileThree: GLT_MissileOne {
	volume = 0.2;
	lifeTime = 7;
	size[] = {0.75, 1.25, 1.5};
	color[] = {{0.2, 0.2, 0.2, 0.8}, {0.85, 0.85, 0.85, 0.3}, {1, 1, 1, 0}};
};
};

This defines the general appereance of the smoke trails but not positional reference and detailed missile effect. These are defined separately in the config root:

class GLT_MissileOne {
class LightOne {
	simulation = "light";
	type = "RocketLight";
	position[] = {0, 0, 0};
	intensity = 0.01;
	interval = 1;
	lifeTime = 1;
};

class GLT_MissileOne {
	simulation = "particles";
	type = "GLT_MissileOne";
	position[] = {0, 0, 0};
	intensity = 1;
	interval = 0.01;
	lifeTime = 10;
};
class MissileFire {
	simulation = "particles";
	type = "MissileFire";
	position[] = {0, 0, 0};
	intensity = 1;
	interval = 1;
	lifeTime = 1;
};
};

As you see, it consists of 3 parts: smoke, light and fire. With the position parameter you can finetune the exact location of the effects. Probably it would also be possible to have multiple effects on the same missile (twinengine?) but never tried that.

Also in the later, you can change general intensity, interval and lifetime of the effect. Please note that the effect is disabled after thrusttime.

Share this post


Link to post
Share on other sites

Thanks Myke!

But I'm not very clearly with your explain, I don't think it's just a config problem.

I use the same config I created which defines my own SCUD launch truck, no effects, just replace the "model = "\fromz_df15\df15.p3d";" to bis OA MAZ_543_SCUD_Base_EP1, the effects appeared.

and I have tried your configs,

class CfgPatches {
///bla bla bla
};

class CfgCloudlets {
///bla bla bla
};

class CfgVehicles {
class Land;

class LandVehicle : Land {
	class HitPoints;
};

class car : LandVehicle {
	class HitPoints {
		class HitGlass1;
		class HitGlass2;
		class HitGlass3;
		class HitGlass4;
		class HitLFWheel;
		class HitLBWheel;
		class HitLMWheel;
		class HitLF2Wheel;
		class HitRFWheel;
		class HitRBWheel;
		class HitRMWheel;
		class HitRF2Wheel;
	};
	class NewTurret;

	class Turrets {
		class MainTurret : NewTurret {
			class HitPoints;
		};
	};
	class ViewPilot;
	class AnimationSources;
};

class Truck : Car {};


/////////////////////////////////////////////// DF15B Missle ///////////////////////////////////////////////
class oh2_DF15B : Truck {
	faction = "OHPLA";
	scope = 2;
	side = 2;
	//destrType = "DestructWreck";
	displayName = "DF-15B";
	vehicleClass = "Car";
	model = "\fromz_df15\df15.p3d";
	picture = "\fromz_df15\data\picture_df15_ca.paa";
	Icon = "\fromz_df15\data\icon_df15_ca.paa";
	mapSize = 16;
	accuracy = 0.25;
	maxSpeed = 81;
	wheelCircumference = 2.87;
	crew = "PLA_Soldier_TL";
	transportSoldier = 4;
	typicalCargo[] = {"PLA_Soldier", "PLA_Soldier", "PLA_Soldier_GL", "PLA_Soldier_Sniper"};

   expansion = 1;
   htMin = 60;
   htMax = 1800;
   afMax = 200;
   mfMax = 100;
   mFact = 0;
   tBody = 0;
   scudModel = "\fromz_df15\df15_missle.p3d";
   scudModelFire = "\fromz_df15\df15_missle.p3d";
   terrainCoef = 3.0;
   turnCoef = 3;
   weapons[] = {"SportCarHorn"};
   magazines[] = {};
   Scudeffect = "GLT_missileOne";

   class GLT_missileOne {
     class LightOne {
       simulation = "light";
       type = "RocketLight";
       position[] = {0, 0, 5};
       intensity = 0.01;
       interval = 1;
       lifeTime = 3;
     };

     class GLT_missileOne {
       simulation = "particles";
       type = "GLT_missileOne";
       position[] = {0, 0, 5};
       intensity = 1;
       interval = 0.01;
       lifeTime = 10;
     };
     class MissileFire {
       simulation = "particles";
       type = "MissileFire";
       position[] = {0, 0, 5};
       intensity = 1;
       interval = 1;
       lifeTime = 5;
     };
   };

 };

};

class CfgNonAIVehicles
{
class ProxyWeapon;
class ProxyDFSCUD_rocket: ProxyWeapon
{
 model = "\fromz_df15\df15_missle.p3d";
 simulation = "scud";
};
};

But, get "No entry bin\config.bin.GLT_missileOne", Doesn't work.

Share this post


Link to post
Share on other sites

@Fromz

sorry, my post was more adressed to [APS]Gnat and "normal" missiles. I don't know how the SCUD works.

Besides that, the class GLT_Missileone doesn't belong inside any other classes but in config root. It is it's own baseclass.

Share this post


Link to post
Share on other sites

IIRC there's a memory point for aircraft to define the center maybe this could work for missiles?

Share this post


Link to post
Share on other sites

Yes, I think there are some memory points in truck (not in missile),

But I can't find them exactly.

In MAZ_543_SCUD OLOD, as I sald, there are "nosnik, nosnik_axis,strelakonec, strelazacatek raketa" points, but nothing useful.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×