Is it possible to use variables?

Hi all - sorry for the newbie question - is it possible to use variables in HitFilm Pro? e.g. I can set multiple effects or objects to use X as it's width and if I change the value of X all related properties automatically change.


Many thanks!




  • You can use parenting. Have a point layer. Then you can parent as many layers as you want to the point layer. Also, many effects that have a position allow you to attach their position to a layer.


  • Thanks Norman - that's useful to know =) I'm guessing variables and the ability to write functions isn't currently possible in hitfilm?

  • Correct.  HitFilm doesn't currently offer expressions and the like. The closest we've got now are some of the new Behaviors in the latest HitFilm Pro, but even those don't have the flexibility that expressions provide.

  • Triem23Triem23 Moderator

    (although I've almost never seen an expression that couldn't be recreated with two keyframes)

  • almost never.  :)  True, some tricks can be done via keyframing and other existing tools, but I've seen some pretty slick stuff done with AE that was only possible via very complex expressions, and am still an advocate for expressions in HitFilm (in addition to full-on scripting, preferably in Python).

  • Triem23Triem23 Moderator

    @jsbarrett true. But, over 95% of expressions that come up in online tutorials are two-keyframes things (like "VALUE=Time*10) , or covered by and effect (why EVER use WIGGLE when you can use Hitfilm SHAKE effect?).

    Yes, Expressions in HF would be nice, but it's not critical. Especially with Behaviors.

  • Expressions can be useful but I'd much rather see useful scripting. In AE, expressions and scripting are separate, distinct things and I've never really understood why. Adobe says a script tells an application to do something but an expression says a property is something and expressions cannot get information from scripts. Why not? 

  • Triem23Triem23 Moderator

    @Aladdin4d since scripts can pull things from multiple projects and do I/O tasks where expressions only deal with the Composition they are in, and, I believe--expressions were added in Ae7 with scripting being there from day 1, I think Expressions were intended as a simpler alternative to scripts. Instead of adding a script via the scripting panel and having to link layers into the script an expression is added directly to a layer?

  • "over 95% of expressions that come up in online tutorials are two-keyframes things"

    The ratio is quite the opposite in the tutorials I've been watching.  I'm not saying that 95% are super complex expressions, but it's easily higher than 50%.

    Re: stuff like Value=Time*10, expressions still have an advantage here when the length of a comp changes (or the length of whatever you're doing with two keyframes).  When using keyframes to replicate that approach, and you change the comp length (or want to make X simply happen longer but at the same rate of change), you then need to find and move the second keyframe so that it compensates for the longer length, in addition to changing its value.

    In that situation, what I would almost prefer over expressions is the ability to determine how a property's value behaves after the last keyframe (or before the first keyframe).  I was working on a project in HitFilm the other day where this would have come in really handy.  Maya has what are called Pre-Infinity and Post-Infinity options that can be set on a per-property (or per-channel, using Maya speak) basis.  That way I can set two keyframes anywhere on the timeline that simply establish the slope of a channel's value change, set both Pre- and Post-Infinity to Linear for that channel, and that value change will continue for eternity in both directions at the same slope.  If the length of my shot changes, I don't need to modify the keyframes at all. (Which reminds me, I need to add that as a feature request for HitFilm...)

    "why EVER use WIGGLE when you can use Hitfilm SHAKE effect"

    Because Wiggle can apply to any property, not just position.  I watched an AE tutorial the other day that used Wiggle on a layer's opacity.  HitFilm has no equivalent way to effectively apply a randomness to a layer's opacity, or any other property.  That said, I found a way to get the same end result using completely different features in HitFilm, but my point is that Wiggle is a general-purpose expression that can be used anywhere, whereas Shake does only one thing.

  • Thanks all. I will do my best to work around it. I'm impressed with the software over all - I just like to be able to go about things in the most effective way for the long term and for example having some text I can change in one place and have everything related to it also update - e.g. Multiple effects now change their properties based on the length of the text to automatically align correctly. I will see how it goes using Parent to achieve this.

  • Stargazer54Stargazer54 Moderator
    edited January 2018

    @Triem23 @jsbarrett ; You guys are both right, just a different ends of the spectrum.

    Again we are back to resources available at FXHome to develop high end capabilities, such as expressions within HF.   I think they've done  bang up job by offering behaviors in the last release.  That was huge!

    Think of the growth this shows from the release of HF Ultimate.  I believe they will get there, but we need to be patient.  Plus the target audience for the software is new users to animation who will do well to learn keyframing first.

    I would love to import raw data and have that drive the motion of an object.  Or build a library of expressions to simulate real world effects.  I'm just not sure that was the intent when HF was introduced. 

    I think the intent was to put a tool in anyone's hands that would help them put a video together with some canned effects and be able to post to YouTube to show their friends.  Of course, this was successful and HF took off from there.

    Expressions are professional level, or at the very least upper level pro-sumer.  I think we are just now entering the pro-sumer level with HF6. 

    Quote Sarris from Galaxy Quest: "Patience . . ."    (you may also quote the little green goblin guy from SW if you wish)

  • After failing to get any Ae6 license to upgrade from Ae4 yesterday, I stumbled into HF pro, tested it a few hours and bought it immediately. As a developer myself, I already can say this is a great software for a very fair price!

    For me, expressions made Ae the best software ever made, but Adobe's licensing policy prevents me from using it anymore.

    If there will be something like expressions in HF pro someday (hopefully soon), I am absolutely sure, I will never miss Ae (and Pr) anymore.  : )


  • @HitFilmer177512 ; the closest thing to expressions is behaviors

  • edited February 2018

    N12NJA  i am new to  HFP  too .  seems  there are  2 ways to get at  Parent\child  arrangment .

    1  way is to  use the  "Parent"  combo  box , on the  right end of each  track's  media Name ( Transformations  will  work as expected )

    2nd way , is to  Nest a  Comp . From the  Media  bin ,  drag a Comp( child )  into another Comp( parent ) .

    Vegas has  good  P\C  implementation .  i was wanting to  apply  FX from the  Parent as  "Post  Composite" , because  Vegas can do that .  seems HFP can do that too , by using  Nested  Comps , where the Comp that is to be nested contains the  child  group of  tracks . Then once this  "Chiild Comp"  is nested , it can now  have an  Effect applied to it , while residing in side the  "Parent"  Comp .  Thus  the  Child group of tracks  will fully  composite , then our  Effect gets  applied to  that ,...aka  "Post Composte" of a  Video FX  effect , just like with Vegas .


Sign In or Register to comment.