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
WebXR Detected Meshes API #9182
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…eferred hand widget button
if (!hasComponent(widgetMenuUI.entity, ComputedTransformComponent)) | ||
if (!hasComponent(widgetMenuUI.entity, ComputedTransformComponent)) { | ||
removeComponent(widgetMenuUI.entity, EntityTreeComponent) | ||
removeComponent(widgetMenuUI.entity, LocalTransformComponent) |
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.
Somehow breaking setComputedTransformComponent
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.
Specifically removing EntityTreeComponent
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
🤖 Generated by Copilot at aa18e22
This pull request enhances the XR functionality and UI of the engine and the client, by adding mesh detection, improving scene placement, fixing input issues, and adding a hand preference widget. It also cleans up some unused or temporary code, and fixes a network ID bug. It modifies several files in
packages/engine/src/xr
,packages/engine/src/input
,packages/engine/src/transform
,packages/engine/src/scene
, andpackages/engine/src/networking
, and adds or deletes some components and systems. It also updates thepackages/client-core
andpackages/client
packages to use SVG icons and local transforms for the UI.References
closes #insert number here
Explanation
🤖 Generated by Copilot at aa18e22
HandednessWidgetButton
component to toggle the preferred hand setting and show the hand icon and label in the widget menu (link, link, link, link, link, link, link, link, link)LocalTransformComponent
andEntityTreeComponent
for input source entities and widget menu entity to enable local positioning and entity tree relationship (link, link, link, link, link, link, link)inputComponent
withinputComponent.source
to access the gamepad properties of the input source directly (link, link)flipped
variable withXRStandardGamepadAxes
enum values to use the correct axes for the thumbstick input regardless of the handedness (link, link)deltaSeconds
factor to theyDelta
calculation to scale the scene scale target change by the time delta (link)dispatchAction
to disable the widget in thecreateAnchorWidget
function, as this is handled by theWidgetUISystem
instead (link)capture
andrelease
methods to theInputSourceComponent
to provide convenience methods for capturing and releasing both buttons and axes for an input source (link)inputSourceComponent
variable in theisAxesCaptured
method of theInputSourceComponent
to handle the case when the input source entity does not have the component (link)ReferenceSpace.origin
withReferenceSpace.localFloor
for getting the pose of the active input source, to align the widget menu with the local floor level (link)inverseWorldScale
in theupdateScenePlacement
,updateCameraFromXRViewerPose
, andXRCameraSystem
functions, to use the local position instead of the world position for the scene placement, camera transform, and view camera position (link, link, link)userID
withpeerID
in thesendOutgoingActions
function, to use the peer ID instead of the user ID for identifying the host of the network (link)mesh-detection
feature to theoptionalFeatures
array in thesetupXRSession
function, to request the mesh detection feature from the XR session (link)XRDetectedMeshComponent
andXRDetectedMeshSystem
to define a component and a system for XR detected meshes and their associated meshes and geometries (link, link)XRPlaneComponent
andXRDetectedPlanesSystem
and replace them withXRDetectedPlaneComponent
to define a component for XR detected planes and their associated meshes and geometries (link, link, link, link)onSet
methods of theTransformComponent
and theLocalTransformComponent
to indicate that the code is temporary until issue Physics system should handle creation and destruction of physics objects, not component reactors #9193 is resolved (link, link)entity
parameter totargetEntity
in thecaptureButtons
andcaptureAxes
methods of theInputSourceComponent
to clarify the meaning of the parameter (link, link)useEffect
hook in thereactor
function inXRAnchorSystem
to enable the capturing of axes and buttons for the scene placement entity, and add the capturing of buttons as well (link)XRAnchorSystemState
to make the state accessible from other modules (link)packages/engine/src/xr/XRDetectedPlanesSystem.ts
as it is no longer used (link)🤖 Generated by Copilot at aa18e22
QA Steps
List any additional steps required to QA the changes of this PR, as well as any supplemental images or videos.
Checklist