Skip to content

LokoSoloGames/Unity_PinchableScrollRect

Repository files navigation

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.

openupm

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.

About

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

Topics

Resources

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE.meta

Stars

Watchers

Forks

Languages