<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Infinity Code Forum — Smooth Zoom mode without scaling map object]]></title>
		<link>https://forum.infinity-code.com/viewtopic.php?id=367</link>
		<atom:link href="https://forum.infinity-code.com/extern.php?action=feed&amp;tid=367&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[The most recent posts in Smooth Zoom mode without scaling map object.]]></description>
		<lastBuildDate>Mon, 09 Jan 2017 13:18:36 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Smooth Zoom mode without scaling map object]]></title>
			<link>https://forum.infinity-code.com/viewtopic.php?pid=1644#p1644</link>
			<description><![CDATA[<p>Hello.</p><p>Example of smooth zoom using FOV:<br /></p><div class="codebox"><pre><code>using UnityEngine;

public class SmoothZoomCameraFOV : MonoBehaviour
{
    private OnlineMaps map;
    private OnlineMapsTileSetControl control;

    private Camera activeCamera;

    private bool zoomStarted;
    private float lastGestureDistance;
    private float fov;
    private float minFOV;
    private float doubleFOV;

    private void Start()
    {
        map = OnlineMaps.instance;
        control = OnlineMapsTileSetControl.instance;
        activeCamera = control.activeCamera;

        control.allowZoom = false;
        fov = activeCamera.fieldOfView;
        minFOV = fov * 0.3f;
        doubleFOV = fov * 1.2f;
    }

    private void Update()
    {
        if (Input.touchCount == 2)
        {
            Vector2 p1 = Input.GetTouch(0).position;
            Vector2 p2 = Input.GetTouch(1).position;
            float distance = (p1 - p2).magnitude;

            if (!zoomStarted)
            {
                zoomStarted = true;
            }
            else
            {
                float scale = 1;

                if (Mathf.Abs(distance - lastGestureDistance) &gt; 2) scale = distance / lastGestureDistance;

                fov /= scale;
                if (fov &lt; minFOV)
                {
                    fov *= 2;
                    map.zoom++;
                }
                else if (fov &gt; doubleFOV)
                {
                    fov /= 2;
                    map.zoom--;
                }

                activeCamera.fieldOfView = fov;
            }

            lastGestureDistance = distance;
        }
        else
        {
            if (zoomStarted)
            {
                zoomStarted = false;
                lastGestureDistance = 0;
            }
        }
    }
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Alex Vertax)]]></author>
			<pubDate>Mon, 09 Jan 2017 13:18:36 +0000</pubDate>
			<guid>https://forum.infinity-code.com/viewtopic.php?pid=1644#p1644</guid>
		</item>
		<item>
			<title><![CDATA[Re: Smooth Zoom mode without scaling map object]]></title>
			<link>https://forum.infinity-code.com/viewtopic.php?pid=1633#p1633</link>
			<description><![CDATA[<p>Thank you for your reply.<br />Could you kindly show me the sample code to do this?</p>]]></description>
			<author><![CDATA[null@example.com (hung_nguyen)]]></author>
			<pubDate>Fri, 06 Jan 2017 01:59:27 +0000</pubDate>
			<guid>https://forum.infinity-code.com/viewtopic.php?pid=1633#p1633</guid>
		</item>
		<item>
			<title><![CDATA[Re: Smooth Zoom mode without scaling map object]]></title>
			<link>https://forum.infinity-code.com/viewtopic.php?pid=1612#p1612</link>
			<description><![CDATA[<p>Hello.</p><p>Online Maps does not have such built-in feature.<br />But you can implement this by using camera position, camera fov (perspective), or camera size (orthographic).</p>]]></description>
			<author><![CDATA[null@example.com (Alex Vertax)]]></author>
			<pubDate>Thu, 05 Jan 2017 11:36:09 +0000</pubDate>
			<guid>https://forum.infinity-code.com/viewtopic.php?pid=1612#p1612</guid>
		</item>
		<item>
			<title><![CDATA[Smooth Zoom mode without scaling map object]]></title>
			<link>https://forum.infinity-code.com/viewtopic.php?pid=1611#p1611</link>
			<description><![CDATA[<p>Hello</p><p>Is there anyway to use smooth zoom mode (OnlineMapsTileSetControl) without scaling map object?<br />Thank you and best regards.</p>]]></description>
			<author><![CDATA[null@example.com (hung_nguyen)]]></author>
			<pubDate>Thu, 05 Jan 2017 05:09:11 +0000</pubDate>
			<guid>https://forum.infinity-code.com/viewtopic.php?pid=1611#p1611</guid>
		</item>
	</channel>
</rss>
