Free Function Friday getLightType

FFF Header

Welcome to Free Function Friday episode 21, getLightType. Today we create a function that will get the type of light that is being used in a light layer. One bit of warning, this attribute access was added to light layers starting with After Effects CS5.5 (Scripting Changes), so this particular function will not work in any After Effects version earlier than CS5.5. When calling the lightType attribute, you would normally get an enumerated value. If you have been following the Free Function Friday series, you’ll remember that we’ve dealt with enumerated values before when we accessed After Effects languages. With that in mind we dive back into that world and try to make things more understandable for light types.

If you haven’t done so already there is a Free Function Friday introduction video located here that has some important information pointing to a few resources that will come in handy when scripting for After Effects.

Episode 21 getLightType:

 

Legal note: The Adobe ExtendScript code talked about in this article and accompanying embedded video(s), and/or graphic images are not guaranteed to be compatible with every version of After Effects. David Torno, ProVideo Coalition, and Diversified will not be held liable for any misuse or incorrect use of the provided ExtendScript code. Use at your own risk.

All of the code I provide in this series, has been created and tested in After Effects CC 2014. Unless otherwise specified in the episode, the code should be compatible with After Effects CS6 through CC 2015. I’ve done my best to avoid depreciated code (code that Adobe removed at some point), and made these functions as compatible as possible. There will however be the occasional piece of code that is brand new as of a certain version of After Effects and therefore will not be backwards compatible from that version. I will mention these if that is the case.

With that said, all the code I provide in this series is open source and free to use in your scripts. I highly encourage you to expand and improve upon the code I provide and start making your own custom functions as well, but please do not repost the code I show in this series as is and claim it as your own. If you use any of the code provided in this series please give credit where credit is due. This series is meant to provide, what I feel is useful code, as well as to hopefully further explain ExtendScript and it’s quirks. While the functions we build throughout this series can perform a task all on their own, they are not meant to be a solo script. How you combine them together and expand upon them is when you will gain the most from these functions.


Share:

David Torno

David Torno is a Visual Effects professional based in Los Angeles. Developing and creating VFX since 2000, David has been a part of over ninety different productions. His work includes commercial, feature, music video, and multimedia projects. He is most widely known for his work on projects for such artists as Linkin Park (“Waiting for the End”, “New Divide”, “Burn it Down”), Flight of the Conchords (“Ladies of the World”), and Swedish House Mafia (Absolut Greyhound). During his free time, he creates video tutorials and After Effects scripts. David enjoys contributing to the visual effects community by offering helpful tools, and techniques that creative professionals around the world can benefit from.

  • Peng Pj

    HI!David Torno!could you tell me how to get the layer every particle position??THANK YOU:)!

  • David Torno

    Hi Peng, apologies for the late reply. Are you referring to particles like Trapcode Particular? If so, as far as I know, those individual particle positions are not accessible via ExtendScript or After Effects expressions last I checked. They are created in a very different way than Houdini or Realflow creates particles.

    • Peng Pj

      Thank you, David Torno reply to me !i think may be to read the memory data,i will get the particle position.i very very like you video lesson! it’s so great so wonderful !thank you!Thank you:)!

      .