Skip to content

Vehicles: Add braking, add change rate, rename current to target#19

Open
aaronfranke wants to merge 1 commit intoomigroup:mainfrom
aaronfranke:vehicle-changes
Open

Vehicles: Add braking, add change rate, rename current to target#19
aaronfranke wants to merge 1 commit intoomigroup:mainfrom
aaronfranke:vehicle-changes

Conversation

@aaronfranke
Copy link
Member

@aaronfranke aaronfranke commented Dec 11, 2025

This PR updates the Godot implementation of the OMI_vehicle_* extensions to correspond with the specification changes omigroup/gltf-extensions#255 and the Basis implementation BasisVR/Basis#442.

Specifically, here is a list of most of the changes:

  • Rename current to target to better represent these as the input values of the parts.
  • Add braking force to wheels to allow a different braking strength compared to propulsion force.
  • Rename wheel force to propulsion force to clarify this.
  • Add properties for controlling the rate of change of gimbal, rotation, force, and hover energy.
  • Add linearGimbalAdjustRatio as an explicit property instead of leaving it as an implementation detail.

This PR contains even more changes than these, but there are too many changes to list them all, or else it would take me an hour to write this description. See the "Files Changed" tab, and see also the descriptions and "Files Changed" tabs in each of those PRs for more details.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the Godot implementation of the OMI_vehicle_* extensions to align with specification changes. The main changes involve renaming properties from "current" to "target" for control inputs, adding braking support for wheels, introducing change rate properties for smooth transitions, and refactoring the gimbal and force control systems across thrusters, hover thrusters, and wheels.

Key Changes:

  • Renamed control properties from current_* to target_* with internal _current_* state tracking for smooth transitions
  • Added braking force properties and logic to wheels with dampener-based activation
  • Introduced change rate properties (*_change_per_second) for gradual force and gimbal adjustments
  • Unified input handling methods across vehicle components (set_from_vehicle_input)

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
project.godot Added main scene reference, mouse interact input, and angular dampener toggle input
examples/omi_vehicle/test/space_station/astronaut_player/camera.gd Added quit handler on ESC key press
examples/omi_vehicle/test/car_in_truck_town/walking_player/walking_player.tscn Updated UIDs and added process mode to camera holder
examples/omi_vehicle/source/hovercraft.tscn Renamed property from max_gimbal to max_gimbal_radians
examples/omi_vehicle/gltf/simple_car.gltf Renamed maxForce to maxPropulsionForce in wheel definition
examples/omi_vehicle/gltf/hovercraft/hovercraft.gltf Renamed hover thruster nodes from abbreviated names (BL/BR/FL/FR) to full names (RearLeft/RearRight/FrontLeft/FrontRight)
addons/omi_extensions/vehicle/nodes/vehicle_thruster_3d.gd Refactored to use target/current pattern, added change rates, unified gimbal and force control, renamed enabled to active
addons/omi_extensions/vehicle/nodes/vehicle_hover_thruster_3d.gd Applied same refactoring as thrusters, fixed torque calculation, added debug mesh generation
addons/omi_extensions/vehicle/nodes/piloted_vehicle_wheel_3d.gd Added braking support, change rates, unified input handling, renamed force property to propulsion force
addons/omi_extensions/vehicle/nodes/piloted_vehicle_body_3d.gd Improved upright logic, added angular dampener toggle, simplified velocity calculations, removed _keep_upright flag
addons/omi_extensions/vehicle/nodes/pilot_seat_3d.gd Renamed control scheme, added angular dampener toggle, added upright preference query
addons/omi_extensions/vehicle/gltf_vehicle_wheel.gd Updated serialization for new properties, reorganized by category
addons/omi_extensions/vehicle/gltf_vehicle_thruster.gd Updated serialization for gimbal and force changes with new property names
addons/omi_extensions/vehicle/gltf_vehicle_hover_thruster.gd Updated serialization similar to thruster with hover-specific properties

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant