Unity_PinchableScrollRect
Unity_PinchableScrollRect copied to clipboard
Unity - Pinchable Scroll Rect allow user to zoom in and out on the Scroll Rect with both Touch Input and Mouse Input
Pinchable ScrollRect for Unity
Pinchable ScrollRect allows users to zoom in and out on the ScrollRect with both touches pinching input or mouse scroll input.
Features
- Customizable pinching behaviour with inherited Unity ScrollRect behaviour.
- Overridden OnScroll behaviour for mouse scroll to perform zooming behaviour.
- Customized pinching gesture to perform the same zooming behaviour as mouse scroll input for touches.
- Transformed standard Unity Event IPointerUp & IPointerDown interface into IPinch interface for further customization of touch behaviour
Getting Started
- Use it same as the way you use the Unity ScrollRect component.
- Add a UI/ScrollView from the GameObject Menu
- Select the ScrollRect added, click on the context dropdown menu
- Select "Replace as Pinchable"
Important Remarks
- PinchInputDetector component must have a higher execution order than PinchableScrollRect component or any IPinchHandler component in order to consume the original OnDrag pointer event beforehand.
- Without PinchInputDetector, the ScrollRect can still perform zooming with mouse scroll input but not touch input.
- The absolute minimum scale of the Content of the ScrollRect is 1. A customizable lower bound and upper bound of the scale can be set on inspector.
- Any third touches detected after pinching will be ignore, even after both pinching touches are lifted.
- Editor script is needed in order to serialize the extra fields added to the PinchableScrollRect component.
License
This plugin is licensed under the MIT License - see the LICENSE file for details.