FGear Vehicle Physics (v1.4)

Thanks for the reply.

Is this a feature for next release? When can we expect it to be uploaded?

Do you plan to include those improvements in base code?

Probably just a couple of ideas for cosmetics, but turning the getters to **BlueprintPure **would be helping with better organizing BPs. Vehicle class’s components are not marked for blueprint access but you can use meta prioerties to solve this problem with privates. Example:



    UPROPERTY(VisibleDefaultsOnly, Category = "FGearVehicle", DisplayName = "Mesh", **BlueprintReadOnly, meta=(AllowPrivateAccess = "true")**)
    UFGearSkeletalMeshComponent* mMesh;


This change would potentitally deprecate some of those dummy getters. Also, controller’s rotation is not replicated to server. For instance in Character you can see they pass the 3 axes along with the rest of the movement values, and using a byte packing to minimize load. On that note, just noticed you are replicating individual values for movement, whereas a struct would probably be just as suitable for this purpose and made easier to extending on.

Additionally, many components of vehicle should not be mandatory, instead allow us to setup arbitrary vehicle configurations, eg change on the number of wheels without ‘disable’ any. It is nice to have a 4 wheeled vehicle class predefined, but that shouldn’t be the only base class i suppose. It would be easier to setup different kind of vehicles with or without wheels. In fact wheel components could be replaced with other phyiscs forces. Think of boats, bikes and so on!

Naturally. Everybody does who try networked physics. But we can take a closer look at **FPhysicsReplication::ApplyRigidBodyState() **for epic’s approximation. Tho i understand you have ran into issues with syncing, but that could be a mere version specific issue. Also it appears to gets continously updated which is quite exciting to see, they now include ping in the calculations, and by extending it further it’s possible to get a playable solution out of this.

Then i have to do it, but merging will be difficult. It would be ideal to strip the replication code in such a way that allows easy modification without refactoring big portions of the code.