Return-Path: Received: from mail-ve0-f179.google.com ([209.85.128.179] verified) by media-motion.tv (CommuniGate Pro SMTP 4.2.10) with ESMTP-TLS id 5183986 for AE-List@media-motion.tv; Wed, 21 Aug 2013 20:20:01 +0200 Received: by mail-ve0-f179.google.com with SMTP id c13so673430vea.24 for ; Wed, 21 Aug 2013 11:32:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=egOXSj6B+X8uQDjr+PwIFeDFDO51qhJY1gYS13+rHcU=; b=Xiz3dSpdvhQklobz3TtL/y8mjsUnVnjWg1pVhm+Pe+czhSpRJ5AxKMd7evkD3MTkFb jVQz0hwW4MD5PfUnGnvdzBEH2tU0OjS03lA8A7VmbL66cpG0UFshGIQ5K3y4vNYDeaP6 rIb7S79PLrL+e4E8a9BUM/EYaql4vOaedUD2GfGBjm3qZPhONX7341Ef66B79JXcZhXa w5YN2hkecOAPpYHi70ad7t+pUPdYoZrA9QmcLoHS5fT8cNoQb/wNzTtabzXMBXQ+YuHX MJPcy8DXQ8XTwlS9cZcxPfVPzxm60qJTQ40kXT14Uleycy38b3S5xlidxSGsYSOT+MLH lNXA== MIME-Version: 1.0 X-Received: by 10.52.178.198 with SMTP id da6mr6388723vdc.26.1377109931413; Wed, 21 Aug 2013 11:32:11 -0700 (PDT) Received: by 10.52.76.39 with HTTP; Wed, 21 Aug 2013 11:32:11 -0700 (PDT) In-Reply-To: References: Date: Wed, 21 Aug 2013 11:32:11 -0700 Message-ID: Subject: Re: [AE] Fading a light beyond a certain angle From: Darby Edelen To: After Effects Mail List Content-Type: multipart/alternative; boundary=bcaec5196d77475a6204e47964d3 --bcaec5196d77475a6204e47964d3 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable Reading again I think we're talking about a spotlight rotating. Sorry for the misunderstanding on my part. I'd try something like this in that case: range =3D 90; d =3D Math.cos(degreesToRadians(falloff / 2)); c =3D thisComp.layer("Camera 1"); cv =3D c.toWorldVec([0,0,-1]); v =3D toWorldVec([0,0,1]); facing =3D dot(v,cv); linear(facing, d, 1, 0, value); Here the 'range' defines the section out of the 360=B0 rotation that the spotlight is on. The spotlight will be brightest when pointing in the opposite direction the camera is pointing and fade down as it approaches the edge of its 'range.' One thing to note is that this expression works as the light rotates around either the x or y-axis. So rotating the light on the x-axis will have a similar effect as rotation on the y-axis. On Aug 21, 2013 10:49 AM, "Darby Edelen" wrote: > I'm not sure that I've understood the goal but here's an expression that > will fade the light as it leaves a specified field of view: > > inner =3D 20; > outer =3D 50; > if(inner < outer){ > c =3D thisComp.layer("Camera 1"); > cv =3D [0,0,1]; > p =3D normalize(c.fromWorld(toWorld([0,0,0]))); > iBound =3D Math.cos(degreesToRadians(inner / 2)); > oBound =3D Math.cos(degreesToRadians(outer / 2)); > angle =3D dot(p,cv); > linear(angle, iBound, oBound, 0, value); > } > else value; > > So in the above example the light would be at 'value' intensity when it's > within a 20=B0 range of the view center and 0% intensity when it's outsid= e of > 50=B0 from view center. If you want the light to turn off quickly choose = an > inner value that is close to the outer value. If you want it to fade > gradually choose values that are farther apart. > > I've only included rudimentary error prevention so if inner and outer are > the same value or inner is larger than outer the expression will default = to > the light's keyframed intensity. > > > On Tue, Aug 20, 2013 at 5:58 PM, Alex Czetwertynski < > alex@disciplefilms.com> wrote: > >> Hello >> >> I'm trying to figure out an expression to control the brightness of a >> rotating light. >> My light is turning on itself, on the Y axis. Everytime it passes 90 >> degrees, rotating away from the camera, I'd like to reduce its intensity= , >> and then bring it back when it is starting to enter the quadrant in whic= h >> it will face the camera. >> >> If the camera was just rotating once, I'd use a linear expression that >> mapped 180 to 270 degrees and faded the light in between those two value= s, >> but it is constantly looping=85 >> I thought I might be able to use Radians, but they, obviously, keep >> increasing with the degrees=85 >> >> Any suggestions? >> >> Thanks! >> Alex >> >> >> +---End of message---+ >> To unsubscribe send any message to >> > > --bcaec5196d77475a6204e47964d3 Content-Type: text/html; charset=windows-1252 Content-Transfer-Encoding: quoted-printable
Reading again I think we're talking about a spotlight = rotating. Sorry for the misunderstanding on my part. I'd try something = like this in that case:

