Author Topic: FingerGestures v3.1  (Read 28481 times)

Offline William Ravaine

  • Administrator
  • Regular Poster
  • *****
  • Posts: 657
  • Karma: +27/-2
    • View Profile
    • Fatal Frog Software
FingerGestures v3.1
« on: 04 December, 2013, 12:07:46 AM »
This one's been in the cooker for quite a long time!

Before upgrading, make sure you read the upgrade notes carefully (@ end of the post)!!

Release Notes

HIGHLIGHTS
- Major bug fixes and improvements (runtime exceptions, multi-tap recognition, memory leaks)
- New system to make gestures independent of the different screen pixel densitities (e.g. retina vs non-retina displays)
- New "pivot" twist gesture mode (rotate second finger around the first one)
- Added proper support for Unity 4.x (cleaned up deprecated functions)
- Added support for interacting with 2D sprites via the new Physics2D API (Unity 4.3)
- Added support for Windows 8 phone and Blackberry platforms

NEW
- The distance settings on the various gesture recognizers can now be specified in pixels, inches, or centimeters (default). By configuring your gesture settings in centimeters or inches, you can ensure it will behave the same on devices using screens with different pixel densities (DPI).
- Added several extension methods to the float and Vector2 types to help with converting distances from one type of unit to another (see documentation)
- Added a new "Pivot" mode to the Twist gesture recognizer, allowing the user to rotate a single finger around another one that remains static
- Added pivot emulation using the left Alt key + mouse
- Added new TwistPivot sample scene to demonstrate the new twist gesture "pivot" method
- ScreenRaycaster can now use Physics2D.Raycast() to pick sprite objects equipped with 2D colliders (Unity 4.3 & orthographic cameras only).
- The Win8 Phone and BlackBerry platforms will now automatically use the TouchInputProvider instead of the MouseInputProvider
- TBOrbit: added support for world-collisions via the "Collision Layer Mask" property
- TBOrbit: added flag to only allow view rotation when drag gesture started on target object
- TBDragToMove: added "Drag From Object Center" option
- TBPinchZoom: added zoom smoothing
- Added FingerDebug component that you can drop in any scene to easily visualize the active touches

FIXES
- Fixed multi-tap not registering properly on subsequent taps performed beyond the tolerance radius
- Fixed index out of bound error in FingerEventDetectors caused by changing to an input provider using more MaxFingers (e.g. when using UnityRemote)
- Fixed compilation problem caused by non-generic & generic classes sharing the same name (GestureRecognizer and GestureRecognizer<T>)
- Fixed PointCloudGestureTemplate error due to uninitialized positions and strokeIds lists
- Fixed glitch with initial pinch move delta value
- Fixed Finger.distFromStart not being reset properly
- Fixed GestureRecognizerDelegate sill being used when it's disabled
- Fixed ScreenRaycaster trying to raycast from disabled/inactive cameras
- Fixed bag logic when comparing square pixel distances after conversion from another distance unit
- Playmaker: Fixed swipe velocity and move vector variables not being set properly
- Playmaker: Fixed long press storeElapsedTime variable value not being set properly

IMPROVEMENTS
- Removed the remaining memory allocations caused by foreach() loops and delegates in several scripts. FG is now allocating 0 memory per frame again. No more garbage collection spikes for you!
- FG will attempt to find a good DPI for unknown/unsupported devices (e.g. iPad Mini 2)
- Removed warning in editor when inspector tries to set the RequiredFingerCount on PinchRecognizer & TwistRecognizer
- Added some information/hint bubbles in gesture inspectors
- Added checks and user-friendly error messages when the FingerGestures singleton is not present in the scene
- Prevented MouseInputProvider from moving the twist/pinch pivot point after the start phase

