Viewing entries in
core_asset

Core Assets 4.4.0

What's New:

VR Rig Simplification

  • The number of scripts required to construct a Leap Motion-enabled VR rig has been greatly reduced, and the required rig hierarchy has been heavily simplified. Hand data that is adjusted correctly for XR headset and device latency can now be gotten by adding a single component to the Main Camera, and the hand model pipeline has been simplified to a single manager component driving managed model components. If you are upgrading from an older project that incorporated Leap rigs from Core 4.3.4 or earlier, you can auto-upgrade these rigs by opening the scene that contains them and checking the new Leap Motion SDK window: Window->Leap Motion.

Leap SDK

  • Added the Leap Motion SDK Window, accessible via Window->Leap Motion. Use this window to scan and upgrade old (Core 4.3.4 and earlier) Leap rigs, check settings for the Interaction Engine, and adjust module preferences for the Graphic Renderer.
  • The LeapCSharp source is now provided directly in UnityModules and no longer hidden behind a managed DLL. It has received some upgrades in the process, and although it's still a little rough around the edges, it is a useful reference if you would like to construct LeapC bindings for a new language.
  • Added VectorHand, one of many potential lightweight encodings of a Leap Hand. This lossy encoding is suitable for lightweight recording and playback or network transmission.
  • Fixed a bug where hand.TimeVisible was not being set with the correct units.
  • Added the PostProcessingProvider base class, a pattern for applying your own post-processes to Leap frame data.
  • Added an example scene demonstrating a stateless and a stateful PostProcessProvider: ProjectionPostProcessProvider and InertiaPostProcessProvider.

Utilities

  • Query system: Overhauled to remove reliance on type-generic structs to support IL2CPP.
  • BitConverter no longer requires unsafe code EXCEPT when targeting IL2CPP. If you wish to compile using IL2CPP, you must allow unsafe code.
  • Added an ArrayPool data structure, used by the overhauled Query system.
  • Fixed an issue when ImplementsInterface attribute was used for ScriptableObjects.
  • Added some Runtime Gizmo drawing functions, such as DrawEllipsoid.
  • Added SigmoidUpDown as a DefaultCurve for quick AnimationCurve initialization.
  • Removed a warning when Hands.Provider returned null, since many valid scenes may simply not be set up for Leap devices.

Requirements

  • Leap Motion Orion 4.0.0
  • Oculus SDK 1.3
  • Unity 5.6.2, 2017.1-4, 2018.1
  • Windows

Compatible Modules: 

Core Assets 4.3.4

What's New:

  • Updated to support Unity 2017.3
  • Renamed IHandModel to HandModelBase
  • Improved physics interpolation in LeapServiceProvider
  • Fixed bug where graphic renderer inspector would fail when the user uses unpacked sprites.
  • Added callouts to notify users that unpacked sprites are not supported in the Graphic Renderer.
  • Added a new Pose struct to keep track of a point in space with a position and an orientation
  • Added extra operations for Query (Conversion, Repeat, Uniform, and default Sequences)
  • Added the CurveBounds attribute for AnimationCurve values
  • Added default AnimationCurve types
  • Added many Rect utilities (area, expansion, encapsulation...)
  • Added DrawPosition to the RuntimeGizmos
  • Improved ImplementsInterface attribute (now supports ScriptableObject)
  • Added cubic hermite splines (with float, Vector2, and Vector3 variants)
  • Added a swizzle class to allow you to swizzle Vector2, Vector3, and Vector4 structs
  • Added many general utility functions / fixed bugs

Requirements

  • Leap Motion Orion 3.X
  • Oculus SDK 1.3
  • Unity 5.6 or 2017
  • Windows

Compatible Modules: 

Core Assets 4.3.3

What's New:

