Car parts swithing like NFS Underground

Hello guys,

I have a specific question. I would like to ask how to make tuning system based on swithing bodykit parts.

Example: You have a car and it has factory bodykit (front bumper, side skirt, rear bumper, spoiler, etc.) and you would like to switch those parts

Do you have any idea how to make in-game logic of this and how to correctly prepare car model in Blender?

Thanks guys.

Make a data asset for each part that contains it’s information

  • static mesh
  • attachment point (most likely a bone socket)
  • internal parameters that can change the car
    a) drag coefficient
    b) weight
    c) torque
    d) gear length
    e) breaking power
    f) break cooling (vented rotors)
    g) tyre grip
    h) down force
    i) shock absorber stiffness

Then based on a sum of all of the parameters of the car change the weight distribution (shift the center of gravity for the car physics), adjust the max speed, acceleration, engine heat generation etc

Put the common parameters in a master data asset object.
Then derive from it.

Not every parameter will change the handling, not every the down force etc, so write out which part can effect what area and put them into common groups. Then based on these groups make the needed data assets.

Thank you. This will be useful in future. But I need to know how to change parts of car. :slight_smile:

If your Vehicle have Modular Approach (Through Sockets and Attachments) like this-


then all you have to do is call the Static Mesh Variable and Set its Mesh through Data Asset, Or if you are Prototyping then just Swap it through this node-

here you can Set any Static Mesh either through Hard References or Soft Reference or Data Driven Model as stated by 3dRaven

1 Like

Those things which Raven mentioned (btw thanks for that Raven, I really appreciate it :slight_smile: ) are in production phase made by C++?

I’m not exactly sure what you mean by " in production phase made by C++". The parameters are pretty basic variables that could be done in either blueprints or C++. Depending on how often you intend to evaluate the whole system it will have some performance hits.

C++ can handle iterating and many calls with less overhead than blueprints so it would cause less stress on the pc during game play.

You can build a Car Pawn as a blueprint. There’s a couple of different ways you can rig this.

The first is to build a base skeleton with the locations of everything, and then hook each of the static meshes for the parts to the bones of that skeleton (as sockets)

The other is to build the structure itself as a sequence of child Static Mesh nodes which have specific offsets and orientations – essentially, coding the skeleton structure into the Pawn blueprint itself.

If you build pieces using a skeleton, and build the skeleton and the pieces in Blender, it should “just work.” If you build your own skeleton hierarchy in Unreal, then you need to carefully reconstruct that to whatever your hierarchy is in Blender to make the parts line up. Or put dummies/bones/markers in each mesh in Blender for “here’s where the child goes” and sense that in your car prep blueprint.

Thing Raven mentioned are already in Production in Engine from long time and are available in Blueprint System as well.
Here is short Tutorial to understand what data asset

after watching this you will have no Problem Understanding what Raven is Explaining in his First Post (About Meshes and their Properties like Weight, Drag, Torque, etc)

1 Like

Amazing :slight_smile:. Thank you so much guys :slight_smile: sorry for my dumb questions but I’m newbie and trying to figure how things works :slight_smile:

No Problem, Everyone have to Start from somewhere, It is essential to Pickup Best Practices from Early on to create Habit.