ADOBE AFTER EFFECTS: Forum Expressions Tutorials Creative Cloud

How to do this sort of motion tile effect

COW Forums : Adobe After Effects

<< PREVIOUS   •   FAQ   •   VIEW ALL   •   PRINT   •   NEXT >>
Brian Rickert
How to do this sort of motion tile effect
on May 25, 2016 at 12:06:29 am

So I'm looking to do this scene where the camera zooms out of the original shot and there's a bunch of "picture in picture" videos all in separate squares. (easily done by applying motion tile and tampering with the settings) however I want the scenes in the boxes around it to be different. How would I do this? I was thinking just put other scenes the original and apply motion tile to those and try to line them up correctly but there must be a more efficient way to do this.

If anyone could help out that would be greatly appreciated. If you need any more detail I would be happy to oblige. Not exactly sure if I explained clearly what it is that I want to achieve.

Return to posts index

Brian Rickert
Re: How to do this sort of motion tile effect
on May 25, 2016 at 12:11:26 am

Edit to orignal^ - forgot a word:
I was thinking just put other scenes behind the original

Return to posts index

John Cuevas
Re: How to do this sort of motion tile effect
on May 25, 2016 at 1:29:45 pm

I can't think of a way of doing this without building each "layer" of videos, either via a particular emitter(that would be very CPU intense). Here's an expression I use to align a bunch of layers pretty quickly if they are all the same size. The places you would need to adjust would be the columns variable, the width and height between columms, and the origin position. For a bunch of PIP's. I would put each one in a precomp(just drag them all on the make a comp button). Use the CompSetter script to resize them all smaller, 320x180, then drop them into a final comp and apply the expression to the position property of the videos. You could modify the expression to tie the variables to a master control null that you place at the bottom of your layer stack, that would make it easier to make adjustments if needed.

var columns = 8;
var spaceBetweenLayers = thisLayer.width + 15;
var spaceBetweenRows = thisLayer.height +15;
var x = ((index-1) % columns) * spaceBetweenLayers;
var y = Math.floor((index-1) / columns) *spaceBetweenRows;
var origin = [125,125];
origin + [x,y]

You would get something like this:

Johnny Cuevas, Editor

"I have not failed 700 times. I have succeeded in proving that those 700 ways will not work. When I have eliminated the ways that will not work, I will find the way that will work."
---THOMAS EDISON on inventing the light bulb.

Return to posts index

<< PREVIOUS   •   VIEW ALL   •   PRINT   •   NEXT >>
© 2017 All Rights Reserved