This is a hotfix release addressing an issue with the warpingAdjustment variable, which was previously renamed to _warpingAdjustment without using the [FormerlySerializedAs] attribute. This resulted in the adjustment value reverting back to its default value, which was 60. The recommended value for PC experiences is 17, and so this introduced a 43-millisecond difference in the warping effects, causing significant swim when the user moved their head.

  • Renamed the variable, again without using the [FormerlySerializedAs] attribute. This is intentional so that any bad values that have been saved into developer's scenes get discarded and overwritten by the new good default, 17.
  • Made it so that unless _allowManualTimeAlignment is checked, the adjustment value will do NOTHING. Instead the value is driven by a constant. This is so that if we want to push out a new value for the default adjustment value in the future, we can just update the constant and all developer's scenes will be automatically updated.

Requirements

  • Leap Motion Orion 3.X
  • Oculus SDK 1.3
  • Unity 5.6+
  • Windows

Compatible Modules: 

Core Assets 4.3.1

What's New:

Unity Version

  • Upgraded Core Assets to expect Unity 2017.1.0p4, a version that patch-fixes a security vulnerability allowing arbitrary code execution. See UNITY-SEC-844. Unity 5.6 and above remain supported.

Leap Hands

  • Adjusted the default pose offset of the Leap Motion Controller from a tracked headset to be 12 cm forward (previously 10 cm) and a 5 degree tilt downward (previously 0 degrees). This change is expected to improve hand alignment for most VR devices.
  • Added a checkbox to allow manual Leap Motion Controller pose alignment on the LeapVRTemporalWarping script. Available parameters are forward offset, vertical offset, and upward/downward tilt. These settings are tied to the application, not the headset, so these settings should only be used under circumstances where the application will be run in a known headset configuration.
  • Fixed a bug where Attachment Hands could null-reference when iterating through all available attachment points.

Query (Garbageless LINQ)

  • Added Min and Max query operations for queries on collections of IComparables.
  • Added support Query()-ing 2D arrays.

Utilities

  • Added the Maybe\<T\> and Either<U, V> data structures.
  • Added the AnimationCurveUtil, providing static methods that can compress AnimationCurve objects, with a parameterized maximum error.
  • Added SerializableType, which allows you to serialize Type references.
  • Added ProgressBar, an easy way to produce progress bars for long operations in-editor.
  • Added AssetFolder, an intelligent serializable reference to a folder.

Requirements

  • Leap Motion Orion 3.X
  • Oculus SDK 1.3
  • Unity 5.6+
  • Windows

Compatible Modules: 

Core Assets 4.2.1

What's New:

This is a hotfix release to Unity Core Assets 4.2.0 to address the following:

  • Fix the Attachment Hands example scene
  • Migrate all Examples to one single Examples folder
  • Fix attachment hands prefab spam message showing in Git

Requirements

  • Leap Motion Orion 3.X
  • Oculus Rift 0.8.0+
  • Unity 5.6+
  • Windows

Compatible Modules: 

Core Assets 4.2.0

What's New:

  • Cleaner and easier-to-upgrade file organization
  • The AttachmentHands script reproduces the functionality of the Attachments Module with a more intuitive Inspector interface and Hierarchy behavior. Add it to a GameObject beneath your VR object rig to get started.
  • MultiTypedList/MultiTypedReference allow you to serialize (but not draw) data that is of multiple different types.
  • Deprecate the AutoFind attribute.
  • Added SerializableHashSet to mirror SerializableDictionary.
  • Added ReadonlyHashSet, for when you just don’t want anybody messin’ around with your HashSets.

Requirements

  • Leap Motion Orion 3.X
  • Oculus Rift 0.8.0+
  • Unity 5.6+
  • Windows

Compatible Modules: 

  • Interaction Engine 1.0.0
  • Graphic Renderer 0.1.0
  • Hands Module 2.1.2
  • UI Input Module 1.2.1 (deprecated)
  • Detection Examples 1.0.4 (deprecated)
  • Attachments Module 1.0.5 (deprecated)

Core Assets 4.1.6

What's New:

  • Hands can be given post-processes before they are rendered. 
  • Better support for 5.6 (we support 5.5 and above). 
  • Helpful Attributes like EditTimeOnly, MinValue, MaxValue added. 
  • Added a garbageless LINQ-like Query library. Import Leap.Unity.Query and call Query() on, e.g. a List or a HashSet
  • Static accessors for hands make getting hand data easier than ever. Import Leap.Unity and call Hands.Left or Hands.Right
  • Leap.Unity.Animation namespace added, featuring a simple Tween library

