From: "Phil Spitler" Received: from mail-pd0-f172.google.com ([209.85.192.172] verified) by media-motion.tv (CommuniGate Pro SMTP 4.2.10) with ESMTP-TLS id 5526121 for AE-List@media-motion.tv; Wed, 16 Jul 2014 01:28:36 +0200 Received: by mail-pd0-f172.google.com with SMTP id ft15so145014pdb.3 for ; Tue, 15 Jul 2014 16:28:35 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:content-type:message-id:mime-version :subject:date:references:to:in-reply-to; bh=Q7lQN9zkp5MlxN+GC3m8ABB/4F+MRUyQ2pV+i1EO4Y4=; b=TL5thnc2nYoUC5zAk2ox3v0QZO3tlGZ9D/VzRnxcXuTnC8T5kOm7jvp11xsywSxmno ztGnSpzmdZlRd7ReyCkFgXhS7ye/GyykczRaC7F1CnL2ziGHrYNWJuC+ozvz4SqQEtI8 nOp1PCyshAKiov1ykPB8xcFUgJhM3qMzDHIbbA6gOwXhny5xefs76NlVl0neBuH4MeKn qSF9+L+fGS+hjzqlj+Bi8XuB7MLO6z/TeEHkOYDxKLVwc9iDyA6rqynTYx/vLEt9Ljpz tUacaSK5a1sRoHoPNEXeiiGTV6aalMkuAA/7v7b4RF5mR2zjB4mKnedD64AuwsWQYaR9 0sDA== X-Gm-Message-State: ALoCoQmkZgr1IYAL/UojWFRjyyCLqZLusqmiOQeUo54xt4mMfsqoeuvswdL2XkPRb37qNIZBPGMS X-Received: by 10.70.33.102 with SMTP id q6mr26165509pdi.39.1405466915405; Tue, 15 Jul 2014 16:28:35 -0700 (PDT) Return-Path: Received: from [10.0.0.148] ([12.252.143.102]) by mx.google.com with ESMTPSA id fo2sm15065241pbb.53.2014.07.15.16.28.32 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 15 Jul 2014 16:28:32 -0700 (PDT) Content-Type: multipart/alternative; boundary="Apple-Mail=_8385F427-15BB-4DBE-9193-89A15F1D845B" Message-Id: <6551E03C-342C-4DEB-9EDA-59214C3C90B4@bonfirelabs.com> Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\)) Subject: Re: [AE] Applying a slider control to an overall set of keyframes Date: Tue, 15 Jul 2014 16:28:31 -0700 References: To: "After Effects Mail List" In-Reply-To: X-Mailer: Apple Mail (2.1510) --Apple-Mail=_8385F427-15BB-4DBE-9193-89A15F1D845B Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii Not sure if I understand but I think just changing the 100 to 360 would = work. > x=3Dlinear(slider,0,360,minx,x); Also, would you be better animating the rotation instead of orientation? hope this helps. Phil Phil Spitler | Creative Technologist | Bonfire Labs | t : = 415.394.8200 m : 415.571.3139 Website | Facebook | LinkedIn On Jul 15, 2014, at 4:21 PM, Teddy Gage wrote: > OK sorry to keep bringing this up but I've figured out the problem, = even if I haven't solved it. I think it makes an easier question to ask. >=20 > Here is my current progress, and in fact orientation is more important = to me than position anyway. >=20 > p=3Dtransform.orientation; > x=3Dp[0];y=3Dp[1];z=3Dp[2]; >=20 > minx=3D0;miny=3D0;minz=3D0; >=20 > slider=3DthisComp.layer("CAM CONTROL").effect("CAMERA = SHAKE")("Slider"); > x=3Dlinear(slider,0,100,minx,x); > y=3Dlinear(slider,0,100,miny,y); > z=3Dlinear(slider,0,100,minz,z); > [x,y,z] >=20 > So with this expression, 100 is full wiggle, and 0 on the slider is no = wiggle. The problem is that, at 50 on the slider, all of a sudden the = values on a rotational scale of 0-360 are cut in half. So that instead = of wiggling slightly from zero to 359.8, it wiggles from 0 to 179.4 in = the same span of time. This is not useful. The problem is that = orientation loops back from 360 to 0 with the original camera wiggle = keyframes values. >=20 > is there a way to translate those 0-100 values from the slider to the = 0-360-0 degrees orientation uses? >=20 >=20 >=20 > On Tue, Jul 15, 2014 at 5:29 PM, Teddy Gage = wrote: > It totally works! >=20 > Now I'm trying to do the same for orientation. A bit trickier. This is = as far as I got, but the output values are definitely not scaled = versions of the original values with this. It jumps by much bigger = chunks and flips the camera around the axis when this is applied to = orientation keyframes. Any idea what I'm doing wrong? >=20 > p=3Dtransform.orientation; > x=3Dp[0];y=3Dp[1];z=3Dp[2]; >=20 > minx=3D-360;miny=3D-360;minz=3D-360; >=20 > slider=3DthisComp.layer("CAM CONTROL").effect("CAMERA = SHAKE")("Slider"); > x=3Dlinear(slider,-360,360,minx,x); > y=3Dlinear(slider,-360,360,miny,y); > z=3Dlinear(slider,-360,360,minz,z); > [x,y,z] >=20 >=20 >=20 > On Tue, Jul 15, 2014 at 5:14 PM, Zack Lovatt = wrote: > That looks as if it'd work! >=20 > Zack Lovatt > 416.786.4129 > www.zacklovatt.com >=20 >=20 > On 15 July 2014 17:09, Teddy Gage wrote: > Chris I think so, exactly. Now to translate that expression into 3D = array I would write it like this? Look right? >=20 > p=3Dtransform.position; > x=3Dp[0];y=3Dp[1];z=3Dp[2]; >=20 > minx=3D0;miny=3D0;minz=3D0; >=20 > slider=3Deffect("Amount 0-100")("Slider"); > x=3Dlinear(slider,0,100,minx,x); > y=3Dlinear(slider,0,100,miny,y); > z=3Dlinear(slider,0,100,minz,z); > [x,y,z] >=20 >=20 >=20 > On Fri, Jul 11, 2014 at 8:57 PM, Chris Zwar = wrote: > Not sure I understand 100%, but it sounds like you would use a slider = to control the interpolation between the layers actual position, and a = minimum or maximum amount. So if you have a slider called "Amount = 0-100" your position expression would be: >=20 > p=3Dtransform.position; > x=3Dp[0];y=3Dp[1]; >=20 > minx=3D0;miny=3D0; >=20 > slider=3Deffect("Amount 0-100")("Slider"); > x=3Dlinear(slider,0,100,minx,x); > y=3Dlinear(slider,0,100,miny,y); >=20 > [x,y] >=20 >=20 > Is this what you mean?=20 >=20 >=20 > -Chris >=20 >=20 > On 12/07/2014, at 10:07 AM, Teddy Gage = wrote: >=20 >> Not even sure this is possible. But say you have an object on a = motion path with hundreds of keys (not able to be reproduced by = expressions). Would it be possible to put an expression on a slider = linked to those keyframes to dynamically control, say, the absolute = minimum and maximum values the object travels on the x axis?=20 >>=20 >> Sort of like scaling the entire motion path of keys in one or all = directions, but tying that to a slider, so that when the slider is at 0, = there is no motion. ie it clamps all values to 0. >>=20 >> There is probably an easier way to do this but I was wondering if = this it was possible like this. Thanks, >> -TG >>=20 >> --=20 >> _____________________________ >> VFX & Motion Graphic Artist >> teddygage dot com >=20 >=20 >=20 >=20 > --=20 > _____________________________ > VFX & Motion Graphic Artist > teddygage dot com >=20 >=20 >=20 >=20 > --=20 > _____________________________ > VFX & Motion Graphic Artist > teddygage dot com >=20 >=20 >=20 > --=20 > _____________________________ > VFX & Motion Graphic Artist > teddygage dot com --Apple-Mail=_8385F427-15BB-4DBE-9193-89A15F1D845B Content-Transfer-Encoding: 7bit Content-Type: text/html; charset=us-ascii Not sure if I understand but I think just changing the 100 to 360 would work.

