Jump to content
Sign in to follow this  
scorch_052

Creating projectile with no bullet drop

Recommended Posts

Im trying to create a projectile with zero drop. I know just increasing the speed would accomplish this, but I need the projectile to be visible and still moving relatively slow, just not dropping. I've already set airFriction to 0.

 

For those still searching for an answer, here is what works for me


in CfgAmmo:

effectFly = "AmmoUnderwater";

coefGravity = 0.0;

deflecting = 0;

airFriction = 0;

sideairFriction = 0;

waterFriction = -0.01;

 

Share this post


Link to post
Share on other sites

It is a bullet, but I also need a similar job done for a rocket projectile.

Share this post


Link to post
Share on other sites

I know for sure Rockets you can make them have no drop at all. Bullets on the other hand will always have drop to it, might be a script work around for it.

What kind of bullet are you looking to config? Might be able to brainstorm some ideas on working around it.

Share this post


Link to post
Share on other sites

its an energy weapon with a slow moving "bolt"

Share this post


Link to post
Share on other sites

Hmmmmm. I wonder if we can convert the shell base but I don't think that'll work.

You very likely have to make it rocket based as it can have an engine to keep pushing it along at low speeds. It can still function like a rifle with the correct setup.

Share this post


Link to post
Share on other sites

in cfgammo

airFriction=0;

-> no bullet drop and decrease in speed.

Share this post


Link to post
Share on other sites
in cfgammo

airFriction=0;

-> no bullet drop and decrease in speed.

This is what I have it set to and the rounds still drop after some time.

Share this post


Link to post
Share on other sites
in cfgammo

airFriction=0;

-> no bullet drop and decrease in speed.

Bullets in ARMA 3 will always have drop to them compared to rockets which can be built to have no drop.

Share this post


Link to post
Share on other sites

From the wiki

Bullet simulation is not kinematic (trajectory based), but dynamic (force based). Two basic forces are considered - drag (air friction) and gravity.

Vector3 accel=_speed*(_speed.Size()*_airFriction);

// add gravity

accel[1]-= _coefGravity * G_CONST;

I'm not sure but parallel to airFriction CfgAmmo also allowed setting coefGravity. Setting the latter to 0 one would expect the vertical component to be zeroed. Unless this has indeed been deprecated, in which case I would try editing the 3D model's Collision Geometry and set it's overall mass to 0.

Maybe worth checking.

Share this post


Link to post
Share on other sites

You can only use airfriction=0 and high speed enough so the impact before the bullet drop becomes obvious, but the bullets visuals may glitch out at extreme speeds.

hence the ticket

I'm not sure but parallel to airFriction CfgAmmo also allowed setting coefGravity

coefGravity can't be changed, it's not anywhere to be found in cfgAmmo.

I would try editing the 3D model's Collision Geometry and set it's overall mass to 0.

Bullets dont use 3d models, they only have tracers attached to them (which dont have a collision geometry)

Share this post


Link to post
Share on other sites

^^

that's unfortunate. I was relying on this but indeed suspected it was deprecated.

The 2nd suggestion would be a last resort, i wonder then where the engine is picking the mass value from. I doubt the actual calculation is uniform through the different ammo types.

Edit: actually this last part is misguided thinking. In theory even if the force would be a resultant depending on the mass, the accelleration in y (accel[1]) itself is independent of mass. This coefGravity must have served an arbitrary adjustment of the gravity constant. Sorry for the confusion i created.

Edited by gammadust

Share this post


Link to post
Share on other sites

Hey gammadust,

It´s perfectly possible and I have already done that. ;)

I have created an ingame ballistics lab for tests like this one of yours.

In the CfgAmmo...

For a projectile with a flat trajectory (allows me to measure pure x axis deceleration due to airfriction when shooting at 0 elevation) I use: coefGravity = 0;

For a projectile with zero deceleration (allows me measure gravity only effects) I use: airFriction = 0;

For a projectile with zero deceleration and zero gravity (allows me to measure the engine´s variability of initspeed and the true rifle´s elevation) I use: coefGravity = 0; and airFriction = 0;

Most curious thing is that a bullet with airfriction and coefgravity greater than 0 will hit targets exactly at the same velocity as if you zero its gravity.

And up to now there is no one in the world calculating in game trajectory right. People only tell the formulas but no one prove them right. BTW I prove them wrong.

Any ideas will be wellcome.

Edited by QuickDagger

Share this post


Link to post
Share on other sites
coefGravity

Hi,

This parameter doesn't appear once in the base configs. Where did you find it?

Share this post


Link to post
Share on other sites

Oh man I´ve already read kilometers of config files ... so I can´t remember.

I might have seen it in one of those nonsense config files.

Share this post


Link to post
Share on other sites

Well I've just searched through every config in the game and it doesn't appear there. In fact the only place I can see it is in one of Douggems reclass dumps on UC

