Add ultimate xr
This commit is contained in:
519
Assets/UltimateXR/CHANGELOG.md
Normal file
519
Assets/UltimateXR/CHANGELOG.md
Normal file
@@ -0,0 +1,519 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to UltimateXR will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
TODO: Write update guide:
|
||||
-UxrApplyConstrainEventArgs new properties.
|
||||
-Rename CheckAndApplyLockHands() to KeepGripsInPlace()
|
||||
-Removed UxrGrabbableObject.PlaceOnAnchor
|
||||
-SDK constants moved from UxrManager to UxrConstants.
|
||||
-Component synchronization in UxrManager now uses IUxrStateSync instead of
|
||||
UxrComponent.
|
||||
-UxrComponent.TryGetComponentById now is UxrUniqueIdImplementer.TryGetComponentById().
|
||||
-UxrManager.ExecuteStateChange is now called ExecuteStateSyncEvent.
|
||||
-Avatar prefab that is set up using UxrNetworkManager inspector, now is changed
|
||||
to "Update Externally" mode so that it is instantiated using external mode by default.
|
||||
Then it will switch to local if the avatar spawned is the local avatar.
|
||||
|
||||
### Added
|
||||
|
||||
- Add native multiplayer support and connectors for various network SDKs
|
||||
(Photon Fusion, Unity NetCode, Mirror) and voice communication SDKs
|
||||
(Photon Voice, Dissonance). More connectors will be added soon.
|
||||
- Add UxrNetworkManager and UxrInstanceManager to provice sync capabilities.
|
||||
- Update SDK Manager window with new tabs for SDK types, including new multiplayer.
|
||||
- Add new GlobalSettings accessible using the Tools->UltimateXR Unity menu.
|
||||
- Add new unique ID functionality to UXR components. All components that inherit
|
||||
from UxrComponent will have a unique ID that can be used with
|
||||
UxrUniqueIdImplementer.TryGetComponentById().
|
||||
- Add new Unique ID generation tool to generate unique IDs for projects build with
|
||||
earlier versions of UltimateXR.
|
||||
- Add IUxrUniqueId, IUxrStateSync and IUxrStateSave interfaces to UxrComponent to
|
||||
facilitate multiplayer synchronization, serialization, state saves and replay
|
||||
functionality in all UltimateXR components.
|
||||
- Add UxrUniqueIdImplementer, UxrStateSaveImplementer and UxrStateSyncImplementer
|
||||
to leverage the interface implementation in custom user classes that cannot
|
||||
inherit from UxrComponent due to multiple inheritance limitation.
|
||||
- Add functionality to UxrManager to save and load the scene state using
|
||||
SaveStateChanges() and LoadStateChanges().
|
||||
- Add functionality to UxrManager to have a single point of entry to all component
|
||||
state changes that require synchronization:
|
||||
ComponentStateChanged event and ExecuteStateChange() method.
|
||||
- Add serialization/deserialization methods to all UxrComponent derived classes.
|
||||
- Add serialization/deserialization methods to all UxrSyncEventArgs.
|
||||
- Create UxrVarType to enumerate all supported var types that can be synchronized.
|
||||
- Add ToString() to all UxrSyncEventArgs to help data logging.
|
||||
- Add new property Options to UxrSyncEventArgs to tell whether the event should
|
||||
be synchronized in different environments such as networks or replays.
|
||||
- Add new BinaryWriter and BinaryReader extensions with functionality to
|
||||
serialize/deserialize Unity and UltimateXR data, as well as well-known
|
||||
C# types.
|
||||
- Add new UxrBinarySerializer with binary serialization and deserialization support.
|
||||
- Add new UxrSyncObject component to identify objects that don't have any
|
||||
UxrComponent added, so that they have a unique ID. Also to sync the Transform
|
||||
of a GameObject if it's required and no other component does it already.
|
||||
- Add new interpolators to Math namespace to interpolate different types of
|
||||
variables using optional smooth and step options.
|
||||
- Add support to solve manipulations on objects using an unlimited amount of
|
||||
grabs to support multi-user shared interaction.
|
||||
- Add support to grab grabbable parent objects through grabbable children.
|
||||
- Add support for dummy grabbable parents. Dummy grabbable parents are grabbable
|
||||
objects that can be manipulating only through the children, but still have
|
||||
position/rotation constraints.
|
||||
- Add new functionality ForceSnapPosition and ForceSnapRotation to
|
||||
UxrPlacementOptions to force snap even if the grabbable object isn't set up
|
||||
that way.
|
||||
- Add new functionality in UxrGrabManager to move grabbable objects considering
|
||||
constraints: SetLocalPositionUsingConstraints(), SetLocalRotationUsingConstraints(),
|
||||
SetLocalPositionAndRotationUsingConstraints(), SetPositionUsingConstraints(),
|
||||
SetRotationUsingConstraints() and SetPositionAndRotationUsingConstraints().
|
||||
- Add new UxrAutoSlideInObject/Anchor components to provide built-in functionality
|
||||
like how the battery in the example scene can be inserted/removed smoothly
|
||||
from the generators.
|
||||
- Add new UxrGrabbableResizable component to provide functionality to create
|
||||
objects that can be scaled by grabbing them from both sides.
|
||||
- Add new ComponentProcessorWindow editor base class to generate component
|
||||
processors that can modify from single components to the whole project.
|
||||
- Add UxrEditorUtils.ProcessAllProjectComponents() functionality to process both
|
||||
innermost and non-innermost prefab elements.
|
||||
- Add UxrEditorUtils.ModifyComponent() to perform changes to components in the
|
||||
scene or project separately processing instances, prefab variants and original
|
||||
prefabs.
|
||||
- Add automatic detection of UXR installation path.
|
||||
- Add new menus in Tools->UltimateXR.
|
||||
- Add PushTransform() and PopTransform() methods in UxrComponent to facilitate
|
||||
saving and restoring transformation info.
|
||||
- Add new parameters to UxrColorTween.AnimateBlinkAlpha to support min alpha and
|
||||
max alpha.
|
||||
- Add new PBR shader with a tinted mask. Use in cyborg avatar to color it.
|
||||
- Add new cabinet prefab to Lab in example scene to showcase grabbable parent dummies.
|
||||
- Expose properties in UxrTeleportSpawnCollider to have public access.
|
||||
|
||||
### Changed
|
||||
|
||||
- Improve manipulation workflow to a system that is more scalable, robust and
|
||||
solves the whole interaction process in different stages.
|
||||
- Separate UxrGrabManager in different files based on functionality.
|
||||
- Remove all properties from UxrApplyConstrainEventArgs leaving only GrabbableObject.
|
||||
Constraints are applied on an object level so it doesn't make sense to use grabbers,
|
||||
especially in multi-user environments.
|
||||
- Remove RequireComponent attribute from UxrGrabbableObjectComponent that forces
|
||||
a UxrGrabbableObject component on the same GameObject. GrabbableObject can be
|
||||
required or not depending on overridable property IsGrabbableObjectRequired.
|
||||
- Rename IsOwnershipChanged in UxrManipulationEventArgs to IsGrabbedStateChanged.
|
||||
- UxrGrabPointShape now gets additional grabberDistanceTransform to also use
|
||||
non-default grabber proximity transforms.
|
||||
- Change how grabbable parenting works: Set to avatar's parent when grabbing and
|
||||
to anchor's parent when removing from anchor without grabbing.
|
||||
- Move SDK constants from UxrManager to UxrConstants.
|
||||
- Move input/tracking SDK locators from UltimateXR/Editor/Sdks to
|
||||
UltimateXR/Editor/Sdks/InputTracking.
|
||||
- Add teleportation validators to UxrTeleportLocomotionBase to create custom logic
|
||||
for destination validation and cancel a teleportation.
|
||||
- Move AvatarMoving and AvatarMoved events to UxrAvatar as GlobalAvatarMoving and
|
||||
GlobalAvatarMoved static events.
|
||||
- Change Teleported event in UxrTeleportSpawnCollider to use new
|
||||
UxrTeleportSpawnUsedEventArgs parameter.
|
||||
- Change UxrComponent unique ID functionality so that IDs are generated in the
|
||||
editor instead of using unique paths in scene with ComponentExt.GetUniqueScenePath().
|
||||
- Improve avatar arm rig reference solving for hierarchies with siblings in
|
||||
the clavicle, upper arm or forearm.
|
||||
- Change GetUniqueScenePath in ComponentExt and TransformExt to make it cleaner.
|
||||
- Move AlignWindow, LookAtWindow and MirrorWindow tools to new namespace/folder in
|
||||
Editor/Utilities/TransformUtils.
|
||||
- Improve UxrEditorUtils.Prefabs functionality.
|
||||
- Improve TaskControllers documentation and functionality.
|
||||
- Improve UxrLookAt component with new axis functionality.
|
||||
- Make UxrControllerTracking's properties UpdateAvatarLeftHand/UpdateAvatarRightHand
|
||||
public instead of protected.
|
||||
- Allow UxrTeleportLocomotionBase to be disabled to ignore the component.
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fix UxrCameraPointer's ClickInput to Everything by default instead of None to avoid
|
||||
clicking each frame.
|
||||
- Fix bug in UxrPointerInputModule that prevents pointer up notifications being
|
||||
generated when the finger tip/pointer is dragged out of the UI.
|
||||
- Fix child dependent grabbable objects not being dynamic when releasing.
|
||||
- Fix bug in avatar IK where the coordinate system of clavicles/upperarm/forearm
|
||||
is inferred erroneously. Arms can look twisted.
|
||||
- Fix bug in standard avatar controller inspector when clicking Use Avatar Eyes.
|
||||
- Fix bug in UxrManager to avoid pre-caching multiple times when client network
|
||||
avatars are instantiated.
|
||||
- Fix bug in UxrManager where aync versions of teleport cause an await() to wait
|
||||
indefinitely when overlapping more than one teleport at the same time.
|
||||
- Fix bug in UxrTeleportSpawnCollider that throws null reference exceptions when
|
||||
Transform references are not set. When references are null, the Transform of the
|
||||
GameObject where the UxrTeleportSpawnCollider is added should be used instead.
|
||||
- Fix UxrEditorUtils.ProcessAllProjectComponents() not processing all components
|
||||
correctly.
|
||||
- Fix UxrEditorUtils.GetInnermostNon3DModelPrefabRoot() not working on all
|
||||
prefab/instance hierarchies correctly.
|
||||
- Fix UxrEditorUtils.GetInnermostNon3DModelPrefabRoot() to handle 3D model prefabs
|
||||
correctly.
|
||||
- Fix UxrUnityXRControllerInput when controllers have touchpads.
|
||||
- Fix warnings in example scene when loading ShotgunPump01.mp3 and ShotgunPump02.mp3
|
||||
- Fix missing EditorGUI.EndProperty() in UxrAxisPropertyDrawer.
|
||||
- Move UxrLaserPointerTargetTypes to correct namespace UltimateXR.UI instead of
|
||||
root UltimateXR namespace.
|
||||
- Fix UxrGrabPointShapeAxisAngle to compute center of grab correctly using snap point
|
||||
instead of using axis center.
|
||||
- Implement missing minAngle and maxAngle functionality in UxrGrabPointShapeAxisAngle.
|
||||
- Fix HandPositionAroundPivot manipulation mode drifting when grabbable object is
|
||||
child of another grabbable object.
|
||||
- Fix preview grab poses to work on hierarchies with non-uniform scaling.
|
||||
- Fix Lock Body Pivot parameter drifting in UxrStandardAvatarController.
|
||||
|
||||
## [0.9.7] - 2024-01-10
|
||||
|
||||
### Added
|
||||
|
||||
- Add support for Meta Quest 3.
|
||||
- Add support for Magic Leap 2.
|
||||
- Add support for Virtual Desktop controller naming.
|
||||
- Add support for Unity UI input on the screen and UltimateXR UI input in VR at
|
||||
the same time.
|
||||
- Add new functionality DontRelease to UxrPlacementOptions that keeps the object
|
||||
grabbed when UxrManager.Instance.PlaceObject() is called.
|
||||
- Add MinSingleRotationDegrees/MaxSingleRotationDegrees to UxrGrabbableObject when
|
||||
constrained to a single degree of freedom.
|
||||
- Add new symbol ULTIMATEXR_UNITY_XR_OCULUS when Unity.XR.Oculus is available.
|
||||
- Add joystick deadzone filtering in SteamVR.
|
||||
- Add support for position/rotation smoothing in all controller tracking components.
|
||||
- Add new UxrLinearPath spline type for linear interpolation in paths.
|
||||
|
||||
### Changed
|
||||
|
||||
- Improve teleportation raycasts to discard avatar colliders and grabbed objects.
|
||||
- Improve teleportation to handle avatars with roll/pitch.
|
||||
- Improve Body IK to handle avatars with roll/pitch. Improved precision by
|
||||
performing computations in local avatar space.
|
||||
- Rename UxrPlacementType to UxrPlacementOptions.
|
||||
- Improve support for HandPositionAroundPivot manipulation mode.
|
||||
- Disable UxrInputModule component parameter "Disable Other Input Modules" by default
|
||||
instead of being enabled.
|
||||
- Remove deprecated references to CommonUsages.thumbrest and CommonUsages.thumbTouch
|
||||
in UxrUnityXRControllerInput.cs and use OculusUsages.thumbrest and
|
||||
OculusUsages.thumbTouch instead if available. Add support for OculusUsages.indexTouch.
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fix UxrLaserPointer hit quad position using controller forward.
|
||||
- Fix Pico controllers not working after using home button.
|
||||
- Fix Valve Index controllers' forward vectors.
|
||||
- Fix laser pointers not working correctly when mixing UI with 2D/3D objects.
|
||||
- Fix bug in UI module where finger tips and laser pointers cannot interact with
|
||||
multiple canvases when close to each other.
|
||||
- Fix null reference exception in manipulation system when placing constrained objects
|
||||
on anchors and grabbing them again.
|
||||
- Fix bug in UxrGrabManager that prevents GrabToggle manipulation mode to place
|
||||
objects on anchors.
|
||||
- Fix UxrGrabbableObject manipulation not working correctly when grab points are moved
|
||||
around during grabbing, for example when applying constraints.
|
||||
- Fix bug in UxrGrabbableObject.SetGrabPointEnabled not working correctly.
|
||||
- Fix UxrGrabPointShapes not computing center of grab correctly in some cases.
|
||||
- Fix scaling on root avatar GameObject not working correctly with Body/Arm IK.
|
||||
- Fix the following global input events in UxrControllerInput not being called:
|
||||
GlobalButtonStateChanged, GlobalInput1DChanged, GlobalInput2DChanged.
|
||||
- Fix UxrUnityXRControllerInput components not getting haptic capabilities correctly.
|
||||
- Fix warnings in example scene when loading ShotgunPump01.mp3 and ShotgunPump02.mp3
|
||||
|
||||
### Removed
|
||||
|
||||
- Remove deprecated references to CommonUsages.thumbrest and CommonUsages.thumbTouch
|
||||
in UxrUnityXRControllerInput.cs and use OculusUsages.thumbrest and
|
||||
OculusUsages.thumbTouch instead if available.
|
||||
|
||||
## [0.9.6] - 2023-01-18
|
||||
|
||||
### Added
|
||||
|
||||
- Add SteamVR support for Rift/Rift-S/Quest/Quest2 headsets and controllers.
|
||||
- Add selective 2D/3D/UI GameObject interaction to UxrLaserPointer.
|
||||
- Add PrecachingStarting and PrecachingFinished events to UxrManager.
|
||||
- Add new exposed parameters to UxrLaserPointer for scripting.
|
||||
- Add new exposed parameters to UxrPointerEventData for scripting.
|
||||
- Add LocalStandardAvatarController property to UxrAvatar for quick access.
|
||||
|
||||
### Changed
|
||||
|
||||
- Improve UxrLaserPointer inspector.
|
||||
- Improve UxrPointerInputModule event handling.
|
||||
- Make UxrControllerInput::GetIgnoreControllerInput() and SetIgnoreControllerInput()
|
||||
static so that they can be called at any point whether the controllers are active or not.
|
||||
- Change some common operations to favor execution time:
|
||||
[#12](https://github.com/VRMADA/ultimatexr-unity/pull/12).
|
||||
- Make grab preview poses no longer shown by default during play mode in the editor.
|
||||
Preview GameObjects are initially deactivated.
|
||||
- Improve hand pose editor load/save dialog boxes by caching the last load and save
|
||||
folders separately.
|
||||
- Change .meta files in Examples\FullScene\Settings\URP so that the IDs don't collide
|
||||
with the default URP project IDs.
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fix Transform.SetLocalPositionAndRotation when not available through new Unity API.
|
||||
- Fix UxrLaserPointer to not send UI events when laser is disabled.
|
||||
- Fix uninitialized hand pose when hand tracking is supported but not available.
|
||||
- Fix grabbable object position constraint not working correctly when grabbed using
|
||||
both hands.
|
||||
- Fix UxrGrabbableInspector not storing correctly new grab point parameters right
|
||||
after it has been created.
|
||||
- Fix Grab Toggle mode in UxrGrabbableObject not keeping the pose during the grab.
|
||||
- Fix "Enable When Hand Near" parameter in UxrGrabbableObject being enabled incorrectly
|
||||
sometimes when another grabbed object was in closer range.
|
||||
- Fix hand grab pose incorrectly changing when moving within the range of a grabbable
|
||||
object enabled by a non-default grab button.
|
||||
- Fix bug in hand pose editor that prevents to load external pose files when using
|
||||
UltimateXR in package installation mode.
|
||||
- Fix bug in hand pose editor where the "Add all poses from folder" loads all hand
|
||||
pose presets instead.
|
||||
- Fix UxrGrabManager's GrabObject, PlaceObject, ReleaseObject direct methods calls not
|
||||
updating the avatar's grab pose.
|
||||
- Fix global events in UxrControllerInput that should be static but are not:
|
||||
GlobalButtonStateChanged, GlobalInput1DChanged, GlobalInput2DChanged,
|
||||
GlobalHapticRequesting.
|
||||
- Fix UxrAvatar Reset to make it override.
|
||||
- Fix UxrAvatar.LaserPointers to return correct laser pointers instead of finger tips.
|
||||
- Fix avatar parent prefab not being stored correctly when inside a nested prefab.
|
||||
- Fix UxrGrenadeWeapon pin so that the timer cannot be reset by quickly releasing
|
||||
and grabbing the pin again.
|
||||
- Fix UxrSteamControllerInput so that OnDeviceConnected is called only once.
|
||||
|
||||
## [0.9.5] - 2022-11-12
|
||||
|
||||
### Added
|
||||
|
||||
- Improve automatic avatar rig bone reference solving.
|
||||
- Improve automatic generation of body IK setup in avatar automatic setup.
|
||||
- Add UxrWristTorsionIKSolver component when torsion bones are found in avatar.
|
||||
- Improve UxrStandardAvatarController inspector when IK is selected but rig has no nodes.
|
||||
- Add TrackedHandPose to UxrControllerInputCapabilities enum and applied to Valve Index.
|
||||
- Add public method SolveBodyIK() to still use body IK when AvatarMode is UpdateExternally.
|
||||
- Add support to isolate the hand part of the mesh in the hand preview poses if the hands
|
||||
are in the same mesh as the body.
|
||||
|
||||
### Changed
|
||||
|
||||
- Set avatar rig type to full/half body when body bones are found in the avatar rig.
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fix UxrWristTorsionInfo, UxrWristTorsionIKSolver and UxrAvatarArmInfo to generate
|
||||
correct data on all avatar rig coordinate systems.
|
||||
- Fix components that don't override Reset() or OnValidate().
|
||||
- Fix body IK when no neck bone is present.
|
||||
- Fix Valve Index controllers not sending UI input events when adopting a hand pose
|
||||
with the middle finger curled.
|
||||
- Fix bug in avatar finger bone reference solving if the finger has already data.
|
||||
|
||||
## [0.9.4] - 2022-10-29
|
||||
|
||||
### Added
|
||||
|
||||
- Add IUxrGrabbableModifier interface to create components that control certain parts
|
||||
of an UxrGrabbableObject. The UxrGrabbableObject inspector automatically disables the
|
||||
controlled UI sections and has also capability to show/hide the controlled parameters.
|
||||
The goal is to provide a scalable way to extend grabbable functionality by adding
|
||||
modifier components to the object.
|
||||
- Add Reset() and OnValidate() to the overridable Unity methods in UxrComponent.
|
||||
- Add ConstraintsFinished to UxrGrabbableObject to create logic after custom constraints
|
||||
have been applied.
|
||||
- Add constants to UxrGrabbableObjectEditor for UxrGrabbableObject field names.
|
||||
- Add "Any" variations to GetButtonsPress/GetButtonsTouch when multiple buttons are
|
||||
specified so that any button in the set is enough to meet the criteria instead of all.
|
||||
- Add EnumExt for Enum extensions.
|
||||
- Add static events to UxrControllerInput to receive events whenever any controller
|
||||
sends input data.
|
||||
|
||||
### Changed
|
||||
|
||||
- Change UxrApplyConstraintsEventArgs to contain the UxrGrabber instead of UxrGrabbableObject.
|
||||
The UxrGrabbableObject can still be accessed using the GrabbedObject property from
|
||||
the grabber.
|
||||
- Use ConstraintsFinished in UxrManipulationHapticFeedback in order to process object
|
||||
after custom constraints have been applied.
|
||||
- Rename UxrLocomotionTeleportBaseEditor to UxrTeleportLocomotionBaseEditor.
|
||||
- Update example scene prefabs so that they show the cyborg grab poses by default.
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fix support for PicoXR controller detection on newer versions of the PicoXR Unity SDK.
|
||||
- Remove Universal Additional Camera Data scripts added incorrectly to BRP avatar variants.
|
||||
Affected avatars are SmallHandsAvatar_BRP, BigHandsAvatar_BRP and CyborgAvatar_BRP.
|
||||
- Fix joystick directional buttons (left/right/up/down) when getting ignored input.
|
||||
- Fix bug in UxrGrabbableObjectEditor that under some circumstances throws exceptions
|
||||
when previewing grab poses.
|
||||
- Fix UxrGrabbableObject constrained rotation on a single axis not working correctly when
|
||||
parent has different axes.
|
||||
- Fix UxrTeleportSpawnCollider not raising Teleported event.
|
||||
|
||||
## [0.9.3] - 2022-10-24
|
||||
|
||||
### Added
|
||||
|
||||
- Add support to use UltimateXR through Unity Package Manager using git URL.
|
||||
|
||||
### Changed
|
||||
|
||||
- Change folder structure to adapt to the Unity Package Manager layout:
|
||||
https://docs.unity3d.com/Manual/cus-layout.html
|
||||
|
||||
## [0.9.2] - 2022-10-18
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fix UxrGrabbableObject editor methods that caused compiler errors when creating a build.
|
||||
- Fix UxrGrabbableObject startup so that component can be added to an object at runtime.
|
||||
|
||||
## [0.9.1] - 2022-10-13
|
||||
|
||||
### Changed
|
||||
|
||||
- Improve some UxrGrabbableObject parameter tooltips.
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fix GameObjectExt.GetBounds and GetLocalBounds exceptions when no renderers are found.
|
||||
- Fix GameObjectExt.GetBounds not computing value correctly.
|
||||
|
||||
## [0.9.0] - 2022-10-13
|
||||
|
||||
### Added
|
||||
|
||||
- Add new UxrGrabbableObject constraints functionality with improved manipulation.
|
||||
- Add UxrGrabbableObject gizmos to visualize rotation/translation constraints.
|
||||
- Add new UxrGrabbableObject rotation/translation constraint modes.
|
||||
- Add support to UxrGrabbableObject for rotation constraints on all 3 axes.
|
||||
- Add support to UxrGrabbableObject for a single rotation constraint over 360 degrees.
|
||||
- Improve manipulation behavior when grabbing objects to detect the grip and know which part
|
||||
of the hand creates more leverage.
|
||||
- Add possibility to parent to destination in locomotion components: UxrTeleportLocomotion and
|
||||
UxrSmoothLocomotion.
|
||||
- Add new teleport methods to UxrManager to teleport relative to moving objects.
|
||||
- Add new functionality to GameObjectExt to compute bounds recursively.
|
||||
- Add new functionality to MeshExt to compute skinned mesh vertices and bone influences.
|
||||
- Add new misc functionality to FloatExt, IntExt, Vector3Ext, Vector3IntExt and TransformExt.
|
||||
- Add new data to UxrAvatarRigInfo.
|
||||
- Add versioning to avatar rig info serialization and automatic updating.
|
||||
- Add IUxrLogger interface to unify logging in managers.
|
||||
- Add logging to UxrWeaponManager.
|
||||
- Add new properties to UxrComponent with initial Transform data.
|
||||
- Add new UxrAxis properties and functionality.
|
||||
- Add possibility to access avatar grabbers at edit-time.
|
||||
|
||||
### Changed
|
||||
|
||||
- Improve all UxrGrabbableObject and hand grab/release/constrain transitions.
|
||||
- Move UxrGrabbableObject constraints to the top of the inspector.
|
||||
- Replace GrabAndMove/RotateAroundAxis manipulation modes by new constraint system.
|
||||
- Change UxrGrabbableObject rotation and translation constraints reference.
|
||||
Rotations are performed around the grabbable object local axes.
|
||||
Translations are performed along the initial grabbable object local axes.
|
||||
- Improve UxrAvatarRig reference solving.
|
||||
|
||||
### Removed
|
||||
|
||||
- Remove parent reference to UxrGrabbableObject rotation/translation constraints.
|
||||
- Remove UxrManipulationMode. New constraint system and UxrRotationProvider is used instead.
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fix manipulation not working correctly on moving platforms.
|
||||
- Fix incorrect manipulation release on objects with non-default grab button(s).
|
||||
- Fix UxrGrabbableObject release multipliers not working correctly with values less than 1.
|
||||
- Fix UxrGrabbableObject Constrain events not being called in some cases.
|
||||
- Fix UxrAvatarEditor throwing exception when using Fix button to save prefab variant.
|
||||
- Fix UxrCameraWallFade throwing exception when there are no avatars.
|
||||
- Fix constrained rotations not being able to go over 180 degrees.
|
||||
- Fix pre-caching triggered by non-local avatars. Only local avatar triggers pre-caching now.
|
||||
- Fix locomotion components detecting avatar or grabbed objects as obstacles.
|
||||
- Fix locomotion not working correctly on moving platforms.
|
||||
- Fix UxrWeaponManager not tracking actors correctly.
|
||||
- Fix UxrMagnifyingGlassUrp error when not using URP.
|
||||
- Fix CyborgAvatar_URP base to use index controllers correctly.
|
||||
- Fix some CyborgAvatar_BRP base materials that are using the URP variants.
|
||||
|
||||
## [0.8.4] - 2022-08-05
|
||||
|
||||
### Added
|
||||
|
||||
- Add new ULTIMATEXR_UNITY_TMPRO symbol when TextMeshPro is available.
|
||||
- Add support to UxrTextContentTween for TextMeshPro text components.
|
||||
|
||||
### Changed
|
||||
|
||||
- UxrTextContentTween.Animate() now uses a GameObject as target parameter so that
|
||||
either a Unity UI Text component or a TextMeshPro text component can be animated.
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fix UxrInterpolator.InterpolateText() use of rich text color tag.
|
||||
- Fix UxrAvatar to avoid infinite loops when enumerating the avatar prefab chain.
|
||||
- Fix UxrAvatarRigInfo.GetWorldElbowAxis() for left side when T-pose is found.
|
||||
- Fix UxrAvatarRig.ClearRigElements() to clear missing references.
|
||||
- Fix missing ULTIMATEXR_UNITY_URP in UxrMagnifyingGlassUrp to avoid URP hard requirement.
|
||||
|
||||
## [0.8.3] - 2022-08-01
|
||||
|
||||
### Added
|
||||
|
||||
- Add editor tooltips to UxrTeleportLocomotionBase and UxrTeleportLocomotion.
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fix UxrLaserPointerRaycaster bug that prevented using laser pointers as UI input.
|
||||
- Fix LaserDot.shader so that it works in stereo VR.
|
||||
|
||||
## [0.8.2] - 2022-07-21
|
||||
|
||||
### Added
|
||||
|
||||
- Add support for rotational constraints on more than one axis.
|
||||
- Add access to the grabbable object on UxrApplyConstraintsEventArgs.
|
||||
|
||||
### Fixed
|
||||
|
||||
- Remove built-in compatibility in hand shader to fix shader errors when building.
|
||||
Compatibility will be added again as soon as Unity issue is fixed.
|
||||
Issue status can be followed here: https://github.com/VRMADA/ultimatexr-unity/issues/2
|
||||
- Fix grabbable objects being manipulated on movable platforms.
|
||||
- Fix UxrManipulationHapticFeedback component sending feedback incorrectly on movable platforms.
|
||||
|
||||
## [0.8.1] - 2022-07-11
|
||||
|
||||
### Changed
|
||||
|
||||
- Use ULTIMATEXR_USE_PICOXR_SDK instead of UXR_USE_PICOXR_SDK for consistency.
|
||||
|
||||
### Fixed
|
||||
|
||||
- Add new ControllerNames device names to UxrHtcViveInput to correctly detect HTC Vive controllers.
|
||||
- Add new ControllerNames device names to UxrValveIndexInput to correctly detect Knuckles controllers.
|
||||
- Add new ULTIMATEXR_UNITY_URP symbol to avoid compiler errors when Unity's URP package is not installed.
|
||||
|
||||
## [0.8.0] - 2022-07-06
|
||||
|
||||
### Added
|
||||
|
||||
- First public release!
|
||||
|
||||
[Unreleased]: https://github.com/VRMADA/ultimatexr-unity/compare/v0.9.7...HEAD
|
||||
[0.9.7]: https://github.com/VRMADA/ultimatexr-unity/releases/tag/v0.9.7
|
||||
[0.9.6]: https://github.com/VRMADA/ultimatexr-unity/releases/tag/v0.9.6
|
||||
[0.9.5]: https://github.com/VRMADA/ultimatexr-unity/releases/tag/v0.9.5
|
||||
[0.9.4]: https://github.com/VRMADA/ultimatexr-unity/releases/tag/v0.9.4
|
||||
[0.9.3]: https://github.com/VRMADA/ultimatexr-unity/releases/tag/v0.9.3
|
||||
[0.9.2]: https://github.com/VRMADA/ultimatexr-unity/releases/tag/v0.9.2
|
||||
[0.9.1]: https://github.com/VRMADA/ultimatexr-unity/releases/tag/v0.9.1
|
||||
[0.9.0]: https://github.com/VRMADA/ultimatexr-unity/releases/tag/v0.9.0
|
||||
[0.8.4]: https://github.com/VRMADA/ultimatexr-unity/releases/tag/v0.8.4
|
||||
[0.8.3]: https://github.com/VRMADA/ultimatexr-unity/releases/tag/v0.8.3
|
||||
[0.8.2]: https://github.com/VRMADA/ultimatexr-unity/releases/tag/v0.8.2
|
||||
[0.8.1]: https://github.com/VRMADA/ultimatexr-unity/releases/tag/v0.8.1
|
||||
[0.8.0]: https://github.com/VRMADA/ultimatexr-unity/releases/tag/v0.8.0
|
||||
Reference in New Issue
Block a user