-
Notifications
You must be signed in to change notification settings - Fork 30
add OpenVR controller models for Oculus Touch #4
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
Conversation
once aframevr/assets#4 is merged
dmarcos
left a comment
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.
What's external_controller01col.png?
Can we rename the files to oculus-touch-controller-right and oculus-touch-controller-left?
|
those are the original OpenVR names, I did not want to change them for clarity |
|
the PNG file seems to be a texture file that is referenced when you load the obj and mtl files, but not sure how/if it is really used. if someone with more modeling expertise can take a look at the latest OpenVR files, that may be beneficial... |
|
I think it's fine changing the file names. Have you tried those models with your oculus touch aframevr/aframe#2132? |
|
yes I did try the models. they work as well as the original @tbalouet page although it's just the controller model, no dynamic buttons etc. (which was known to be broken in the original page anyway) |
|
Thanks! |
once aframevr/assets#4 is merged
…imations/poses change processAnimation() to animate() and simplify flow, and remove superfluous comment, per discussion on aframevr#2132 system button never seen/sent; move menu button mapping per discussion on aframevr#2132 change member idPrefix to const (and also model URLs) per discussion on aframevr#2132 move model selection into addModel per discussion on aframevr#2132 refactor to use utils function isControllerPresent per discussion on aframevr#2132 emit hand events like original version did original vive-specific events used gripclose/open, not gripup/down remove tracked-controls dependency, since that can apparently cause blank tracked-controls which won't work; synthesize fake touch events for Oculus Touch trigger and grip, since current browser builds appear to have them stuck touched; make hand-controls process and use trigger and grip touches refactor systems/tracked-controls so rebuildControllerList() is available outside tick; explicitly rebuildControllerList if none in isControllerPresent() to avoid race where gamepadconnected event triggers isControllerPresent() before tick rebuilds list add support for Vive touchpad touchstart/end remove enumerateControllers and change enumerateGamepads to getGamepadsByPrefix per discussion on aframevr#2132 remove obsoleted lines per discussion on aframevr#2132 use models from a-frame cdn once aframevr/assets#4 is merged remove obsoleted comment various code cleanup as requested per discussion on aframevr#2132 one more bit of cleanup per discussion on aframevr#2132 another round of code cleanup per discussion on aframevr#2132 accommodate renaming in aframevr/assets@66314f8 additional code cleanup per discussion on aframevr#2132 clean up animation usage remove oculus-touch namespace prefix from Oculus Touch-specific buttons/events refactor into gestures with animation and legacy event mappings, and some cleanup per discussion on aframevr#2132 for capacitive tracking, don't use menu button label, use B-or-Y, since at some point we will hopefully get access to the true menu buttons explicitly listen for A, B, X and Y touch events separately (gesture handling still uses AorX and BorY internally) remove A-or-X and B-or-Y event mapping move persisting gesture and change detection into handleButton; animateGesture and emitGestureEvents are now explicitly passed arguments minor code cleanup per discussion on aframevr#2132 one-liner cleanup code cleanup as per discussion on aframevr#2132 code cleanup and fake touch simplification whitespace cleanup
…imations/poses change processAnimation() to animate() and simplify flow, and remove superfluous comment, per discussion on aframevr#2132 system button never seen/sent; move menu button mapping per discussion on aframevr#2132 change member idPrefix to const (and also model URLs) per discussion on aframevr#2132 move model selection into addModel per discussion on aframevr#2132 refactor to use utils function isControllerPresent per discussion on aframevr#2132 emit hand events like original version did original vive-specific events used gripclose/open, not gripup/down remove tracked-controls dependency, since that can apparently cause blank tracked-controls which won't work; synthesize fake touch events for Oculus Touch trigger and grip, since current browser builds appear to have them stuck touched; make hand-controls process and use trigger and grip touches refactor systems/tracked-controls so rebuildControllerList() is available outside tick; explicitly rebuildControllerList if none in isControllerPresent() to avoid race where gamepadconnected event triggers isControllerPresent() before tick rebuilds list add support for Vive touchpad touchstart/end remove enumerateControllers and change enumerateGamepads to getGamepadsByPrefix per discussion on aframevr#2132 remove obsoleted lines per discussion on aframevr#2132 use models from a-frame cdn once aframevr/assets#4 is merged remove obsoleted comment various code cleanup as requested per discussion on aframevr#2132 one more bit of cleanup per discussion on aframevr#2132 another round of code cleanup per discussion on aframevr#2132 accommodate renaming in aframevr/assets@66314f8 additional code cleanup per discussion on aframevr#2132 clean up animation usage remove oculus-touch namespace prefix from Oculus Touch-specific buttons/events refactor into gestures with animation and legacy event mappings, and some cleanup per discussion on aframevr#2132 for capacitive tracking, don't use menu button label, use B-or-Y, since at some point we will hopefully get access to the true menu buttons explicitly listen for A, B, X and Y touch events separately (gesture handling still uses AorX and BorY internally) remove A-or-X and B-or-Y event mapping move persisting gesture and change detection into handleButton; animateGesture and emitGestureEvents are now explicitly passed arguments minor code cleanup per discussion on aframevr#2132 one-liner cleanup code cleanup as per discussion on aframevr#2132 code cleanup and fake touch simplification whitespace cleanup
…imations/poses change processAnimation() to animate() and simplify flow, and remove superfluous comment, per discussion on aframevr#2132 system button never seen/sent; move menu button mapping per discussion on aframevr#2132 change member idPrefix to const (and also model URLs) per discussion on aframevr#2132 move model selection into addModel per discussion on aframevr#2132 refactor to use utils function isControllerPresent per discussion on aframevr#2132 emit hand events like original version did original vive-specific events used gripclose/open, not gripup/down remove tracked-controls dependency, since that can apparently cause blank tracked-controls which won't work; synthesize fake touch events for Oculus Touch trigger and grip, since current browser builds appear to have them stuck touched; make hand-controls process and use trigger and grip touches refactor systems/tracked-controls so rebuildControllerList() is available outside tick; explicitly rebuildControllerList if none in isControllerPresent() to avoid race where gamepadconnected event triggers isControllerPresent() before tick rebuilds list add support for Vive touchpad touchstart/end remove enumerateControllers and change enumerateGamepads to getGamepadsByPrefix per discussion on aframevr#2132 remove obsoleted lines per discussion on aframevr#2132 use models from a-frame cdn once aframevr/assets#4 is merged remove obsoleted comment various code cleanup as requested per discussion on aframevr#2132 one more bit of cleanup per discussion on aframevr#2132 another round of code cleanup per discussion on aframevr#2132 accommodate renaming in aframevr/assets@66314f8 additional code cleanup per discussion on aframevr#2132 clean up animation usage remove oculus-touch namespace prefix from Oculus Touch-specific buttons/events refactor into gestures with animation and legacy event mappings, and some cleanup per discussion on aframevr#2132 for capacitive tracking, don't use menu button label, use B-or-Y, since at some point we will hopefully get access to the true menu buttons explicitly listen for A, B, X and Y touch events separately (gesture handling still uses AorX and BorY internally) remove A-or-X and B-or-Y event mapping move persisting gesture and change detection into handleButton; animateGesture and emitGestureEvents are now explicitly passed arguments minor code cleanup per discussion on aframevr#2132 one-liner cleanup code cleanup as per discussion on aframevr#2132 code cleanup and fake touch simplification whitespace cleanup
* use Oculus Touch support in Chromium builds using vive-controls and tracked-controls fixes to make Vive work as expected (including hand model rotation) fix various verification issues (whitespace, quotes, eqeqeq) first pass at hand controls refactor refactor working with Touch better explanatory comments; renamed modeled-controllers to auto-detect-controllers for clarity FIXME: need models for Oculus Touch fix lint issues that local git commit hook didn't flag automated tests fail unless tracked-controls id default is 'OpenVR Gamepad' :-/ since each hand named differently, avoid enumeration limit controller list rebuilds to roughly 1 second intervals show that multiple specification works as well as auto-detection allow multiple specification - don't inject tracked-controls if controller not in getGamepads() - don't attach listeners unless controller present - poll for presence at roughly 1 second intervals if no gamepad connection events received per discussion on #2132 remove auto-detect-controllers from core for now (it can be used as external component) per discussion on #2132 remove auto-detect-controllers from core for now (it can be used as external component) per discussion on #2132 tidy up and move enumerateGamepads into utils per further discussion on #2132 change name of Touch thumbstick events and prepare for multiple-event button mappings introduce namespaced vendor-specific events, and hand-specific mappings (since button names differ between hands) per discussion on #2132 use a common controlConfiguration object change start/stopListening to add/removeEventListeners per discussion on #2132 (review) emit event others can listen for on tick use controller list built by system tick rather than re-enumerating instead of having another tick method, listen for system tick distinguish between enumerateGamepads and enumerateControllers - enumerateGamepads interrogates gamepad API - enumerateControllers uses system tick-generated controller list loosen throttle on tick since pose updates at that frequency for consistency with vive-controls, default rotationOffset to 0; where hand rotation is necessary, do it there (e.g. hand-controls) make removeTrackedControlsTickListener accessible ignore undefined button mapping ignore undefined buttonMeshes bind this pointer for gamepad event handlers * updated to use models from @tbalouet fix regression that broke rotationOffset support surface button * use new oculus touch compatible hand models; TODO: emit events for animations/poses change processAnimation() to animate() and simplify flow, and remove superfluous comment, per discussion on #2132 system button never seen/sent; move menu button mapping per discussion on #2132 change member idPrefix to const (and also model URLs) per discussion on #2132 move model selection into addModel per discussion on #2132 refactor to use utils function isControllerPresent per discussion on #2132 emit hand events like original version did original vive-specific events used gripclose/open, not gripup/down remove tracked-controls dependency, since that can apparently cause blank tracked-controls which won't work; synthesize fake touch events for Oculus Touch trigger and grip, since current browser builds appear to have them stuck touched; make hand-controls process and use trigger and grip touches refactor systems/tracked-controls so rebuildControllerList() is available outside tick; explicitly rebuildControllerList if none in isControllerPresent() to avoid race where gamepadconnected event triggers isControllerPresent() before tick rebuilds list add support for Vive touchpad touchstart/end remove enumerateControllers and change enumerateGamepads to getGamepadsByPrefix per discussion on #2132 remove obsoleted lines per discussion on #2132 use models from a-frame cdn once aframevr/assets#4 is merged remove obsoleted comment various code cleanup as requested per discussion on #2132 one more bit of cleanup per discussion on #2132 another round of code cleanup per discussion on #2132 accommodate renaming in aframevr/assets@66314f8 additional code cleanup per discussion on #2132 clean up animation usage remove oculus-touch namespace prefix from Oculus Touch-specific buttons/events refactor into gestures with animation and legacy event mappings, and some cleanup per discussion on #2132 for capacitive tracking, don't use menu button label, use B-or-Y, since at some point we will hopefully get access to the true menu buttons explicitly listen for A, B, X and Y touch events separately (gesture handling still uses AorX and BorY internally) remove A-or-X and B-or-Y event mapping move persisting gesture and change detection into handleButton; animateGesture and emitGestureEvents are now explicitly passed arguments minor code cleanup per discussion on #2132 one-liner cleanup code cleanup as per discussion on #2132 code cleanup and fake touch simplification whitespace cleanup * disable unhooking on gamepad connected/disconnected events for now, as it is causing issues with Nightly added comment on Nightly workaround
No description provided.