snipt

Ctrl+h for KB shortcuts

JavaScript

Parallax - Scale based on distance to camera

1
2
3
4
cam = thisComp.layer("Camera 1");
dist = length(position[2] - cam.position[2]);
s = dist/cam.zoom;
scale*s;

Description

Gets the distance between z points and divides by cam.zoom to get the proper scale of a layer when you push it back in zSpace (or zed space if you are canadian)
https://snipt.net/embed/11b81dd2f2b533a144f54802e3519ed7/
/raw/11b81dd2f2b533a144f54802e3519ed7/
11b81dd2f2b533a144f54802e3519ed7
js
JavaScript
4
2019-08-24T18:59:04
True
False
False
Sep 11, 2013 at 01:05 AM
/api/public/snipt/55869/
parallax-scale-based-on-distance-to-camera
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><a href="#L-1">1</a> <a href="#L-2">2</a> <a href="#L-3">3</a> <a href="#L-4">4</a></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span id="L-1"><a name="L-1"></a><span class="nx">cam</span> <span class="o">=</span> <span class="nx">thisComp</span><span class="p">.</span><span class="nx">layer</span><span class="p">(</span><span class="s2">&quot;Camera 1&quot;</span><span class="p">);</span> </span><span id="L-2"><a name="L-2"></a><span class="nx">dist</span> <span class="o">=</span> <span class="nx">length</span><span class="p">(</span><span class="nx">position</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">-</span> <span class="nx">cam</span><span class="p">.</span><span class="nx">position</span><span class="p">[</span><span class="mi">2</span><span class="p">]);</span> </span><span id="L-3"><a name="L-3"></a><span class="nx">s</span> <span class="o">=</span> <span class="nx">dist</span><span class="o">/</span><span class="nx">cam</span><span class="p">.</span><span class="nx">zoom</span><span class="p">;</span> </span><span id="L-4"><a name="L-4"></a><span class="nx">scale</span><span class="o">*</span><span class="nx">s</span><span class="p">;</span> </span></pre></div> </td></tr></table>
ae, expressions, parallax