x=linear(slider,0,360,minx,x);


Also, would you be better animating the rotation instead of orientation?

hope this helps.

Phil




signature1 Phil Spitler  |  Creative Technologist   |  Bonfire Labs  |  t : 415.394.8200  m : 415.571.3139

Website | Facebook | LinkedIn

On Jul 15, 2014, at 4:21 PM, Teddy Gage <AE-List@media-motion.tv> wrote:

OK sorry to keep bringing this up but I've figured out the problem, even if I haven't solved it. I think it makes an easier question to ask.

Here is my current progress, and in fact orientation is more important to me than position anyway.

p=transform.orientation;
x=p[0];y=p[1];z=p[2];

minx=0;miny=0;minz=0;

slider=thisComp.layer("CAM CONTROL").effect("CAMERA SHAKE")("Slider");
x=linear(slider,0,100,minx,x);
y=linear(slider,0,100,miny,y);
z=linear(slider,0,100,minz,z);
[x,y,z]

So with this expression, 100 is full wiggle, and 0 on the slider is no wiggle. The problem is that, at 50 on the slider, all of a sudden the values on a rotational scale of 0-360 are cut in half. So that instead of wiggling slightly from zero to 359.8, it wiggles from 0 to 179.4 in the same span of time. This is not useful. The problem is that orientation loops back from 360 to 0 with the original camera wiggle keyframes values.

