it is possible but not trivial, i’ll check it when I get the time.
I see an update? but not read any info about this. @lazybitgames
it’s a maintenance update but the plugin update page is problematic and I couldn’t upload the update for all versions yet. when it’s complete i’ll post the details…
v1.8.1 now available
- Enhanced input bugs fixed
- Some replication bugs fixed (read notes)
- Some minor improvements (read notes)
Warning: If you have difficulty running the example project with Unreal5 copy the FGearPlugin folder in Unreal5\Engine\Plugins to FGearExample\Plugins folder.
Notes
- When we had more than 4 enhanced input actions bindings it was possible to loose references to some of these bindings. We changed the way we store action bindings and the issue is gone.
- We used to only have 3 sample input actions for enhanced input in the sample project. Now we added input actions for all input types of the standard input. These files are under FGearAssets/Inputs folder in the sample project.
- Compression of the gear input was failing with negative numbers in replication. This was an issue when you have a sequential gearbox, this is fixed now.
- Instead of replicating the gear input, we now replicate the current gear value. This fixes the gear sync issues with sequential and manual transmissions.
- Current input struct is no longer replicated back to it’s owner. Since the input struct is updated every tick this was not an issue but we skipped an unnecessary transfer.
- There was an issue with server authoritative replication in 5.4. It seems moving a kinematic object no longer generates velocity by default. We had to activate this behavior in 5.4.
- Clutch input was skipped when you have auto-clutch. From now on if you press the clutch it will override any auto-clutch value. This way you can let the system run the clutch and override whenever you want.
- Wheels can generate inherent and extra(additional) drag forces now. The idea is to let a wheel drag in certain cases like a flat tire or when a tire is on rough terrain like mud or sand. The inherent drag is supposed to be the internal drag of a wheel and it is zero by default. The additional drag is supposed to be updated at runtime depending on some conditions. These two parameters will be summed up and used as the coefficient of the wheels drag force. As an example the effects component checks the physical material of the surface that each wheel drives on and sets the additional drag based on the roughness parameter of the physics material. In the sample project you will observe that the vehicle struggles more on the terrain. You can use Wheel.setInherentDrag & Wheel.setAdditionalDrag functions to modify these parameters. This is an experimental feature, use with caution.
Hi,
I am currently using FGear 1.6.2 on a UE 5.3 project. How can I update to the latest version?
Is there a safe way to test the impact?
first you can grab a copy of the 1.6.2 version, typically files are located under “Epic Games\UE_5.3\Engine\Plugins\Marketplace\FGearPlugin”. if things go wrong you can restore it back.
then you just need to update the plugin from the launcher(check the image a couple posts back). there might be some minor issues but overall it should be easy to update. once your project is working, you might want to check your tuning since we had some major changes in v1.7
Hi.
Thanks to you, the update went well.
I originally came to the forum to ask about a problem with the gear not going from R to 1st gear on an uphill, but the update solved the problem.
Replication is also very comfortable now with communication lag down. Thank you very much for keeping up the great updates.
By the way, one question: what should be the engine default Replication setting for FGear actors?
Should Replicate Movement be False?
How i can get the difference values from each wheels axle?
For example i want to get the difference values from rear-front wheels on mLateralSlip.
Inside FGearWheel.cpp im using mFrontW and mRearW to store values.
To detect the axle im using:
float MaxSteerAngle = mAxle->getMaxSteerAngle();
So if MaxSteerAngle > 0.0 are the front wheels, if not, rear.
Then i do: mFrontW = mLateralSlip and mRearW = mLateralSlip on each condition.
But if i try to substract or something between them got the same as original.
So, my question are:
How i can get the difference wheel values between front and rear axle? And between one or other wheel?
we disable movement replication in code so your setting is not important unless you manually re-activate it which you shouldn’t…
define “difference values”, it doesn’t mean much to me.
checking max steer value to determine if the axle is front or not is not a good idea but if all of your vehicles are regular cars with 4 wheels then it would work but even some cars have steering rear axles. you could just get the index of the axle, 0 is front, 1 is rear…
OK, Thanks
Hi, sorry for my explanation.
Due im using typical cars was enough, but yeah changed to axel numbers.
About the other question:
Let say we have 2axels, 4 wheels. In this case i talk about mLateralSlip.
On drifting, each wheel have “different values”, based on position, torque,etc…
So, for LatSlip it may show this:
0L: 6.0
0R: 4.0
1L: 2.0
1R: 1.0
My question is, how can i get the value difference between the front wheels and rear wheels?
In this particular, case, the values to return will be:
0L: 4.0
0R: 3.0
1L: 4.0
1R: 3.0
So, with this values, if needed, i can compensate if the difference goes to high to avoid certain scenarios.
It looks i can store the values in the right way, due i debug and they are fine for each axle.
But if i try to do someting like: mFrontW-mRearW, it just return the same as originals as shown in the telemetry values.
What will be the correct way/logic to achieve that? As said, inside FGearWheel.cpp.
I still do not understand what “mFrontW” stands for, is it the average lat slip of left & right wheels of the front axle?
anyway if you need to activate some sort of behavior based on this data you should do it just before or just after the wheels updates, not during the updates. so the correct spot would be in AFGearVehicle::myFixedUpdate function, right before or right after the loop of wheels updates.
Good morning everyone,
So currently I am using FGear Plugin to control my truck and it’s work well with steering system that I am using but here is the issue I don’t know how to create a widget for it so that the user can map the control on its own, its kinda confusing to simplify it, I tried using Simple Controller plugin and the issue is that Simple controller use float values to map things but FGear use Names and float values from standard input and enhance input so can anyone suggest me a better mapping option that I can use to create my widget?
I am using wheel.
Does anyone know how to create a UI Control panel for steering wheel using FGear because I am not able to get my values by using remapping function of ue5 can anyone please suggest me a way to do it please, I tried controlling with my keyboard it’s working fine and the values and assign keys are changing but it doesn’t show something like this for steering wheel
Hello @lazybitgames I want to rotate the wheels with the wheel slider widget but it doesn’t work, any blueprint reference on how to achieve this?
why wouldn’t it work?
go to FGearAssets/UI/MobileUI in sample project.
open up “ApplyInputs” macro, this is where inputs are set.
put a slider on the gui and instead of reading from the “Steering” variable, set the “Steer” input with the output of the slider. the value should be between -1(left) and 1(right).
What I mean is doing it without having the input of the vehicle, this is more to create scenarios with the vehicle as a photo mode
the above solution should work in any case.
if you disable the standard input component then you can call Vehicle.setSteering function.
addition:
I checked the level Blueprint. It looked fine and like the previous one. As FGear v1.8.1 now moved to Enhanced input I guess something is broken in this regard, my first guess is you forgot to ship one of the Input files (/Game/FGearAssets/Inputs) with the Example project.
I can now re-produce the issue:
It works fine, when using only the cursur up key. As soon as I start using the XboxOne Series Gamepad, it stops working from this very moment on, even when I use the keyboard again, it doesn’t work anymore.
Previously, with FGear <= 1.7 and UE 5 (< 5.4) the same XboxOne worked fine. So it seems there is still a bug related to Enhanced input in either FGears 1.8.1 and/or current Example project. Please have a look. Thanks.