-
Notifications
You must be signed in to change notification settings - Fork 12
Vehicles: Add braking, add change rate, rename current to target #255
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this 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 totarget*to clarify these represent desired input values rather than actual states - Added
brakingForce,propulsionForceChangeRate, andsteeringChangeRateproperties to wheels for more realistic vehicle physics - Added
forceChangeRate,gimbalChangeRate,hoverEnergyChangeRate, andlinearGimbalAdjustRatioproperties 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.
...s/2.0/OMI_vehicle_hover_thruster/schema/glTF.OMI_vehicle_hover_thruster.thruster.schema.json
Show resolved
Hide resolved
extensions/2.0/OMI_vehicle_thruster/schema/glTF.OMI_vehicle_thruster.thruster.schema.json
Outdated
Show resolved
Hide resolved
extensions/2.0/OMI_vehicle_wheel/schema/glTF.OMI_vehicle_wheel.wheel.schema.json
Show resolved
Hide resolved
cb4dee0 to
80c1fa2
Compare
80c1fa2 to
fda76b1
Compare
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:
currenttotargetto better represent these as the input values of the parts.linearGimbalAdjustRatioas an explicit property instead of leaving it as an implementation detail.The Godot implementation has been updated to be in sync with this updated specification and the Basis implementation: omigroup/omi-godot#19