Skip to content

Conversation

@aaronfranke
Copy link
Member

@aaronfranke aaronfranke commented Dec 11, 2025

This PR updates the OMI_vehicle_* extension specifications to correspond with the changes I thought about while making 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.
  • Add glTF Object Model properties for all extensions.
  • Add more schema properties such as minimum and maximum values.
  • Lots of all-around improvements to the language and clarity of the prose such as descriptions, examples, and explanations.

The Godot implementation has been updated to be in sync with this updated specification and the Basis implementation: omigroup/omi-godot#19

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 significantly improves the OMI vehicle extension specifications by renaming properties to better represent their purpose (from current* to target*), adding support for gradual state changes through rate properties, introducing braking force for wheels, and making the linearGimbalAdjustRatio an explicit configurable property. The changes align the specification with implementation experience from the Basis VR and Godot Engine projects.

Key changes include:

  • Renamed current* properties to target* to clarify these represent desired input values rather than actual states
  • Added brakingForce, propulsionForceChangeRate, and steeringChangeRate properties to wheels for more realistic vehicle physics
  • Added forceChangeRate, gimbalChangeRate, hoverEnergyChangeRate, and linearGimbalAdjustRatio properties to thrusters for fine-tuned control
  • Enhanced schema validation with minimum/maximum constraints and better documentation
  • Added comprehensive glTF Object Model sections for runtime property manipulation

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 20 comments.

Show a summary per file
File Description
extensions/2.0/OMI_vehicle_wheel/schema/glTF.OMI_vehicle_wheel.wheel.schema.json Added braking force, rate-of-change properties, renamed force/steering properties to target*, and added schema constraints
extensions/2.0/OMI_vehicle_wheel/examples/simple_car.gltf Updated property name from maxForce to maxPropulsionForce
extensions/2.0/OMI_vehicle_wheel/README.md Updated documentation with new property descriptions, added glTF Object Model section, and updated implementation references
extensions/2.0/OMI_vehicle_thruster/schema/glTF.OMI_vehicle_thruster.thruster.schema.json Added rate-of-change and linearGimbalAdjustRatio properties, renamed to target*, added schema constraints
extensions/2.0/OMI_vehicle_thruster/README.md Reorganized property documentation, added new property descriptions, added glTF Object Model section
extensions/2.0/OMI_vehicle_hover_thruster/schema/glTF.OMI_vehicle_hover_thruster.thruster.schema.json Added rate-of-change and linearGimbalAdjustRatio properties, renamed to target*, added schema constraints
extensions/2.0/OMI_vehicle_hover_thruster/examples/hovercraft.gltf Improved node naming (abbreviated to full descriptive names) and removed empty extensions object
extensions/2.0/OMI_vehicle_hover_thruster/README.md Reorganized property documentation, added new property descriptions, added glTF Object Model section
extensions/2.0/OMI_vehicle_body/schema/node.OMI_vehicle_body.schema.json Clarified description text for maxSpeed and useThrottle properties
extensions/2.0/OMI_vehicle_body/README.md Added glTF Object Model section and updated implementation references

💡 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.

2 participants