Page 1 of 1

Green Mist Compositing..

PostPosted: Tue Nov 30, 2021 11:43 pm
by John Laggal
Hey y'all! Would anyone be able to point me in the right direction for how to composite the green mist stuff in this scene in fusion?
I'm working on the mist in blender..
https://www.dropbox.com/s/xjq77k0caikhd ... M.mov?dl=0

Thanks!

Re: Green Mist Compositing..

PostPosted: Wed Dec 01, 2021 6:27 am
by Sander de Regt
It looks really nice already, but without knowing what you want to differently to it, it's hard to give advice. It looks composited to me. Can you explain what you want to achieve?

Re: Green Mist Compositing..

PostPosted: Wed Dec 01, 2021 5:36 pm
by John Laggal
Oh.. Sorry I should I made it more clear.. The footage here is not my composite.. I'm wondering how to get a what steps to take to get a composite to this level or better..

Re: Green Mist Compositing..

PostPosted: Wed Dec 01, 2021 8:04 pm
by Sander de Regt
So is any part of that video your stuff? It's difficult to give tips if we don't know what we're dealing with.

Re: Green Mist Compositing..

PostPosted: Wed Dec 01, 2021 10:22 pm
by Bryan Ray
It might be possible to give some very general things to try when compositing mist and smoke elements. As the others said, it's hard to give any specific advice without knowing exactly what you're dealing with.

First, it's often the case that you need to double- or triple-merge smoke to get it thick enough to occlude the background but still be wispy on the edges. One of my former coworkers built this Thickener tool, which does that with a single slider:

Code: Select all
{
   Tools = ordered() {
      Thickener = MacroOperator {
         CtrlWZoom = false,
         CustomData = {
            Path = {
               Map = {
                  ["Setting:"] = "Macros:\\Effects\\"
               }
            },
         },
         Inputs = ordered() {
            Input = InstanceInput {
               SourceOp = "AlphaDivide1",
               Source = "Input",
            },
            Thicken = InstanceInput {
               SourceOp = "AlphaThicken",
               Source = "Thicken",
               Default = 1,
            },
            EffectMask = InstanceInput {
               SourceOp = "AlphaThicken",
               Source = "EffectMask",
            }
         },
         Outputs = {
            Output = InstanceOutput {
               SourceOp = "AlphaMultiply1",
               Source = "Output",
            }
         },
         ViewInfo = GroupInfo { Pos = { 3685, -148.5 } },
         Tools = ordered() {
            AlphaDivide1 = AlphaDivide {
               CtrlWZoom = false,
               CtrlWShown = false,
               ViewInfo = OperatorInfo { Pos = { 0, 8.75758 } },
            },
            AlphaThicken = Custom {
               CtrlWZoom = false,
               CtrlWShown = false,
               NameSet = true,
               CustomData = {
                  Settings = {
                     [1] = {
                     }
                  }
               },
               Inputs = {
                  NumberIn1 = Input {
                     Value = 4,
                     Expression = "Thicken",
                  },
                  LUTIn1 = Input {
                     SourceOp = "AlphaThickenLUTIn1",
                     Source = "Value",
                  },
                  LUTIn2 = Input {
                     SourceOp = "AlphaThickenLUTIn2",
                     Source = "Value",
                  },
                  LUTIn3 = Input {
                     SourceOp = "AlphaThickenLUTIn3",
                     Source = "Value",
                  },
                  LUTIn4 = Input {
                     SourceOp = "AlphaThickenLUTIn4",
                     Source = "Value",
                  },
                  AlphaExpression = Input { Value = "1-(1-a1)^n1", },
                  Image1 = Input {
                     SourceOp = "AlphaDivide1",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 0, 41.7576 } },
               UserControls = ordered() {
                  Thicken = {
                     INP_MinAllowed = 0,
                     LINKID_DataType = "Number",
                     INPID_InputControl = "SliderControl",
                     IC_ControlPage = 0,
                     INP_MaxScale = 21,
                     INP_Default = 1,
                  }
               }
            },
            AlphaThickenLUTIn1 = LUTBezier {
               KeyColorSplines = {
                  [0] = {
                     [0] = { 0, RH = { 0.333333333333333, 0.333333333333333 }, Flags = { Linear = true } },
                     [1] = { 1, LH = { 0.666666666666667, 0.666666666666667 }, Flags = { Linear = true } }
                  }
               },
               SplineColor = { Red = 204, Green = 0, Blue = 0 },
            },
            AlphaThickenLUTIn2 = LUTBezier {
               KeyColorSplines = {
                  [0] = {
                     [0] = { 0, RH = { 0.333333333333333, 0.333333333333333 }, Flags = { Linear = true } },
                     [1] = { 1, LH = { 0.666666666666667, 0.666666666666667 }, Flags = { Linear = true } }
                  }
               },
               SplineColor = { Red = 0, Green = 204, Blue = 0 },
            },
            AlphaThickenLUTIn3 = LUTBezier {
               KeyColorSplines = {
                  [0] = {
                     [0] = { 0, RH = { 0.333333333333333, 0.333333333333333 }, Flags = { Linear = true } },
                     [1] = { 1, LH = { 0.666666666666667, 0.666666666666667 }, Flags = { Linear = true } }
                  }
               },
               SplineColor = { Red = 0, Green = 0, Blue = 204 },
            },
            AlphaThickenLUTIn4 = LUTBezier {
               KeyColorSplines = {
                  [0] = {
                     [0] = { 0, RH = { 0.333333333333333, 0.333333333333333 }, Flags = { Linear = true } },
                     [1] = { 1, LH = { 0.666666666666667, 0.666666666666667 }, Flags = { Linear = true } }
                  }
               },
               SplineColor = { Red = 204, Green = 204, Blue = 204 },
            },
            AlphaMultiply1 = AlphaMultiply {
               CtrlWShown = false,
               Inputs = {
                  Input = Input {
                     SourceOp = "AlphaThicken",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 0, 74.7576 } },
            }
         },
      }
   },
   ActiveTool = "Thickener"
}


Sometimes it can help things to use the smoke as an alpha to blur the background slightly, especially if the smoke is thin enough to see through easily. Don't overdo it—you just want to give a sense of light diffusion. Maybe turn down the Blend on the Blur node, too, so it creates a sort of misty look even before the element's been placed on top.

When rendering, make an additional pass where you light the element from both sides and the top with different colors—maximize one channel in each light so you get pure Red, Green, and Blue lights. You can use those as masks on a color corrector applied to the smoke to relight it in comp. That way you can tweak the interaction with the background if your rendered lighting happens to not quite get the job done.

Smoke is very forgiving of being warped—you don't want the sharpest of details, usually, so it doesn't usually matter if it gets softened. That means you can be more aggressive with a Grid Warp than maybe you usually would to add some more life or bend it to fall in exactly the right spot if you need to.

Re: Green Mist Compositing..

PostPosted: Thu Dec 02, 2021 8:43 pm
by Kel Philm
Also if you have the smoke passing in front of light sources or bright areas I usually key these out of the background, blur and lightly screen over the smoke to cheat volumetric scattering, also light wrapping as well to illuminate/colour the thinner smoke on the edges.

Try out the free version of Houdini for smoke, I feel it gives you a lot more control, flexibility and a better result than Blender.