Project Goal: To import the new Talos2025
Mars Rover 3D model into the Unreal Engine simulator, fully rig it as a drivable vehicle, and troubleshoot any issues encountered during the process. The existing Hyperion2024
rover serves as a reference for the required components and final functionality.
The first step in any asset pipeline is to get the 3D model into the engine. This initial stage immediately presented our first major technical distinction.
Step 1.1: Importing the Model
The Talos2025
model was provided as a standard 3D file (e.g., FBX, OBJ). This was imported into a new Talos2025
folder in the Content Browser.
Step 1.2: The Static Mesh Problem Upon import, the rover existed in the engine as a Static Mesh.
This led to the immediate conclusion that we needed to convert the model into a Skeletal Mesh.
A Skeletal Mesh is a 3D model that is bound to an internal “skeleton” or “armature.” This skeleton is what allows for animation and the attachment of physics to individual parts, like wheels.
Step 2.1: The Idea of Reusing the Existing Skeleton
Our first idea was to save time by reusing the skeleton from the previous year’s rover, Hyperion2024_Skeleton
.
Talos2025
model and assign the Hyperion2024
skeleton during the import process. This repeatedly failed. The engine would not allow the assignment, essentially reporting that the skeleton and mesh were incompatible.Talos2025
model had no internal skeleton, so there were no bone names to match. This was a critical roadblock that invalidated the reuse approach.Since we could not reuse the old skeleton, we had to create a new one from scratch for the Talos2025
model directly within Unreal Engine.
Step 3.1: Converting to a Skeletal Mesh
First, we converted the MarsRover2025
Static Mesh into a Skeletal Mesh asset. This created the asset but with only a single “root” bone.
Step 3.2: Creating and Positioning the Bones Using the Skeletal Mesh Editor’s skeleton editing tools, we manually added a new bone for every moving part of the rover. This included:
Each bone was carefully positioned at the exact pivot point of the part it was meant to control (e.g., the center of the wheel hub for wheel bones).
Step 3.3: Skinning the Mesh (Assigning Weights) After creating the bones, we faced our next challenge. The bones were present but had no connection to the visual mesh. This is the skinning or weight-painting process.
LeftFrontWheel
).At the end of this stage, we had a complete, fully rigged MarsRover2025
Skeletal Mesh with its own unique skeleton.
A rigged mesh still doesn’t know how to collide with the world. That is the job of the Physics Asset.
Step 4.1: Asset Creation
We right-clicked our new MarsRover2025
Skeletal Mesh and chose Create -> Physics Asset -> Create and Assign
.
Step 4.2: Configuring Collision Bodies The Physics Asset Editor allowed us to create simplified collision shapes and attach them to the bones of our new skeleton.
Box
shape was created and scaled to cover the main body, attached to the root bone.Sphere
shape was created for each wheel bone and sized to match the visual wheel.Capsule
shapes were used for the suspension arms to provide more accurate collision.Step 4.3: Setting Physics Types (A Critical Step) This was another crucial point where a common mistake can be made.
Simulated
. This allows it to be affected by gravity, forces, and collisions—it’s the physical part of the rover.Kinematic
. This is vital. Kinematic bodies are driven by animation, not physics. This setting prevents the wheels from simply falling off the rover due to gravity and ensures they follow the commands of the Animation Blueprint.With all the foundational assets created, we assembled them into the final, drivable WheeledVehiclePawn
.
Step 5.1: Asset Replication
Following the Hyperion2024
example, we created the remaining necessary components in our Talos2025
folder:
BP_Talos_FrontWheel
and BP_Talos_RearWheel
blueprints (parent class: VehicleWheel
) to define the radius, width, and steering angle of our wheels.AnimBP_Talos_Rover
to visually drive the rotation of the bones. A simple Wheel Controller for WheeledVehicle
node was used to handle wheel spin.BP_Talos2025
(parent class: WheeledVehiclePawn
). Inside this blueprint, we:
MarsRover2025
Skeletal Mesh to the Mesh
component.AnimBP_Talos_Rover
to the mesh’s Anim Class
.VehicleMovement
component, we configured the Wheel Setup
, creating an entry for each of the six wheels and carefully typing in the matching Bone Name from our custom skeleton.The final step was to place the BP_Talos2025
in the level and test it. This revealed the final set of challenges.
Collision Presets
on the Mesh
component inside the BP_Talos2025
blueprint were incorrect. For a vehicle to interact with the world, its collision must be enabled and set to the Vehicle
preset.WheeledVehiclePawn
, as its physics are automatically managed by the VehicleMovementComponent
.-Y
direction. Unreal’s vehicle system is hard-coded to assume that the +X
direction is “forward.”+X
axis, “Apply” the transforms, and re-export. We then reimported the mesh in Unreal.After fixing the collision presets and the forward-axis orientation, the Talos2025
rover behaved as expected. It now correctly simulates physics, responds to player input, and is a fully functional, drivable vehicle in the simulator.