<?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 — Youtube Zoom Example]]></title>
		<link>https://forum.infinity-code.com/viewtopic.php?id=598</link>
		<atom:link href="https://forum.infinity-code.com/extern.php?action=feed&amp;tid=598&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[The most recent posts in Youtube Zoom Example.]]></description>
		<lastBuildDate>Mon, 17 Jul 2017 12:23:22 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Youtube Zoom Example]]></title>
			<link>https://forum.infinity-code.com/viewtopic.php?pid=2608#p2608</link>
			<description><![CDATA[<p>Thank you, Alex. That helped a Lot.</p>]]></description>
			<author><![CDATA[null@example.com (harish.p.krishnamurthy)]]></author>
			<pubDate>Mon, 17 Jul 2017 12:23:22 +0000</pubDate>
			<guid>https://forum.infinity-code.com/viewtopic.php?pid=2608#p2608</guid>
		</item>
		<item>
			<title><![CDATA[Re: Youtube Zoom Example]]></title>
			<link>https://forum.infinity-code.com/viewtopic.php?pid=2599#p2599</link>
			<description><![CDATA[<p>Hello.</p><p>Something like this:<br /><a href="https://www.dropbox.com/s/16f5ppjem64ern6/2017-07-13%20-%200001.mp4?dl=0">https://www.dropbox.com/s/16f5ppjem64er … 1.mp4?dl=0</a></p><p>Script:<br /></p><div class="codebox"><pre><code>using UnityEngine;

public class OppositeAnimZoom:MonoBehaviour
{
    public Transform cameraTransform;
    public float duration = 10;
    public AnimationCurve zoomCurve = AnimationCurve.Linear(0, 0, 1, 1);
    public AnimationCurve rotationCurve = AnimationCurve.Linear(0, 0, 1, 1);
    public int targetZoom = 3;

    private bool started;
    private int startZoom;
    private float time = 0;
    private Vector3 originalScale;
    private Transform mapTransform;
    private OnlineMaps map;
    private Vector3 originalPosition;
    private Vector3 smoothZoomOffset;

    private void OnGUI()
    {
        if (!started &amp;&amp; GUILayout.Button(&quot;Start&quot;))
        {
            startZoom = OnlineMaps.instance.zoom;
            started = true;
        }
    }

    private void Start()
    {
        map = OnlineMaps.instance;
        mapTransform = map.transform;
        originalPosition = mapTransform.localPosition;
        originalScale = mapTransform.localScale;

        Vector3 smoothZoomHitPoint = originalPosition + mapTransform.rotation * new Vector3(map.tilesetSize.x / -2 * originalScale.x, 0, map.tilesetSize.y / 2 * originalScale.z);
        smoothZoomOffset = Quaternion.Inverse(mapTransform.rotation) * (originalPosition - smoothZoomHitPoint);
        smoothZoomOffset.Scale(new Vector3(-1f / map.tilesetWidth, 0, -1f / map.tilesetHeight));
    }

    private void Update()
    {
        if (!started) return;

        time += Time.deltaTime / duration;
        if (time &gt;= 1)
        {
            started = false;
        }

        float _zoom = startZoom - zoomCurve.Evaluate(time) * (startZoom - targetZoom);
        Vector3 camAngles = cameraTransform.localRotation.eulerAngles;
        camAngles.y = 180 - rotationCurve.Evaluate(time) * 360;
        cameraTransform.localRotation = Quaternion.Euler(camAngles);

        float offset = _zoom - (int)_zoom + 1;
        Vector3 newScale = originalScale * offset;

        mapTransform.localScale = newScale;
        Vector3 s = newScale - originalScale;
        s.Scale(new Vector3(1f / originalScale.x, 1 / originalScale.y, 1 / originalScale.z));
        Vector3 p = mapTransform.rotation * new Vector3(map.tilesetWidth * s.x * smoothZoomOffset.x, 0, map.tilesetHeight * s.z * smoothZoomOffset.z);
        mapTransform.localPosition = originalPosition - p;
        map.zoom = (int) _zoom;
    }
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Alex Vertax)]]></author>
			<pubDate>Thu, 13 Jul 2017 14:01:10 +0000</pubDate>
			<guid>https://forum.infinity-code.com/viewtopic.php?pid=2599#p2599</guid>
		</item>
		<item>
			<title><![CDATA[Youtube Zoom Example]]></title>
			<link>https://forum.infinity-code.com/viewtopic.php?pid=2597#p2597</link>
			<description><![CDATA[<p>Hi,</p><p>Can the following effect be achieved in the opposite direction in online-maps:</p><p><a href="https://www.youtube.com/watch?v=lzCEvlec5BE">https://www.youtube.com/watch?v=lzCEvlec5BE</a></p><p>preferably on click of a marker</p><p>Thanks,<br />Harish</p>]]></description>
			<author><![CDATA[null@example.com (harish.p.krishnamurthy)]]></author>
			<pubDate>Wed, 12 Jul 2017 12:08:04 +0000</pubDate>
			<guid>https://forum.infinity-code.com/viewtopic.php?pid=2597#p2597</guid>
		</item>
	</channel>
</rss>