CHANGES
- The distance settings on gesture recognizers are now specified in centimeters by default.- The default distance settings of each gesture recognizer and sample have been updated to reflect this.
- Updated most samples and toolbox scripts to be screen DPI-independent (they now use centimeters instead of raw pixel values for distances)
- Disabled support for multi-finger multi-tap gestures (can now only perform a single multi-finger multi-tap gesture at once)
- The FingerCluster logic is now exclusively used for multi-finger gestures (non-exclusive single-finger gestures now use the per-finger update path)
- PinchRecognizer: removed DeltaScale property
- Prevented MouseInputProvider from moving the twist/pinch pivot point after the gesture has started
- Removed the whole retina display / densitity independent pixel API from 3.1 beta.
- Changed Gesture.Hit property (RaycastHit) to Gesture.Raycast (ScreenRaycastData)
- Changed FingerEvent.Hit (RaycastHit) to FingerEvent.Raycast (ScreenRaycastData)


Known Issues
- FG seems to cause issues with Windows Store platform. This is being investigated.
- There is a complication error when running pre 4.3 versions of Unity 4.X due to missing 2D API. A fix is available here.

Upgrade Notes

There is a critical change introduced in this version that you must be aware of: the various distance properties on the gesture recognizers are now expressed in centimeters by default. After upgrading, make sure to go through your existing gestures and either reset their values to the new default, or update all the fields that show up in teal (distance unit fields).

This is to ensure that, for instance, you don't end up with a DragRecognizer using a MoveTolerance of 25 centimeters instead of 25 pixels. To fix this, you can either change the distance unit back to Pixels using the dropdown menu to the right of the value, or convert the value to an equivalent one in centimeters. Alternatively, you can also reset the component to its default settings by clicking the "Reset" option in the component's context menu (right click).



--------------

As usual, feel free to leave your feedback/comments in this thread!
« Last Edit: 13 December, 2013, 10:56:55 AM by William Ravaine »

Offline William Ravaine

  • Administrator
  • Regular Poster
  • *****
  • Posts: 657
  • Karma: +27/-2
    • View Profile
    • Fatal Frog Software
Re: FingerGestures v3.1
« Reply #1 on: 11 December, 2013, 12:38:05 PM »
I've added two new entries to the documentation:
- Interacting with scene objects (ScreenRaycaster)
- Dealing with different pixel densitities

Feedback welcome!

Offline William Ravaine

  • Administrator
  • Regular Poster
  • *****
  • Posts: 657
  • Karma: +27/-2
    • View Profile
    • Fatal Frog Software
Re: FingerGestures v3.1
« Reply #2 on: 12 December, 2013, 12:47:18 AM »
It's now live on the asset store :)

Offline William Ravaine

  • Administrator
  • Regular Poster
  • *****
  • Posts: 657
  • Karma: +27/-2
    • View Profile
    • Fatal Frog Software
Re: FingerGestures v3.1
« Reply #3 on: 13 December, 2013, 09:57:39 AM »
Here's a fix for compilation error on Unity 4.X versions pre 4.3. Simply overwrite the ScreenRaycaster.cs file in Plugins\FignerGestures\Scripts\Components by the one attached to this post.

Offline phyllis

  • Recruit
  • *
  • Posts: 1
  • Karma: +0/-0
    • View Profile
Re: FingerGestures v3.1
« Reply #4 on: 16 January, 2014, 03:39:30 AM »
I'm replying to see if I can get the attachment for the fix, thanks! :)

Here's a fix for compilation error on Unity 4.X versions pre 4.3. Simply overwrite the ScreenRaycaster.cs file in Plugins\FignerGestures\Scripts\Components by the one attached to this post.

Offline William Ravaine

  • Administrator
  • Regular Poster
  • *****
  • Posts: 657
  • Karma: +27/-2
    • View Profile
    • Fatal Frog Software
Re: FingerGestures v3.1
« Reply #5 on: 16 January, 2014, 08:54:00 AM »
@phyllis: you need to be a registered FG user to access attachments on that forum. Please follow the instructions in the Register your copy thread.

Offline virtek

  • FingerGesturer
  • Recruit
  • ****
  • Posts: 2
  • Karma: +0/-0
    • View Profile
Re: FingerGestures v3.1
« Reply #6 on: 17 January, 2014, 03:21:14 PM »
Is this fix also going to be released on the asset store as update soon?

P.S. Waiting for approval to be able to download the fix.

Offline William Ravaine

  • Administrator
  • Regular Poster
  • *****
  • Posts: 657
  • Karma: +27/-2
    • View Profile
    • Fatal Frog Software