is there a way to translate those 0-100 values from the slider to the 0-360-0 degrees orientation uses?



On Tue, Jul 15, 2014 at 5:29 PM, Teddy Gage <AE-List@media-motion.tv> wrote:
It totally works!

Now I'm trying to do the same for orientation. A bit trickier. This is as far as I got, but the output values are definitely not scaled versions of the original values with this. It jumps by much bigger chunks and flips the camera around the axis when this is applied to orientation keyframes. Any idea what I'm doing wrong?

p=transform.orientation;
x=p[0];y=p[1];z=p[2];

minx=-360;miny=-360;minz=-360;

slider=thisComp.layer("CAM CONTROL").effect("CAMERA SHAKE")("Slider");
x=linear(slider,-360,360,minx,x);
y=linear(slider,-360,360,miny,y);
z=linear(slider,-360,360,minz,z);
[x,y,z]



On Tue, Jul 15, 2014 at 5:14 PM, Zack Lovatt <AE-List@media-motion.tv> wrote:
That looks as if it'd work!



On 15 July 2014 17:09, Teddy Gage <AE-List@media-motion.tv> wrote:
Chris I think so, exactly. Now to translate that expression into 3D array I would write it like this? Look right?

p=transform.position;
x=p[0];y=p[1];z=p[2];

minx=0;miny=0;minz=0;

slider=effect("Amount 0-100")("Slider");
x=linear(slider,0,100,minx,x);
y=linear(slider,0,100,miny,y);
z=linear(slider,0,100,minz,z);
[x,y,z]



On Fri, Jul 11, 2014 at 8:57 PM, Chris Zwar <AE-List@media-motion.tv> wrote:
Not sure I understand 100%, but it sounds like you would use a slider to control the interpolation between the layers actual position, and a minimum or maximum amount.  So if you have a slider called "Amount 0-100" your position expression would be:

p=transform.position;
x=p[0];y=p[1];

minx=0;miny=0;

slider=effect("Amount 0-100")("Slider");
x=linear(slider,0,100,minx,x);
y=linear(slider,0,100,miny,y);

[x,y]


Is this what you mean? 


-Chris


On 12/07/2014, at 10:07 AM, Teddy Gage <AE-List@media-motion.tv> wrote:

Not even sure this is possible. But say you have an object on a motion path with hundreds of keys (not able to be reproduced by expressions). Would it be possible to put an expression on a slider linked to those keyframes to dynamically control, say, the absolute minimum and maximum values the object travels on the x axis? 

Sort of like scaling the entire motion path of keys in one or all directions, but tying that to a slider, so that when the slider is at 0, there is no motion. ie it clamps all values to 0.

There is probably an easier way to do this but I was wondering if this it was possible like this. Thanks,
-TG

--
_____________________________
VFX & Motion Graphic Artist
teddygage dot com




--
_____________________________
VFX & Motion Graphic Artist
teddygage dot com




--
_____________________________
VFX & Motion Graphic Artist
teddygage dot com



--
_____________________________
VFX & Motion Graphic Artist
teddygage dot com

--Apple-Mail=_8385F427-15BB-4DBE-9193-89A15F1D845B--