Adding a "Morph" tool to Hitfilm

This discussion was created from comments split from: What Is The Puppet Tool?.


  • Thanks JS, yes, work in progress, Rome wasn't built in a day etc.  I'm happy it's gotten this far, and I'm sure it will get better over time.  To me, it seems it has "killer app" potential, a fun gadget that will attract people to Hitfilm, even if they don't understand all the other features. 

    What I really would love is to see is the functionality of Morphage (Mac warp/morph app) within Hitfilm.

     Not as simple as Puppet Tool, but you get far more control.  Available version is limited to images.

    So if the programmers could just go ahead and finish that up by the end of the week, that'd be great.  :-)


  • @Pixlpants, thanks for the tip regarding removing control points.

    Guys, and especially FXhome staff, if you can run Mac apps why not download Morphage and use it as a model for how Puppet might work.  Why reinvent the wheel from scratch when another team has already done the feature design legwork? 

    I have no idea what would be involved in implementing those features in Hitfilm, probably a lot of work.  Maybe it's not worth it, don't know.  But Morphage can at least provide a map of where Puppet should eventually someday be headed.

    Or, if all that is too much, it would be great if somebody was able to identify a standalone app that would do Morphage level warping on VIDEO.   The Morphage team used to offer such an app, but when Apple changed it's video delivery system they decided it was too much work to rewrite the program.

  • Triem23Triem23 Moderator

    @PhilTanny the Puppet tool will never become a morph tool--but, coding a Puppet tool is ALSO the first step towards a Morph tool, as well as Liquify.

    All three type of effects first tessellate an image then distort it using control points. The differences are that a Liquify tool is coded in a way that the deform uses "brushes" and twril/bulge effects are built in. Puppet--moves things around control points. Morphing defines a spline's start and end points, then deforms two images along the moving spline path while crossfading them.

    So--having a Puppet tool also happens to greatly increase the odds of a future Liquify or Morph. much of the basic work has been done--with the caveat that there's a lot of coding to do to set up and define the different controls.

    There are actually all kinds of effects in Hitfilm (and After Effects and any other video/image editor) that are variations of each other. Levels, Curves and Gamma, for example, are all versions of the exact same thing.

  • In Morphage you draw a line around the area you want to be affected by your manipulations, and nothing outside of that line moves. 

    You can also simulate 3D.  So for example, you'd draw a line around a character's head to indicate the area you want to manipulate.  Then you'd draw another line larger than the head to indicate the boundary of the manipulation area.  You could then expand the size of the head to simulate movement towards the camera.  You could do the same thing for other areas of the character, to create a waving hand, a tapping foot etc. 

    You could keyframe all of the above to create a more complex animation,  but I must say I probably find Hitfilm's keyframe interface a bit easier to use.

  • Triem23Triem23 Moderator

    @PhilTanny I split the Morph discussion to a new thread. I'd like to see morphing added to Hitfilm and think Morphage isn't a bad model for Hitfilm's devs to look at, but it's really a different topic (and would be created as a "new effect"). 

    To go back to something I wrote above, the tesselation in Puppet is a good first step towards a Liquify or Morph tool, but the implementations are different. 

    So Puppet is basically sticking linear "springs" between points and moving a point bends the springs. Morphing defines a spline and deforms along that spline. Adding this to the Puppet tool is a design nightmare--now we need a series of controls to say points 1-6 are Spline A, points 7-15 are Spline B, etc, and future confusion when someone asks "Why is Morph called Puppet?"

    While much of the basic work exists already, a morph function would be a new effect with a new interface optimized for splines. 

    There's already precedent for this in Hitfilm. In an earlier post I mentioned Levels, Curves and Gamma. All three effects do the same thing--they alter values of color channels by mapping an input value to an output value. Gamma remap the 50% point, drawing a curve between fixed top/bottom and an adjustable middle. Levels adjusts 0, 50 and 100% points with linear values assigned between the points. Curves starts with 0 and 100% points and lets one add points where they want and change them between curved and linear changes. So, three effects, three slightly different implementations, but same underlying principle--remapping channel values.

    Same goes for Displacement and Heat, Smoke, Fluid, Energy and Block distortion. All are basically Displacement filters. The difference is that Displacement requires an image/video layer to drive the Displacement while the Distortion effects have a built-in Fractal Generator... Which is (you may have guessed) the same generator behind Fractal Noise. In fact when Smoke, Fluid and Energy Distortion got added to Hitfilm Fractal Noise suddenly had new Energy, Smoke and Fluid types of noise. The Distortion effects are (technically) "optional" as one could get the same results animating a Fractal Noise in a Comp Shot and using that to drive a Displacement effect. But, the way the controls are laid out in the Distortion effects are easier for this type of look (using a Wind Direction knob and Wind Speed instead of figuring out the X/Y transform values for a Fractal Noise). And the Distortion effects add a Diffusion which would require a modified copy of the Fractal Noise comp to drive a Set Matte on a grade layer to choke a blur.

    Yet there is nothing about Heat, Smoke, Energy, Fluid and Block Distortion that couldn't have been done in Hitfilm before those filters were added. They're simply rewritten interfaces to tweak things that already existed in an easier way. 

    Which brings us back to Puppet vs Morphing vs Liquify.  The same underlying principles drive all three effects, but the implementations are different enough to be "different effects."

    So, as stated before, the Puppet tool will never become a morph effect and we should treat morphing as a different topic. 

    As a Windows guy I do note Winmorph is a classic... ;-) 

  • edited May 2018

    Liquify would be a great addition for me. I use something called AnmanieSMP at the moment.
    It is quite basic but simple to use. However, it does add extra steps to the workflow. 

    <edit : I am sure I got WinMorph on a magazine CD a LONG time ago. Thanks for the reminder :-)

Sign In or Register to comment.