Skip to content

Conversation

@keveleigh
Copy link
Contributor

@keveleigh keveleigh commented May 16, 2022

2.8.0 stabilization -> main

* suppressed warning about the Oculus Integration SDK for OpenXR enabled unity versions

* Fixed whitespace issues

* Replacing Contains + indexing with TryGetValue

* Oculus Integration csc adjustments

* Moving variables inside ifdef

* typo
@keveleigh keveleigh changed the title Pr fixes (#10576) 2.8.0 stabilization -> main May 16, 2022
jonathoncobb and others added 21 commits May 16, 2022 13:42
)

* Add synchronous CloseImmediate() functions to IProgressIndicator

Some UI in our application cannot be easily deactivated asynchronously. In particular, we determine the visibility of a child window based on if there are any active `GameObject` children.

We've added a synchronous `CloseImmediate()` function to turn the `GameObject off immediately and set the appropriate state.

* Add inheritdoc tags

* orb color setting cleanup

Co-authored-by: Victor Jia <Victor.Jia@microsoft.com>
Co-authored-by: Kurtis <kurtie@microsoft.com>
Co-authored-by: Roger Liu <roliu@microsoft.com>
* SpherePointer query optimization

The SpherePointer performs multiple queries per frame at times and with every collider returned it performs a costly GetComponent call on the collider to retrieve the NearInteractionGrabbable component.

This PR optimizes that logic by adding a LRU cache to the SpherePointer to cache the retrieved NearInteractionGrabbable component. The cache holds a user defined number of entries, and the cache is purged when the SpherePointer is destroyed.

Editor mode unit tests are implemented for the new utilities class LRUCache.

* fixing lingering namespace issues

* fixed bug where the currentGrabable wasn't cached

* fixed grablayermasktest

* Update Assets/MRTK/SDK/Features/Utilities/LRUCache.cs

Co-authored-by: Kurtis <kurtie@microsoft.com>

* Make LRUCache internal rather than public

Co-authored-by: Charles Wan <chaw@microsoft.com>
Co-authored-by: Roger Liu <roliu@microsoft.com>
Co-authored-by: Kurtis <kurtie@microsoft.com>
Previously, if the shader's maximum proximity light limit was reached, a warning would be logged and the lights discarded. I've changed this to keep all lights around on the CPU side and only send the first two valid ones to the shader. This helps with race conditions where multiple lights are added and removed in a single frame and eliminates a warning that was spamming to the log and degrading performance.

Co-authored-by: Roger Liu <roliu@microsoft.com>
* Fixing Oculus Deployment Issue, whitespace error

* fixing whitespace in the other direction

* Oculus documentation fixes
#10340)

* Perf: Don't do raycasts for the GazeProvider if it's behavior is set to off.

* Updating comments to indicate the desired way to disable the gaze provider, also included in-editor ways to more obviously do this

* Update Assets/MRTK/Core/Interfaces/InputSystem/IPointerPreferences.cs

Co-authored-by: Kurtis <kurtie@microsoft.com>

* adjusting property docs

* inspector optimization

* caching input system and gaze providers as much as possible inside FocusProvider

* additional optimizations

* Fixing null checks to pass unit tests

Co-authored-by: RogPodge <roliu@microsoft.com>
Co-authored-by: RogPodge <39840334+RogPodge@users.noreply.github.com>
Co-authored-by: Kurtis <kurtie@microsoft.com>
…ups (#10531)

* Fix PokePointer hitting arbitrary colliders when touching volumes

For packed scenes the huge ray range used for Touchable volumes, regularly hits arbitrary colliders in the scene, instead of the actual touched object. Touchable volumes will now properly calculate the penetration distance into the object. Further PokePointer ray has been adjusted to only cast through the very touchable volume.

* Improve touch events for nested touchable volumes

* Add unit tests for the touchable volume raycasting and nesting

Co-authored-by: Julian Löhr <julian.loehr@island-labs.com>
Co-authored-by: RogPodge <39840334+RogPodge@users.noreply.github.com>
* Create .editorconfig

* Remove alloc

* foreach can alloc

* Add Conditional("UNITY_EDITOR") to editor debug utilities

* Use ENABLE_WINMD_SUPPORT

* Iterating a dictionary's values allocs...

* Use yield return instead of allocating a new list every call

* Cache the if statement end result
* Fix the default to not use deprecated value

* Reserialization!

* Unity 2018 wants this

* Set thumbCollider

* Update PokePointer.cs

* Update MixedRealityPointerProfile.cs
* Keep prioritizedLayerMasks in sync

* Indent the gaze provider inspector

* Update layermasks in grab pointers

* Update serialization paths to properly sync

* Now that the profile does better syncing, only overwrite if needed

* Auto-save if a prefab changed

* Reserialize profiles
…#10315)

* Some minor reworks to use TryGetComponent in hot loops

* Update to use TryGetComponent
* null check the GameObject before accessing

* Use non-obsolete property
* Revert "Merge pull request #10033 from Proton-V/hotfix/correct-async-request"

This reverts commit cd96480.

* Update DevicePortal.cs

* Re-add ResponseUtils.cs

* Update Rest.cs

* Remove breaking change
* Adding ReorientContent() to MixedRealitySceneContent.cs Updating ToggleFeaturesPanel for Examples Hub to include reorient functionality.

* Scene Content Height Fix

* added align with head pose option to mrtk scene content, adjusted some scenes

* Updating example scenes to have proper MixedRealitySceneContent object with (0,0,0) position and set Alignment Type 'Align with head pose'

* Hub menu fix

* fixing mistaken checked in files

* remaining changes

* whitespace

* reverting unintended scene changes

* whitespace fix

* Update SurfaceMagnetismSpatialAwarenessExample.unity

* updating profile

* scene transition service now runs on quest/android

* enabled teleport system

* fixing CI complaints

Co-authored-by: RogPodge <roliu@microsoft.com>
Co-authored-by: Yoon Park <cre8ive@outlook.com>
Co-authored-by: RogPodge <39840334+RogPodge@users.noreply.github.com>
* Initial perf pass

* Update BaseHandVisualizer.cs

* Don't call Commands so many times

* More inline caching

* Return early in pointers that don't depend on OnPreSceneQuery for their interaction state

* Update HandJoint.mat

* Update hand visualizers for perf considerations

* Return correct value for TryGetJoint

* Adjust MicrosoftArticulatedHand to be robust to different InputDevice patterns

Currently, there are two InputDevices: one with interaction data and one with hand joint data. Going forward, there may only be one 👀

* Update ArticulatedHandDefinition.cs

* Update BaseHandVisualizer.cs

* Improve RiggedHandLogic for returning early

* Add braces

* Update casting pattern for readability
@keveleigh
Copy link
Contributor Author

/azp run

@keveleigh keveleigh marked this pull request as ready for review May 23, 2022 20:17
@keveleigh keveleigh requested a review from macborow as a code owner May 23, 2022 20:17
@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@keveleigh keveleigh enabled auto-merge May 23, 2022 20:17
@keveleigh keveleigh merged commit 112b98b into main May 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants