Unity_PinchableScrollRect

Unity - Pinchable Scroll Rect allow user to zoom in and out on the Scroll Rect with both Touch Input and Mouse Input

MIT License

Stars
44
Committers
1

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.