Requirements

  • Leap Motion Orion 3.X
  • Oculus Rift 0.8.0+
  • Unity 5.5+
  • Windows

Compatible Modules: 

Core Asset 4.1.5

What's New:

  • Enhancement: smoothed interpolation chooses optimal value automatically
  • Enhancement: Added SerializableDictionary to /DataStructures/
  • Enhancement: added MinHeap to /DataStructures/
  • Enhancement: attributes properties can be disabled by other properties
  • Fix: removed redundant pinch variables
  • Fix: improved multi-value attribute editing
  • Fix: removed "Either" from iHandModel's Chirality enum
  • Fix: compile error from RiggedHand and RiggedHandMobile
  • Upgraded LeapC - PR#437
  • Enhancement: improved AutoFind attribute
  • Fix: updated LeapCSharp.NET.3.5.dll to handle new device serial numbers
  • Fix: removed all foreach loops for performance
  • Fix: LeapVRTemporalWarping has new functionality for the Sync Mode enum. Most scenes should be set to LOW_LATENCY while AR scenes using video passthrough should be set to SYNC_WITH_HANDS
  • Fix: In LeapServiceProvider, interpolation enabling/disabling is now hidden and on by default.

Requirements

  • Leap Motion Orion 3.X
  • Oculus Rift 0.8.0+
  • Unity 5.3+
  • Windows

Compatible Modules

  • Leap Motion Interaction Engine 0.2.03
  • Attachments Module 1.0.3
  • Detection Examples 1.0.2
  • UI Input 1.2.0

Core Asset 4.1.4

What's New:

  • Handpool will no longer error if there is an empty model slot in the HandPool
  • Models spawned by with Handpool's CanDuplicate are now parented to a ModelsParent transform specified in the HandPool's inspector. If this is left empty, then spawned model's are not parented.
  • Minor modifications to support Interaction Engine
  • Refactored PinchDetector so that it has an abstract base class. This paves the way for future, similar detectors.
  • Added standard Color definitions for Detector gizmo drawing
  • Added Minimum and Maximum extended finger counts to ExtendedFingerDetector. This allows you to specify that at least a minimum and/or no more than a maximum number of fingers are extended.
  • Streamlined ExtendedFingerDetector code.
  • Changed FingerDirectionDetector to use the direction of the distal phalanges rather than the intermediate phalange.
  • Added Tag name setting to ProximityDetector that adds any objects with the specified tag to the target object list.
  • Added a Layer option to ProximityDetector, which uses the specified Layer for proximity checks rather than the target object list.
  • Runtime Gizmos!

Requirements

  • Leap Motion Orion 3.X
  • Oculus Rift 0.8.0+
  • Unity 5.3+
  • Windows

Compatible Modules

  • Leap Motion Interaction Engine 0.2.03
  • Attachments 1.0.3
  • Detection Examples 1.0.2
  • UI Input 1.1.0

Core Asset 4.1.3

  • Fix: Instantiating LMHeadMountedRig at runtime would break HandRepresentation building.
  • Fix: When a hand was removed from the scene, its model's were all returned to the HandPool. But there needed to be a check to see if there was another candidate hand active in the scene. Then, add the model to that hand instead of returning to HandPool.

Core Asset 4.1.2

Core Assets 4.1.2 release with minor changes to support Hand Module 2.0.0.

  • LeapServiceProvider gets TransformedCopy only as needed vs. with every frame request - #333
  • Added setter to Handedness field in IHandModel and child class scripts to support Hands Module 2.0.0