Re: FingerGestures v3.1
« Reply #7 on: 20 January, 2014, 11:37:34 AM »
Hi Virtek - I've just approved you. Yes the fix will go up with the next minor release I'm working on. Not ETA yet though.

Offline virtek

  • FingerGesturer
  • Recruit
  • ****
  • Posts: 2
  • Karma: +0/-0
    • View Profile
Re: FingerGestures v3.1
« Reply #8 on: 20 January, 2014, 11:42:01 AM »
Thanks for your response and acceptation :)

Offline Pawel

  • Recruit
  • *
  • Posts: 5
  • Karma: +0/-0
    • View Profile
Re: FingerGestures v3.1
« Reply #9 on: 09 February, 2014, 11:25:24 PM »
I am getting multiple problems after the update. I am using the Orbit setup and all of a sudden since the update I have to move the mouse in preview several times to see any movements and the movement is jerky. On my Android device it stopped working all together.

I see Warning errors:

FingerGestures: using Mouse Input Provider
UnityEngine.Debug:Log(Object)
FingerGestures:InstallInputProvider(FGInputProvider) (at Assets/Plugins/FingerGestures/Scripts/FingerGestures.cs:146)
FingerGestures:InitInputProvider() (at Assets/Plugins/FingerGestures/Scripts/FingerGestures.cs:135)
FingerGestures:Init() (at Assets/Plugins/FingerGestures/Scripts/FingerGestures.cs:89)
FingerGestures:CheckInit() (at Assets/Plugins/FingerGestures/Scripts/FingerGestures.cs:521)
FingerGestures:Awake() (at Assets/Plugins/FingerGestures/Scripts/FingerGestures.cs:501)

-----

Updated finger Gesture yesterday from Asset Store (There was no "Update" option in the asset store only "install"... as if Unity did not know FG was already installed and used in the game. So, I used "install") Using Unity 4.3.3.f1 on 64bit windows 7.

Offline Pawel

  • Recruit
  • *
  • Posts: 5
  • Karma: +0/-0
    • View Profile
Re: FingerGestures v3.1
« Reply #10 on: 09 February, 2014, 11:35:56 PM »
I just saw your notes regarding changing defaults from Pixels to Centimeters. Yes this was the reason for problems! Now a stupid question "WHY?!" - Why are you forcing people to spend hours making unnecessary changes and searching for answers? What was wrong with leaving defaults as they were?

Offline William Ravaine

  • Administrator
  • Regular Poster
  • *****
  • Posts: 657
  • Karma: +27/-2
    • View Profile
    • Fatal Frog Software
Re: FingerGestures v3.1
« Reply #11 on: 10 February, 2014, 02:25:39 PM »
Hi Pawel,
Sorry to hear about your frustration - I tried to make the release note about this as obvious as possible knowing this would be a problem.

I didn't make this decision lightly as I know it could cause that kind of issue, but I also wanted new users to get optimal default settings in centimeters, which makes the gestures work the same on all platforms out of the box. Also, Unity doesn't provide a built-in way for me to upgrade existing projects/users to the new version. One way to hack around this limitation would be to have a version field on each component, but unfortunately this was not added to previous versions of the library so this information was not available to me for automatic upgrade purposes.

Offline oliverdb

  • FingerGesturer
  • Recruit
  • ****
  • Posts: 1
  • Karma: +0/-0
    • View Profile
Re: FingerGestures v3.1
« Reply #12 on: 14 February, 2014, 02:16:09 PM »
Uuhm could you upgrade me.. I have submitted the receipt?

Offline frank_lzr

  • Recruit
  • *
  • Posts: 1
  • Karma: +0/-0
    • View Profile
    • Email
Re: FingerGestures v3.1
« Reply #13 on: 25 April, 2014, 03:33:45 AM »
could you please tell me where to download
thanks

Offline Krodil

  • FingerGesturer
  • Regular Poster
  • ****
  • Posts: 28
  • Karma: +2/-0
    • View Profile
Re: FingerGestures v3.1
« Reply #14 on: 29 April, 2014, 09:40:12 AM »
hey Will,
been a while. Do you have any planned updates for the 3.1 release?