Jump to content
Sign in to follow this  
ThePredator

Realistic Tracers

Recommended Posts

Quote[/b] ] when I play without any tracers and open fire with my m134 in a ah6 I have 30fps, with your tracers I'm at 20

The tracers are going to have an impact on fps, I bet if the VBS2 tracers were disabled an enabled there would be a noticable impact! on my system i would exspect from the finished product, all settings on high i run at around 45-65fps (in war) at 1600 distance 1280/1024 so i recon around 37-59 fps with vbs2 like tracers pistols.gif

Also remember that the lower the spec pc the higher the impact will be wink_o.gif

Sorry i was no help!! rofl.gif

Share this post


Link to post
Share on other sites

The scripts are heavily optimized but the tracer effects atm produce many many many particles to create this beautiful line smile_o.gif

In the meantime I'm working on replacing the many many many many particles with a model and 1 particle which should make the script from having "quite some FPS impact" to "next to none", stay tuned smile_o.gif

Share this post


Link to post
Share on other sites

Sounds good Sickboy , eagerly awaiting your work.

Share this post


Link to post
Share on other sites

If you still use the "many particles technique" you may want to have a look at this:

everything is explaind inside, this is not a functionnal script !

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">

private ["_color","_dir","_drag","_glowSize","_pos","_projectile","_size","_size_mod","_tracercolor","_tracersize","_vel","_volume","_weight"];

COMMENT "Get the tracer settings parameters";

_projectile=_this select 0;

_tracersize=_this select 1;

_tracercolor=format["%1",_this select 2];

_pos=_this select 3;

_size_mod = _this select 4;

COMMENT "Set the rgb values of _color that corresponds to _tracercolor";

switch _tracercolor do

{

case "red": {_color=[[1,0.1,0.1,1],[1,0,0,1],[1,0,0,1]];};

case "green": {_color=[[0.2,1,0.2,1],[0,1,0,1],[0,1,0,1]];};

};

COMMENT "Set the size of the drop created particle";

_size=[_tracersize*_SIZE_MOD];

_glowSize=[(_tracerSize*_SIZE_MOD)/5];

COMMENT "Create a velocity vector based on the velocity of the projectile";

_dir = direction _projectile;

_vel=[((velocity _projectile select 0)+(sin _dir*10)),((velocity _projectile select 1)+(cos _dir*10)),(velocity _projectile select 2)];

COMMENT "Set particle weight. Default 80.0";

_weight=80.0;

COMMENT "Set particle volume. Default 0.005";

_volume=0.005;

COMMENT "Set drag. Default 0.0395";

_drag=1;

// this is THE TRACER itself not the trail or the bullet, the trail will be based on its position and not on the bullet position,

//you could replace the kousvelto used here with a pseudo spherical particle (contact me if you need one).

drop["\Ca\Data\kouleSvetlo", "", "Billboard", 1, 4, _pos, _vel, 0, _weight, _volume, _drag, _size, _color, [0, 1], 0, 0, "", "", ""];

// what follows is the code for the trail, the problem is to get the pos from the tracer.

// to get the position "BeforeDestroy" might work

// however I don't know how to use it, I will just use here "_tracerpos" as placeholder.

_tracerpos = .....;

_particle = "#particlesource" createVehicleLocal (getpos _tracerpos);

_particle setDropInterval 0.0001;

_particle setParticleParams ["\Ca\Data\kouleSvetlo", "", "Billboard", 1, 0.05, [0,0,0], [0,0,0], 1, _weight, _volume, _rubbing, _size, _color, [0,1], 1, 1, "", "", ""];

_particle spawn {waitUntil {!(alive _this)};deleteVehicle _this;};

thanks for your work and keep it up ! smile_o.gif

Share this post


Link to post
Share on other sites

Thanks Simba, but sth like that will not work.

The particle source must be attached to an object otherwise it will not move, the drop does not create an object so we cant attach the particle source to it, in this case it will simply appear at some point and drop to the ground or disappear.

I can think of other methods too, but as I described earlier, a fair question:

How certain are we that tracers dont follow the bullets precise?