range =3D 90;
d =3D= Math.cos(degreesToRadians(falloff / 2));
c =3D thisComp.layer("Camera 1");
cv =3D c.toWorldVec([0,0,-1]= );
v =3D toWorldVec([0,0,1]);
facing =3D dot(v,cv);
linear(facing,= d, 1, 0, value);

Here the 'range' defines the section out of= the 360=B0 rotation that the spotlight is on.=A0 The spotlight will be bri= ghtest when pointing in the opposite direction the camera is pointing and f= ade down as it approaches the edge of its 'range.'

One thing to note is that this expression works as the light rotates aro= und either the x or y-axis.=A0 So rotating the light on the x-axis will hav= e a similar effect as rotation on the y-axis.

On Aug 21, 2013 10:49 AM, "Darby Edelen" <dedelen@gmail.com> wrote:
I'm not sure that I've understood the goal bu= t here's an expression that will fade the light as it leaves a specifie= d field of view:

inner =3D 20;
outer =3D 50;
if(inner < out= er){
=A0=A0=A0 c =3D thisComp.layer("Camera 1");
=A0=A0=A0 cv =3D [= 0,0,1];
=A0=A0=A0 p =3D normalize(c.fromWorld(toWorld([0,0,0])));
=A0= =A0=A0 iBound =3D Math.cos(degreesToRadians(inner / 2));
=A0=A0=A0 oBoun= d =3D Math.cos(degreesToRadians(outer / 2));
=A0=A0=A0 angle =3D dot(p,cv);
=A0=A0=A0 linear(angle, iBound, oBound, 0= , value);
}
else value;

So in the above example the ligh= t would be at 'value' intensity when it's within a 20=B0 range = of the view center and 0% intensity when it's outside of 50=B0 from vie= w center. If you want the light to turn off quickly choose an inner value t= hat is=20 close to the outer value.=A0 If you want it to fade gradually choose=20 values that are farther apart.

I've only included rudimentary er= ror prevention so if inner and outer are the same value or inner is larger = than outer the expression will default to the light's keyframed intensi= ty.


On Tue,= Aug 20, 2013 at 5:58 PM, Alex Czetwertynski <alex@disciplefilms.com= > wrote:
Hello

I'm trying to figure out an expression to control the brightness of a r= otating light.
My light is turning on itself, on the Y axis. =A0Everytime it passes 90 deg= rees, rotating away from the camera, I'd like to reduce its intensity, = and then bring it back when it is starting to enter the quadrant in which i= t will face the camera.

If the camera was just rotating once, I'd use a linear expression that = mapped 180 to 270 degrees and faded the light in between those two values, = but it is constantly looping=85
I thought I might be able to use Radians, but they, obviously, keep increas= ing with the degrees=85

Any suggestions?

Thanks!
Alex


+---End of message---+
To unsubscribe send any message to <ae-list-off@media-motion.tv>

--bcaec5196d77475a6204e47964d3--