FGear Vehicle Physics (v1.4)

It works when I will turn off standard input, but I need to have it on.

it won’t work in vehicle BP, standard input will overwrite the values.
first pawn tick is called then we do our own updates so the BP tick is called before internal updates.
we might add a post tick event for the next release and i’ll let you know if i find a workaround.

BTW, it looks like the extras pdf is outdated. Cannot find anything about FGearSuspensionConstraint there (Dropbox - fgue4docs.rar - Simplify your life).

yes, thanks for the feedback.

Suspension constraint can be used to prevent tire/ground or tire/vehicle penetrations. This adds a joint component for each wheel at start and then updates their parameters in real time so that the vehicle body stays in an acceptable transform.

I have one question about UFGearAutoDrive component. It works great. But would be possible to extend it also for city traffic, not only for racing? I would like to use it like that, but that would need to have not closed splines (so I could set new target spline on junctions), and ability to set some max speed (for example 50 kmh in city, 90 outside city) and also possibility to set lower throttle. What do you think about it?

you can easily update its functionality for your needs by modifying the source but i don’t think it could be used(as is) for your case.

Hello lazybitgames, I just stumbled upon this page yesterday and I have to say I am very satisfied with the broad range of vehicles (I tried the sandbox), if you can add tracked vehicles like tanks and more in future updates, it will be even better. Good luck with the project!

Hello,

I have one problem, but don’t know if I doing something wrong or if is it possible to solve it.

What I want to achieve:
Have physical object which have two parts. 1. part have kinematic physics (can be animated by animations). 2. part have simulated physic and is afected by gravity forces etc. This physical object works perfectly when I place it into level. I want to attach this object to the fgear car.

Where is the problem:
If I will attach that physical object to a car, and start driving, then kinematic part is ok. But simulated part will start lagging behind the car. Faster speed = bigger lag (it will move away from the kinematic part which should be impossible). It is probably similar like wheel collisions - they also lags behind actual wheels objects, but wheel collisions are invisible so it does not matter much.

Do you think that is possible to solve it somewhat? I am doing anything wrong? I attached example files of the physic object and BP that is needed to add to the car.

On the video is visible that swinging part are moving away from the box as I drive. But it should swinging still on same place, like when I stopped the car.

@rotacak

first of all this is not a problem related to fgear, even if you attach that object to a regular rigidbody, it would behave the same.

i can not recreate the case since boxbp is not included in the zip. when you attach that object to the vehicle body it’s not kinematic anymore, it’s kinda part of the vehicle body and i do not know how you connected with the dynamic part, it seems like there is a joint there but not sure, need more data and info about this one.

Hi @rotacak
what exactly will you use it for? For the fender? maybe it can be solved another way.
I will test on my pc and let you know.

@lazybitgames: boxbp is included in the zip, in box directory “box\boxbp.uasset”. In short the skeletal mesh have two bones, main and child. Main is for kinematic part and child is for simulated part.

@lastcoingames: hard to find it somewhere but you can look here, it is used for this: *Holbra VLOG* #56 Tatra 148 a Man - problémy na sklådce - YouTube

Here is demo project with this things, use car under number 5: 155.4 MB file on MEGA

@rotacak

your bp only contains an empty skeletal mesh and the physics asset is corrupted.

anyway i think you are on the wrong way, first of all mixing kinematics with dynamics is a terrible idea, kinematics means infinite forces and even if it’s possible the results will be problematic.

what i would do is to have independent dynamic bodies for the truck body, the bed and the tailgate and then connect them with joints.

do not drive physics with animation, drive animation with physics, that’s how it should be if you want interaction with the world.

here is a starting point : Constraints User Guide | Unreal Engine Documentation

Can i adjust centre of mass in this system? Make car more heavy on front or back?

yes, pdf documentation link is available in the market page, you can find explanations of all settings.

@lazybitgames: Sadly, it behave still same. I tried only two simple static meshes connected with joints. The one without simulating physic is correct. But the physical one is still lagging. Or I still doing something wrong?

Project: 155.49 MB file on MEGA

@rotacak

tried it with a constraint component, i couldn’t connect child actor to root but added a dummy actor as a parent and it worked.

video : https://www.dropbox.com/s/0l939cyqi5
72ao3.gif?dl=0

Well, this works. But you can attach only pure mesh components. If you want to attach an actor, then it is problem. I would like to have Car BP (just car) and Bed BP (contains the bed and tailgate connected with a constraint) and attach Bed BP to the Car BP (or attach different Bed BP etc.).

If I doing everything correctly, then I think that is a bug in UE and they will not fix it (they does not care about vehicles). Your solution will be maybe usable (still don’t know what will happen with animations and other things) but it will complicate everything and I will have to save values, settings and sounds from the bed to the cars which is mess. Maybe somewhat to connect it with scene/actor component, if it will work? But this is probably only one solution when I want to have separated car and bed.

Another one is to have car together with bed+tailgate. There I cannot turn off physic simulation to kinematic (for locking tailgate), it still simulating. I can only enable all constrain limits but still is not locked on the place as rock (moving slightly when crash).

Maybe I have to something un/tick something in the actor to work, but dunno :frowning:

@**lazybitgames **btw, how did you managed to use that constrain correctly? I succeeded twice when testing it, but not anymore. If I will try it in a map, then it is ok, but in a car it is broken.

Look what will happen. Physic box it should be connected above car where constrain is. But is actually connected somewhere in the middle of the car. And also it looks like that constrain line is even disconnected from the constrain. And sometime (not on this video) it even changing length of constrain - it will just fall down to the ground
 It just doing impossible things.

@rotacak when i put the dummy mesh at 0,0,0 then the constraint origin works correctly.

@lazybitgames: you was probably lucky. Can’t do that now - if I will add dummy mesh (dummy = without assigning mesh object) then the physic mesh will spawn totally out of car, seems like on 0, 0, 0 of the map :frowning:

Could you send me the car UE asset with that working constraint?