Jump to content
xxgetbuck123

Jets - Wheel/Suspension PhysX

Recommended Posts

G'day people

 

EDIT: Refer to Firewills post below, seems to be the general answer to whats going on here. 

 

Cheers. 

Share this post


Link to post
Share on other sites

its my how to experimental work the wheels parameters for F-14D, with "airplaneX" simulation. isn't a perfect way, but might be help.

 

example video

 

figure-1.jpg

figure.1 0.000 LOD

figure-2.jpg

figure.2 Geometry LOD

figure-3.jpg

figure.3 Memory LOD - wheel center memory point

figure-4.jpg

figure.5 memory LOD - wheel rim memory point

figure-5.jpg

figure.6 LandContact

 

model.cfg

Quote

            class gear_1_damper
            {
                type = "translation";
                source = "Damper_1_source";
                selection = "gear_1_damper";
                axis = "axis_gear_1_damper";
                memory = 1;
                minValue = 0;
                maxValue = 1;
                offset0 = 0;
                offset1 = -1.8;
            };
            class gear_1_damper_D: Rotation
            {
                type = "rotation";
                source = "Damper_1_source";
                selection = "gear_1_damper_D";
                axis = "axis_gear_1_damper_D";
                memory = 1;
                minValue = 0;
                maxValue = 1;
                angle0 = 0;
                angle1 = "rad -28";
            };
            class gear_1_damper_U: Rotation
            {
                type = "rotation";
                source = "Damper_1_source";
                selection = "gear_1_damper_U";
                axis = "axis_gear_1_damper_U";
                memory = 1;
                minValue = 0;
                maxValue = 1;
                angle0 = 0;
                angle1 = "rad +28";
            };

            class Wheel_1
            {
                type="rotationX";
                source="Wheel_1_source";
                selection="wheel_1";
                axis="";
                memory=1;
                sourceAddress="loop";
                minValue=0.000000;
                maxValue=1.000000;
                angle0=0.000000;
                angle1=-3.141593;
            };
            class Wheel_2: Wheel_1
            {
                source="Wheel_2_source";
                selection="wheel_2";
                axis="";
            };
            class Wheel_3: Wheel_1
            {
                source="Wheel_3_source";
                selection="wheel_3";
                axis="";
            };

Config.cpp - Wheels Class

Quote

      maxOmega = 2000;
        class Wheels
        {
            class Wheel_1
            {
                boneName = "Wheel_1";
                steering = 1;
                side = "left";
                center = "Wheel_1_center";
                boundary = "Wheel_1_rim";
                width = 0.16;
                mass = 150;
                MOI = 40;
                dampingRate = 2;
                dampingRateDamaged = 1;
                dampingRateDestroyed = 1000;
                maxBrakeTorque = 6000;
                maxHandBrakeTorque = 0;
                suspTravelDirection[] = {0,-1,0};
                suspForceAppPointOffset = "Wheel_1_center";
                tireForceAppPointOffset = "Wheel_1_center";
                maxCompression = 0.4;
                maxDroop = 0.5;                
                sprungMass = 5334;
                springStrength = 1200234;
                springDamperRate = 128025;
                longitudinalStiffnessPerUnitGravity = 4000;
                latStiffX = 25;
                latStiffY = 180;
                frictionVsSlipGraph[] = {{0,1},{0.5,1},{1,1}};
            };
            class Wheel_2: Wheel_1
            {
                boneName = "Wheel_2";
                steering = 0;
                center = "Wheel_2_center";
                boundary = "Wheel_2_rim";
                width = 0.28;
                dampingRate = 4;
                springDamperRate = 41221;
                sprungMass = 2134;
                springStrength = 1580200;
                suspForceAppPointOffset = "Wheel_2_center";
                tireForceAppPointOffset = "Wheel_2_center";
            };
            class Wheel_3: Wheel_2
            {
                boneName = "Wheel_3";
                side = "right";
                center = "Wheel_3_center";
                boundary = "Wheel_3_rim";
                suspForceAppPointOffset = "Wheel_3_center";
                tireForceAppPointOffset = "Wheel_3_center";
            };

        };