Core Asset 4.1.1

  • UI Input module -- scripts and scenes for:
    • A. Building Unity UIs that our hands can interact with.
    • B. Interaction at a distance -- projects a cursor toward the UI and interact with a pinch
  • Added Detector utilities to the core assets -- these build on LeapPinchDetector to aid developers in detecting when a hand is in a desired state. Includes 2 new example scenes. Detectors include:
    • Extended fingers
    • Finger and palm pointing direction
    • Pinch detector (moved from former PinchUtilites)
    • Proximity to a list of target game objects
    • A logic gate for combining detectors
  • Added LeapCSharp.NET3.5.dll, which contains the C# wrapper classes around LeapC. Removed LeapC source files.
  • Removed PinchUtilites module. Code was moved to core as a detector; examples were moved to DetectionExamples.
  • Added a Sphere mesh setting to CapsuleHand and provided lower-poly sphere objects.
  • Made it optional for a IHandModel to persist in the scene in Edit mode.
  • Fixed turning on and off graphics or physics hands in the LeapHandController.
  • Fixed bug in which old frames would be used if the head transform didn't change
  • Fixed bug that caused temporal warping to fail 1-in-5 times on Vive (hands not rotating with camera)
  • Added ToggleModelGroup() method for groups in HandPool
  • Fixed bug with group enabling and disabling in HandPool
  • Added script to detect Vive vs. Oculus and adjust camera height compared to floor - this won't be apparent in any of the Core Asset scenes since they feature only hands.

Core Asset 4.1.0

  • HandPool can now accept prefabs directly from the project as well as the current workflow of instances in the hierarchy. In this use case, hands will not be persistent in the scene views of course, and clones are instantiated into the HandPool at start.
  • HandPool's Inspector UI has been simplified. IHandModels are dragged directly into the HandPool (either from the Project or from the Hierarchy window as explained above) at Editor time vs. into the HandCollection intermediary which has been removed. Additionally, ModelLists have been hidden in the editor. They are easily revealed if needed for debugging.
  • EnforceHandedness has been removed. Chirality can be enforced by setting IHandModel's exposed enum to "Right", "Left" or relaxed with "Either".
  • Each IHandModel pair has an exposed CanDuplicate boolean. If this is checked, more than one Left or Right model can be spawned. These, extra spawned models will be restored to the HandPool when their corresponding Leap Hand stops tracking. This functionality has been added in part to support the low performance initialization used in the mobile daemon.
  • Multiple hands pairs are now supported. In the HandPool's editor UI, The ModelPool's Size value can be set to the desired number of model pairs. For example debug hands can be added to run along with the Capsule hands. Each model pair can now be enabled and disabled at runtime by calling its user assigned name. This is done using the * HandPool.EnableGroup("Group Name") and HandPool.DisableGroup("Group Name") methods. Additionally, each pair can be enabled or disabled in the editor to control whether those models appear at Start..
  • Scene View persistent model positions (defined by the poses in TestHandFactory) are now adjusted so the IHandModel transforms can and should be placed at their local origins. This way, when using multiple hands, all pairs will align in the Scene view during edit time.
  • Vive support. The example VR and AR scenes can be built for the Vive using Unity 5.4 beta and by adding SteamVR support in the Player settings. They can also be built to dual Vive/Oculus support
  • Improved Debug Hands with visible bases
  • CSharp wrapper from platform 68bc064
  • And of course multiple fixes and improvements

Core Asset 4.0.2

  • Fix: Issue #76 & #50 & #49 #33- Physics hands lag behind graphics hands if LeapImageRetriever not present
  • Relaxed hand chirality restriction which could interfere with hand initialization. Added EnforceHandedness check box to * LeapHandController component which is off by default
  • Fixed issue where hands would not scale properly when LeapHandController is scaled
  • When code compile is triggered while editor is running, the editor playback is now stopped automatically to avoid editor freezes triggerd by hot reloading
  • Fix: Issue #56 and #3 Temporal warping judder
  • Fix for Issue #67 - Playing and stopping hangs Editor if service not running.
  • Setting IsHeadMounted to True on LeapHandController's in VR scenes
  • Fix: issue: FPS Drop in LeapC w/passthrough in Robust Mode or with no hand in view
  • Removing ToUnityScaled from LeapUnityExtensions and all hand scripts
  • Many minor fixes and significant optimizations throughout