The PhysX Vehicle operator converts tyVehicle helpers into PhysX vehicle rigs.
The PhysX Vehicle operator only simulates vehicles built from tyVehicle helpers - see the vehicle helper documentation for how to construct a chassis, wheels, and other parts before adding them here.
Scale %: when enabled, instances of this vehicle will be scaled by the specified amount.
Random by frequency: vehicle list entries are chosen randomly, weighted by their frequency % values.
Index from custom float value: vehicle list entries are chosen using the value of a custom float channel as an index into the list.
Save index: when enabled, the index of the vehicle list entry chosen for each spawned vehicle will be saved to the specified custom float channel.
Auto-assign helper meshes: helper stand-in meshes will only be visible if their corresponding helper object has no child objects parented to it. If a corresponding helper object has child objects, the stand-in mesh will be invisible.
Assign helper meshes: helper stand-in meshes remain visible, even if their corresponding helper object has child objects parented to it.
No helper meshes: helper stand-in meshes will never be displayed.
Center pivots: when enabled, the pivots of vehicle mesh objects will be centered before being imported into the simulation.
Clear mesh cache: forces the operator to discard and regenerate its internal cache of linked mesh geometry. Useful if source meshes have changed but the change wasn’t automatically detected.
If physical wheels or other jointed parts appear to “give” slightly under heavy load (for example, visible softness in a joint that should be rigid), increasing the solver step count is often the most effective fix, since PhysX enforces even “locked” joint axes iteratively rather than as a perfectly rigid constraint. A step count of 3-5 is usually sufficient for typical vehicles.
These checkboxes control which of each vehicle’s generated sub-parts (rigs and meshes) will be available for output and/or test conditions.
None: normal wheels have no physical presence - all collisions will be handled using the specified contact method.
Kinematic: normal wheels are represented by a kinematically-driven collider matching their analytically-computed position, allowing other dynamic objects to collide against them.
Raycast: ground contact is found using a single ray cast down the suspension travel direction.
Sweep: ground contact is found by sweeping the wheel’s own shape down the suspension travel direction, giving more accurate contact with uneven or angled ground at the cost of some performance.
This setting only affects normal wheels. Physical wheels always use fully-simulated PhysX rigid bodies and joints for their suspension, so ground contact is resolved by the general PhysX solver instead.
Suspension smoothing is a purely visual, post-simulation computation applied to normal wheels only - it does not affect vehicle handling or physics, only how quickly the wheel mesh visually travels along its suspension axis when its underlying (unsmoothed) position changes suddenly.
Normal wheel suspension isn’t a simulated spring-mass system. Each step, ground contact is found fresh via a raycast or sweep, and the wheel is placed directly at that result. This means that in some situations, wheels may snap or pop into position in order to resolve new contact collisions. Suspension smoothing exists specifically to soften that kind of sudden change, without altering the underlying physics.
Duration: the base time, in seconds, used by the smoothing algorithm. Larger values will smooth motion across more frames.
Compression mult: a multiplier on the smoothing duration used specifically when the wheel is compressing (moving toward the chassis).
Expansion mult: a multiplier on the smoothing duration used specifically when the wheel is expanding/drooping (moving away from the chassis).
Impact awareness: controls how much the compression speed cap is relaxed when the chassis itself is moving toward the wheel (a genuine impact), so a hard landing doesn’t feel artificially sluggish even with a low compression multiplier.
Enable stickyness: when enabled, wheels moving slower than the velocity threshold for longer than the time threshold will be gradually damped toward a full stop, preventing slow residual sliding/creeping.
Time threshold: how long a wheel must remain below the velocity threshold before stickyness damping begins to apply.
Velocity threshold: the wheel speed below which the stickyness timer begins counting.
Damping: the strength of the damping applied once a wheel becomes sticky.
Enable spin lock: when enabled, a wheel’s visual roll will be locked to its velocity if its drive input and actual ground speed are both below their respective thresholds, preventing wheels from visibly spinning in place while rolling. This can help to correct sliding issues introduced by the solver itself.
Drive spin threshold: spin lock will engage if the throttle on the driven wheel is causing it to spin at a rate less than this value. Increasing this value prevents tire spin slippage even if the solver wants the wheel to spin in place. Decreasing this value allows for more slippage, which may be desirable in some situations (ex: burning rubber).
Velocity threshold: spin lock will engage if the wheel’s velocity is less than this value.
Grounded wheels only: when enabled, spin lock will only be applied to wheels that are currently in contact with a collider (ie, the ground).
Inter-chassis collisions: when enabled, wheels are allowed to collide with the chassis of the same vehicle (relevant for multi-chassis rigs joined by a vehicle joint).
Inter-vehicle collisions: when enabled, wheels are allowed to collide with other vehicles simulated by this flow.
Threshold: the minimum penetration depth required before a wheel-to-object contact is registered for a non-physical wheel.
By default, non-physical wheels will attempt to resolve all collisions registered to them during the raycast/sweep test, which may result in undesirable popping artifacts if the colliding particle or object is not under the wheel. For example, if a rigidbody is above the wheel and the wheel comes into contact with it, the wheel may pop up over the rigidbody in order to resolve the collision (because non-physical wheels usually try to roll over contacts). The threshold value allows you to cull these types of collisions, by defining how far along the height of the wheel contacts must hit in order to trigger the contact resolution step. For example, a value of 0.5 means only contacts below the center of the wheel (relative to the suspension direction) will trigger collision resolution. A value of 1.0 means all contacts will trigger collision resolution. A value of 0.1 means only contacts that are registered from the bottom of the wheel, up to 10% of the wheel’s height (along the suspension direction) will register contact resolution.
Position at wheel contact point: particles are positioned at the wheel’s actual ground contact point, accounting for suspension travel.
Position at wheel max extent: particles are positioned relative to the wheel’s own position, independent of the actual contact point.
Wheel must be grounded: when enabled, skid particles are only generated for wheels that are currently in contact with the ground.
Min ground level: when enabled, skid particles will only be generated above the specified world-space height.
Intensity map channel: the mesh map channel used to store per-particle skid intensity values.
Drag skid particles are generated based on the wheel’s lateral (sideways) motion in the simulation.
Enable drag: when enabled, drag-based skid particles will be generated.
Min/Max: the range of drag/slip values mapped by the drag curve.
Slip skid particles are generated based on the over-spin of the wheel relative to its rolling direction.
Enable Slip: when enabled, slip-based skid particles will be generated.
Min/Max: the slip angle range, in degrees, mapped by the slip curve.
Projectiles are only generated when a tyVehicleTurretBarrel is fired while its vehicle is being driven interactively in manual mode.
Position offset %: an offset, as a percentage of the barrel’s length, applied to the projectile’s spawn position along the barrel.
Radius: the spawn radius of projectile particles.
Velocity: the initial speed of projectile particles, fired along the barrel’s own forward axis.
Length: the spawn length of projectile particles.
Immediate velocity integration: when enabled, the projectile’s spawn velocity will be integrated into its position immediately upon spawn, rather than waiting for the next simulation step.
Linear: the PhysX linear damping applied to the chassis rigid body. Higher values reduce movement inertia.
Angular: the PhysX angular damping applied to the chassis rigid body. Higher values reduce angular rotation inertia.
Impulse: the maximum contact impulse magnitude that can be applied to the chassis in a single step.
Angular: the maximum angular velocity of the chassis.
Exit: the maximum depenetration velocity used to resolve the chassis out of an overlapping collision.
Override vehicle settings: when enabled, the torque settings below override each vehicle’s own settings.
Drive torque: the torque applied to driven wheels under full throttle.
Brake torque: the torque applied to wheels under full braking.
Boost multiplier: the multiplier applied to drive torque while boost input is active.
Override vehicle settings: when enabled, the velocity limit settings above override each vehicle’s own settings.
Forward velocity: the maximum forward speed of the vehicle.
Reverse velocity: the maximum reverse speed of the vehicle.
Boost multiplier: the multiplier applied to the maximum forward velocity while boost input is active.
Override vehicle settings: when enabled, the throttle settings above override each vehicle’s own settings.
Response: controls how quickly throttle input ramps up to its commanded value, rather than being applied instantly. Smaller values produce a snappier response.
Boost multiplier: the multiplier applied to throttle response while boost input is active.
Override vehicle settings: when enabled, the brake response setting above overrides each vehicle’s own setting.
Brake response: controls how quickly brake input ramps up to its commanded value, rather than being applied instantly.
Override vehicle settings: when enabled, the steering settings above override each vehicle’s own settings.
Steering response: controls how quickly steering input ramps toward its commanded angle.
Steering return: controls how quickly the steering angle returns toward center once steering input is released.
Default PhysX vehicle settings are tuned to the default tyVehicle helper scale, and default PhysX gravity value. If your scene uses very different units, vehicles can behave unexpectedly (floaty handling, unstable suspension, etc) unless all relevant values are adjusted to match the alternative scale. To simplify this process, simulation scale settings can be used in order to internally adjust all relevant values together, without the need for manual tuning.
Default: disables auto-tuning of all scale-dependent parameters.
Automatic: all scale-dependent simulation parameters (excluding PhysX gravity) will be internally adjusted to match the scale of a vehicle’s chassis, relative to the default chassis scale. So if your vehicle’s chassis is 10x larger than a default vehicle chassis, scale-dependent simulation parameters will be internally multiplied by 10.
Manual: applies the specified scale factor to all scale-dependent simulation parameters.
Relative to gravity: friction is scaled relative to the flow’s PhysX gravity value, keeping traction behavior consistent even if gravity strength is changed.
Relative to simulation scale: friction is scaled relative to the simulation scale factor set above.
Vehicle index: when enabled, interactive driving inputs will target the vehicle instance with the specified index. When disabled, all vehicles will be simultaneously affected by interactive driving inputs.
Record input mode: controls which parts of a vehicle will be affected by interactive driving inputs.
Record inputs for ALL parts: all parts of affected vehicles will be affected by interactive driving inputs.
Record inputs for SELECTED parts: only the selected helpers of corresponding vehicle parts will be affected by interactive driving inputs.
By changing “Record input mode” to record inputs for selected parts only, you can specifically target parts of a vehicle for interactive input, rather than the entire vehicle. For example, if you’ve rigged up a forklift vehicle and have already recorded yourself driving it around in interactive mode, and want to adjust only the motion of its fork, you can select the tyVehicleJoint in the scene responsible for the fork’s up/down motion, and then switch the input mode to “record inputs for SELETED parts” - then when you enter interactive driving mode, only the motion of the joint will be affected by keypresses - the prior recording for all other parts of the vehicle will be retained. This allows you to re-record inputs for specific parts of a vehicle, without overwriting prior recordings for its other parts.
Follow vehicle with chase camera: when enabled, a chase camera automatically follows the vehicle currently being driven interactively, providing a dynamic 3rd-person view of the vehicle while it’s being controlled.
FOV: the field of view of the chase camera.
Tilt: the vertical tilt angle of the chase camera, relative to the vehicle.
Interpolation: controls how quickly the chase camera catches up to the vehicle’s position/orientation. Smaller values produce a camera that lags further behind.
These settings can improve interactive viewport performance while actively driving, at the cost of not seeing their effects update live. Once interactive driving is finished the simulation will need to be refreshed (either manually or automatically) in order to see the disabled elements.
Disable linked meshes: when enabled, linked mesh generation is skipped while driving interactively - only stand-in meshes for vehicle parts will be displayed.
Disable tread updates: when enabled, tread simulation is skipped while driving interactively.
Disable wheel skid: when enabled, wheel skid particle generation is skipped while driving interactively.
Auto-reset sim after drive: when enabled, the simulation automatically resets once interactive driving ends.
You can click the “assign key by key press” button next to any key setting, followed by pressing the desired keyboard key, in order to quickly re-assign keys, rather than having to manually find the desired key in the associated dropdown menu.
Load inputs: recorded throttle/steer/brake/etc input is replayed, and the vehicle is re-simulated live from those saved inputs input each time.
Load transforms: the actual recorded position/orientation of every vehicle part is replayed directly, without re-running the underlying simulation.
By loading inputs, you can tweak input-dependent parameters (like suspension, response, mass, etc) and the simulation will replay with those adjusted parameters, while maintaining the originally recorded driving inputs (leading to different simulated results). By loading transforms, input-dependent parameter changes will be ignored - the simulation will replay exactly the same way each time no matter what underlying input-dependent parameters are tweaked.
If a vehicle has cached data, it will not be affected by the PhysX Vehicle AI operator - if you’ve previously recorded inputs for a vehicle and want to switch it to be driven by AI, you must first clear its cached driving data.
Show wheel contacts: when enabled, a marker and normal line are drawn at each wheel’s ground contact point in the viewport.
Show vehicle HUD: when enabled, a text HUD is displayed in the viewport showing live status for various specified elements of each vehicle rig.