Config.cpp - AnimationSources Class

Quote

   class AnimationSources
        {
            class Damper_1_source
            {
                source = "damper";
                wheel = "Wheel_1";
            };
            class Damper_2_source
            {
                source = "damper";
                wheel = "Wheel_2";
            };
            class Damper_3_source
            {
                source = "damper";
                wheel = "Wheel_3";
            };
            class Wheel_1_source
            {
                source = "wheel";
                wheel = "Wheel_1";
            };
            class Wheel_2_source
            {
                source = "wheel";
                wheel = "Wheel_2";
            };
            class Wheel_3_source
            {
                source = "wheel";
                wheel = "Wheel_3";
            };        

};

also no longer need the driveoncomponent value for this.

 

like i said, it is not a perfect way so result is might be very different.

 

 

  • Like 2

Share this post


Link to post
Share on other sites

@Firewill, so the simulation is now 'airplaneX' with physx lod and the new suspension system and all of this is usable on the Nimitz without blow ups and so forth? Very good news!

Share this post


Link to post
Share on other sites

i forgot the said, airplaneX simulation is looks like laggy(but not a real lag) when using afterburner.

Share this post


Link to post
Share on other sites

AAaaah. I've even played dedicated flight sims without shock absorber simulation. It makes a huge difference, especially on rough landings.

 

In real life, aircraft shock-struts contain oil and gas (usually nitrogen) and have various design features that allow quick compression with dampening, and a slow extension of the strut to avoid "kangaroo landings". This is limited by smaller "return orifices" for the oil inside the shock-strut.

 

If aircraft only used springs or compressed gas, it would be like landing on a trampoline.

 

The more you know... ;)

  • Like 1

Share this post


Link to post
Share on other sites

Would anyone have any idea what could be causing this? 

 

I've been trying to fix it for weeks now but absolutely nothing has worked. The PhysX suspension works fine, its just the wheels which are stuffed.  

 

Share this post


Link to post
Share on other sites
8 minutes ago, xxgetbuck123 said:

Would anyone have any idea what could be causing this? 

I've been trying to fix it for weeks now but absolutely nothing has worked. The PhysX suspension works fine, its just the wheels which are stuffed.  

 

 

It may not be very helpful to you, but I noticed some funky stuff going on with Gryphon and Shikra gear aswell. They are floating in the air. Maybe devs are sorting out some issues with the physx suspension?

Share this post


Link to post
Share on other sites
On 4/21/2017 at 6:56 AM, xxgetbuck123 said:

Would anyone have any idea what could be causing this?

If it were a ground vehicle I would suggest changing the center of mass.  That may not be desired for a plane however

Share this post


Link to post
Share on other sites
5 hours ago, hcpookie said:

If it were a ground vehicle I would suggest changing the center of mass.  That may not be desired for a plane however

 

That has been suggested but I'm not very familiar with changing masses so I left it. Then again the aircraft has had the same mass prior to PhysX suspension so I'm not 100% sure what would cause it to this now, I'm guessing cause its physX suspension haha

Share this post


Link to post
Share on other sites

welcome to the wonderful world of physx :D

 

You "normally" have those 5 little cubes in the Geo LOD that changes the center of gravity (the blue dot).  You can move those along the Z-axis so that the center of mass is moved toward the nose.

 

However it seems to me that simulation = "airplane" would make it SOOOOOOO much easier to fix :)

Share this post


Link to post
Share on other sites
46 minutes ago, hcpookie said:

welcome to the wonderful world of physx :D

 

You "normally" have those 5 little cubes in the Geo LOD that changes the center of gravity (the blue dot).  You can move those along the Z-axis so that the center of mass is moved toward the nose.

 

