-
-
Notifications
You must be signed in to change notification settings - Fork 248
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
Ir 1652 interactable input refactor #10219
Conversation
… more with sinks and sources
…ponent, ElementList and ComponentEditors for InputComponent, wip MountPointComponent updates for input, InputSinkComponent, InputComponent collision group for raycasting
…n index out of range initialization on the saved options in the jsx
TODO - set collider type based on child entities or whether there is a mesh updates to inputcomponent node editor removing stray console.log
… per a todo from last month) adding logic to find InputComponent in ancestors from ClientInputSystem heuristic results (raycast or capturingEntity) TODO - delete lots of WIP comment notes in InputComponent
…etMergedButtons) in AvatarInputSystem and AvatarCameraInputSystem
…realEngine/etherealengine into IR-1652-interactable-input-refactor # Conflicts: # packages/client-core/src/systems/AvatarUISystem.tsx
…realEngine/etherealengine into IR-1652-interactable-input-refactor
…entInputSystem optional component grab
…realEngine/etherealengine into IR-1652-interactable-input-refactor
…asEntity reference which has the camera
# Conflicts: # packages/editor/src/functions/ComponentEditors.tsx # packages/spatial/src/input/systems/ClientInputSystem.tsx # packages/spatial/src/physics/components/ColliderComponent.tsx # packages/spatial/src/physics/systems/PhysicsSystem.ts
… for dynamically instantiated InputComponents without InputSink values)
@@ -291,7 +285,7 @@ const execute = () => { | |||
let closestDistanceSquared = Infinity | |||
|
|||
//use sourceEid if controller (one InputSource per controller), otherwise use avatar rather than InputSource-emulated-pointer | |||
const selfAvatarEntity = AvatarComponent.getSelfAvatarEntity() | |||
const selfAvatarEntity = UUIDComponent.getEntityByUUID((Engine.instance.userID + '_avatar') as EntityUUID) //would prefer a better way to do this |
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.
For a future reference, one strategy (which I think @HexaField suggested at some point), would be to inject these heuristics from higher level packages, so perhaps the world
(currently engine
) package injects the additional proximity heuristic.
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.
I would love to learn more, not sure from the description what that would look like
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.
why does this system care about the avatar? what is the early scape in the for loop doing?
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.
Because one of the heuristics for focusing non-spatial input sources on entities that can receive input is some notion of proximity to those entities (esp when not pointing w/ the mouse cursor)
* dev: (63 commits) hotfix vrm0 data not being where we expect it (#10236) Update tween.js version (#10241) Added ProjectPermissionDatabaseType physics bug fix (#10221) updated the background to use the color with when in wireframe render mode (#10231) vrm expressionmanager was being thrown away it is actually needed for viseme support to work (#10230) IR-1887-Asset-Preview-breaking-if-you-click-gltf-that-is-in-the-scene (#10208) query function fix (#10229) IR-2102 Material/Plugin Parameters (#10180) Fixed webcam light not turning off when camera paused. (#10224) Made client's server.js not bound to a specific host (#10223) Update FeathersHooks.tsx (#10228) Updated app name feat(setup): update logo and components props (#10204) Changes for feature flag schema to be string enum (#10225) Cleaned location hooks (#10216) Ir 1652 interactable input refactor (#10219) IR-2018 Refactor the Select component to disable search functionality for the dropdown only (#10206) refactor: Update Primus initialization to include pathname in server URL (#10205) Move physics enter/exit back to reactors (#10193) ... # Conflicts: # packages/editor/src/components/element/ElementList.tsx # packages/editor/src/components/properties/PostProcessingSettingsEditor.tsx # packages/engine/src/scene/SceneModule.ts # packages/spatial/src/renderer/components/PostProcessingComponent.tsx # packages/spatial/src/renderer/functions/configureEffectComposer.ts
Summary
code suggestions and file location fixes for merged branch from PR:
#10212