edit: I just tried it on .50 cal and it does seem to work

Edited by Das Attorney

Share this post


Link to post
Share on other sites
Well I've just searched through every config in the game and it doesn't appear there. In fact the only place I can see it is in one of Douggems reclass dumps on UC

edit: I just tried it on .50 cal and it does seem to work

You can see it in Dagger Ballistics for A2 too :D

Share this post


Link to post
Share on other sites

Thx - yeah seems to be undocumented.

Definitely working though - tried it on a few ammunition types to check :)

Share this post


Link to post
Share on other sites

I´ve done a simple experiment with this zero gravity bullet and Bakerman's Community Ballistics Calculator.

I´ve created the following A2OA (the A3 code comes from A2OA) experiment:

class CfgAmmo

{

/*extern*/ class BulletBase;

class Dagger_AUX: BulletBase {};

class Dagger_TEST_3: Dagger_AUX

{

airFriction = -0.000750;

coefGravity = 0;

typicalSpeed = 1; // Just to ensure the bullet is free to decelerate from 786m/s all the way down to 1m/s.

};

};

class CfgMagazines

{

/*extern*/ class CA_Magazine;

class Dagger_TEST_1: CA_Magazine {};

class Dagger_TEST_3: Dagger_TEST_1

{

initSpeed = 786; // That 786 I spoke of.

ammo = "Dagger_TEST_3";

};

};

Then I went to Kronzi Fire range (http://www.kronzky.info/targetrange/) and shot targets 1800 m away. At that distance values must be ultra accurate for a .308, so I use it just to make sure my calculations are right.

Kronzi tells me targets are hit at an average of 371m/s. Remember there´s no influence of gravity, so only airfriction is acting.

Then I´ve calculated decelation using the formula:

v^2 = Vo^2 + 2*a*ds

371^2 = 786^2 + 2*a*1800

a = -132,5m/s^2

Then I went to Bakerman's Community Ballistics Calculator (http://www.armaholic.com/page.php?id=25287), inserted a = -132,5 and it calculated AirFriction = -0,000215 by using the formula:

Deceleration = Airfriction*muzzle veocity^2

But I have inserted Airfriction as being -0,00075.

What´s wrong?

Share this post


Link to post
Share on other sites

Would this problem have to do with the PhysX Engine? Maybe some kind of physics file should solve the problem, but for my knowledge this goes way beyond simple coding. :confused:

Share this post


Link to post
Share on other sites
I´ve done a simple experiment with this zero gravity bullet and Bakerman's Community Ballistics Calculator.

I´ve created the following A2OA (the A3 code comes from A2OA) experiment:

class CfgAmmo

{

/*extern*/ class BulletBase;

class Dagger_AUX: BulletBase {};

class Dagger_TEST_3: Dagger_AUX

{

airFriction = -0.000750;

coefGravity = 0;

typicalSpeed = 1; // Just to ensure the bullet is free to decelerate from 786m/s all the way down to 1m/s.

};

};

class CfgMagazines

{

/*extern*/ class CA_Magazine;

class Dagger_TEST_1: CA_Magazine {};

class Dagger_TEST_3: Dagger_TEST_1

{

initSpeed = 786; // That 786 I spoke of.

ammo = "Dagger_TEST_3";

};

};

Then I went to Kronzi Fire range (http://www.kronzky.info/targetrange/) and shot targets 1800 m away. At that distance values must be ultra accurate for a .308, so I use it just to make sure my calculations are right.

Kronzi tells me targets are hit at an average of 371m/s. Remember there´s no influence of gravity, so only airfriction is acting.

Then I´ve calculated decelation using the formula:

v^2 = Vo^2 + 2*a*ds

371^2 = 786^2 + 2*a*1800

a = -132,5m/s^2

Then I went to Bakerman's Community Ballistics Calculator (http://www.armaholic.com/page.php?id=25287), inserted a = -132,5 and it calculated AirFriction = -0,000215 by using the formula:

Deceleration = Airfriction*muzzle veocity^2

But I have inserted Airfriction as being -0,00075.

What´s wrong?

You took the formula for constant deceleration, while, as you written above:

Deceleration = Airfriction*muzzle veocity^2

I.e. deceleration is proportional to v^2

Share this post


Link to post
Share on other sites

This is very interesting. I'm curious as to why this config entry is completely undocumented.

Share this post


Link to post
Share on other sites

Hahahhahahah,

I have not released anything before because I was still testing and testing, with no good conclusion yet. But now it is :)

Hey Scorch, you should take a look at the pdf manual included in the mod:

http://www.armaholic.com/page.php?id=24600

Now that I´ve entered the ACE3 discussions and there are more people interested on my work I´ll be more dilligent about sharing my researches!

Cheers!

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  

×