However it seems to me that simulation = "airplane" would make it SOOOOOOO much easier to fix :)

 

Gimmie about 1-2 hours of game updater downloading Dev Branch @ a solid shit speed and I'll see if that fixes anything haha :P 

Share this post


Link to post
Share on other sites

I've run into some problem with the F-111 and C-1 from Unsung when converting it to airplaneX and the new suspension system. Both lift their nose up and float over the surface, see

 

image showing the problem

 

I've added the wheels in geo lod, the wheel center and rim to memory and changed the model.cfg and config.cpp to use the wheels. The files are here:

http://tetet.de/arma/arma3/Download/unsung/suspension/uns_f111-config.cpp

http://tetet.de/arma/arma3/Download/unsung/suspension/uns_f111-model.cfg

 

Note that on both planes the 'driveOnComponent' based physx suspension was a fail too, the F-111 floated 50 cm over the surface, the C-1's wheels were stuck. Now with the new wheel physx suspension both show the same symptoms.

 

 

Share this post


Link to post
Share on other sites

Can anybody tell me why it is not possible to Taxi with helicopters? is it wheels related or something else?

Share this post


Link to post
Share on other sites
On 2017-5-22 at 9:19 PM, RacerX said:

Can anybody tell me why it is not possible to Taxi with helicopters? is it wheels related or something else?

 

Something to do with Advanced flight model. Apart from that I have no idea. 

Share this post


Link to post
Share on other sites
10 hours ago, xxgetbuck123 said:

 

Something to do with Advanced flight model. Apart from that I have no idea. 

Well Im stupid. It is possible to taxi with helicopters you just have to be in advanced flight to do it. Why cant this be added to standard? 

Share this post


Link to post
Share on other sites

AFAIK the helicopters in the standard flight model always have the thrust/lift oriented along Y-axis of the helicopter and their component size is determined by the pitch of the aircraft. To direct thrust backwards in a way that would taxi the helicopter, you have to pitch the entire helicopter forward.

Thrust in AFM is based on the plane of the rotor disk, so can be directed via the cyclic and adjust the collective to balance out lift.

 

If you had an extra control that could vector the helicopter thrust in the SFM, it'd basically be the VTOL flight model minus the analogue throttle. But the VTOL vector control system is no good for depicting how  helicopters direct thrust. And directing thrust through SFM's cyclic would require the collective system from AFM in order to fly helicopters properly, so you'd end up using AFM anyway.

  • Like 1

Share this post


Link to post
Share on other sites

I am playing around with this right now.

Some planes work, some others won't reach the speed necessary for takeoff: With my Alphajet and T-28 I can't go past 70 km/h and 100 km/h. Up to that speed it looks fine. Any idea what is wrong?

Share this post


Link to post
Share on other sites

I've sort of got this working with an F-35, though its wheels tend to clip into the aircraft carrier. Also, it's very wobbly.

Share this post


Link to post
Share on other sites
1 hour ago, [Dust]Sabre said:

I am playing around with this right now.

Some planes work, some others won't reach the speed necessary for takeoff: With my Alphajet and T-28 I can't go past 70 km/h and 100 km/h. Up to that speed it looks fine. Any idea what is wrong?

 

I haven't experienced that yet, but it seems that shifting weight in geo lod can have quite some effect on the airplanes. Maybe try to lower the overall weight or distribute it with the center between rear and fore wheels.

Share this post


Link to post
Share on other sites

There seems to be some confusion over the terms "rim" and "boundary," and the two are inaccurately used interchangeably. I noticed in @firewill's figure 5 that he has the wheel_1_rim set to the part where the metal meets the rubber - the rim of the literal wheel as if without a tire. This is the common understanding of the term "rim," however in the sample plane supplied by BIS they put the wheel_1_rim, wheel_2_rim, and wheel_3_rim on the very edges of the tires. As I am testing it, the inaccurate name position also seems to work better so far.

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

×