Tracer is igniting fosfor at the back of the bullet afaik, so even though the tracer is a bit behind the bullet it still follows its trail perfectly... (also, using the drop as you do it now will not create a proper ricochette following, and I feel also that it doesn't create the right trajectory under *all* circumstances, bullet speeds etc. etc, while if you attach a particlesource to the bullet, the effect simply follows the bullet exact)

If we keep using the many particles method, then the solution might be to leave the script as in beta4, but simply change the position array inside the setParticleParams. Afaik that position array is the 3d position of the particlesource compared to the object itself... in this case we could put the particle source "behind the bullet" so the trail follows the bullet exact but behind.

Share this post


Link to post
Share on other sites

i am not quite a bn880 tracers fan as i think his model are simply too ballish, would be good to have a more *la-zer* like model from the side

Share this post


Link to post
Share on other sites

...you can be very sure tracers don't follow bullet trajectory, nore do they shine the whole bullet path untill impact. I suppose more ppl who's acctually seen/fired tracers should relpy untill the addonmakers, if realism is what counts, are convinced... wink_o.gif

To take realism a step further, tracers are not very often used, mostly on heavier weapons like machineguns and so on. I would think twise even with a machinegun to feed it tracers, I just like life too much  tounge2.gif

Really nice effort guys!

/Abbe

Share this post


Link to post
Share on other sites

Ola, made a bug in Beta3+4... Please open up from the beta demo missions: scripts\cent_tracer_effect.sqf

Search for:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">_particle spawn {waitUntil {!(alive _this)};deleteVehicle _this;};

Replace With:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">[_projectile,_particle] spawn {waitUntil {!(alive (_this select 0))};deleteVehicle (_this select 1);};

This might resolve some of the performance issues whistle.gif

Still working on model-method too, making already a lot of progress, basicly its implemented though I have to figure out why I can't spawn the model with camCreate (createVehicleLocal works though)... The problem with createVehicle as opposed to camCreate is that createVehicle takes the surroundings into account when spawning the object, while camCreate truelly spawns the object exactly at the location you want it to... you can guess the funny results :P

Share this post


Link to post
Share on other sites

I really like the effect of these tracers good work sickboy, but i do have a problem seeing them , in any other mode than zooming down the scope , is this just me ?

Share this post


Link to post
Share on other sites
I really like the effect of these tracers  good work sickboy, but i do have a problem seeing them , in any other mode than zooming down the scope , is this just me ?

When i'm in first person, aiming from the hip so to speak (not looking through iron sights) i find at times the tracers will not appear. If i move the weapon to the left or right the tracers start to appear.

Share this post


Link to post
Share on other sites

Those are mainly FPS/Performance issues, though about the different angle i'm unsure. I have abondoned the method for now (due to the Performance) and have jumped to a BN880's similair way of Tracers.

ATM they are Beta, Esp. the glowing/shiney properties and trail-light is missing. No worries, it is merely a technology preview!

New Models, Colors, Glow etc. will come very soon.

Please use the A&M Discussion Thread to Try Them & Comment on them if you wish:

6thSense.eu Tracers v0.1Beta

Share this post


Link to post
Share on other sites

I have two questions about the tracer scripts.

1) The only difference between having ricochet effect or not is a change in the particle array parameters. How does this work?

2) The velocity of the tracer takes the velocity of the projectile and adds a strange trig component (e.g. sin(10*_dir), where _dir is projectile direction). Why is it 10* the angle?

Share this post


Link to post
Share on other sites
I have two questions about the tracer scripts.

1) The only difference between having ricochet effect or not is a change in the particle array parameters. How does this work?

2) The velocity of the tracer takes the velocity of the projectile and adds a strange trig component (e.g. sin(10*_dir), where _dir is projectile direction). Why is it 10* the angle?

I really have no idea, wasn't my code anyway, how about you use the new tracer package mate smile_o.gif

Share this post


Link to post
Share on other sites

just wanted to say THX!

this so cool.... tank battles are so much fun with these tracers...

Feels real...though i'm far from being an expert.

smile_o.gif

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

×