Light Shaft Width

DrIgnatiusColeDrIgnatiusCole Website User Posts: 26 Just Starting Out

Hi guys,

Is it possible to change the light shaft WIDTH for a light shaft emanating from a source - so that it is more cone shaped rather than cylindrical?

Some context: I am using automvolumetrics and it's awfully close to the effect I want, I could even key frame it's source position so that it emanates more realistically relative to the source....I am attempting to use hit film to add volumetrics to an airship emerging through clouds, with multiple lights arranged around it. I am trying to avoid using too much volumetrics in blender which is the source footage. The cloud is volumetric cloud, and shows the rays reflecting from the cloud, but I want some mist below the cloud to rendered via hit film.....if possible.

So far I can change everything to my liking except being able to make the light spread from the source.


  • Stargazer54Stargazer54 Moderator Moderator, Website User, Ambassador, HitFilm Beta Tester Posts: 2,900 Ambassador

    @DrIgnatiusCole You might a take a look a the tutorials below for some ideas. Not knowing much about your scene but it sounds like you need to obscure the light source with a shape. You may even need to turn visibility off for the shape object but still have it affect the light rays.

  • DrIgnatiusColeDrIgnatiusCole Website User Posts: 26 Just Starting Out

    Thanks for this - I've seen both these tutorials. I'm always impressed at how effectively Hitfilm can do things to a high quality and virtually in real time.

    The scene is this:

    From this extremely rushed animation.

    (Boshed together very quickly - don't judge me!)

    The bottom picture is a still from the animation and I very pleased with the effect - especially in the time. But it's done in Eevee, and I am trying to step things up and work more in Cycles - a path tracer. But cycles is extremely time consuming to render, and I am trying to figure out ways I can do less of the FX in Blender and more in Hitfilm.

    There are 2 volumetric elements in this scene; 1) the cloud and 2) the atmosphere. The lights reflect nicely off the cloud, but in order to make the lights reflect more off the atmosphere, I would have to either increase the brightness of the lamps, or make the atmosphere density greater. If the lights are too bright, they become too bright for the clouds, and if the atmosphere is too dense, even with clipping, you lose detail in the scene.

    Rendering volumetrics in Cycles is horrendously difficult and time consuming, although the results can be worth it. So I would ideally like to off load as much to hit film which do these kinds effects with hilarious ease it appears. The top picture is a quick attempt. I rendered the scene without FX from Eevee and much brighter to simulate what I might to do with Cycles. I could do a render pass with just the lights and use that in a composite shot in hit film and I'd get a better result. But actually, just roughly bunging in autovolumetrics I was **** close, I just can't get the light beams to spread.

    Another possibility is to select the lights on the model in Blender and export a hit film composite shot with the camera. I could then parent lights in Hitfilm, or some how use that as a light source for the rays. OR...I could export the empty that the model is attached to and parent the autovolumetrics...

    So what would you guys do?

    The effect we are looking for is the dirigible emerging from a cloudy night sky with light reflecting from the clouds and mist in the atmosphere.

  • Stargazer54Stargazer54 Moderator Moderator, Website User, Ambassador, HitFilm Beta Tester Posts: 2,900 Ambassador

    @DrIgnatiusCole I assume you are asking how to do the volumentrics in HF instead of in Blender. What I would suggest to not necessarily use HF as a replacement for the effect in Blender but use compositing in HF as a way to improve on the shot.

    You might need to use an approximated low res version of an object in the foreground (that stands in for your rendered object-or a shape from it) that obscures the light flare and volumetrics. Think of it like a gobo, if you familiar with lighting terms.

    The pattern you put in front of the light source can give you some interesting volumetric shapes. That comped over your rendered footage can add a lot to the shot. It will just take some more experimentation in HF to work out the details. Just work on a simple comp at first and don't get bogged down in trying to blend it with the rendered footage until you have a workflow that works.

  • Triem23Triem23 Moderator Moderator, Website User, Ambassador, Imerge Beta Tester, HitFilm Beta Tester Posts: 18,741 Ambassador

    Well... I'd say go to and consider shelling out for "Filmer."

    Filmer is a custom Blender build by our own @spydurhank. It has built in tools to help integrate Blender and Hitfilm, but Frank (spydurhank) also wrote custom shaders and optimized a lot of code. Filmer renders much much faster than the main Blender build. For a Blender artist working with Hitfilm this is a huge timesaver. Heck, for a Blender artist who DOESN'T use Hitfilm the speed improvements would be a timesaver!

    I'll let Frank tell you more about it. It's his baby.

  • spydurhankspydurhank Moderator, Website User, Ambassador, Imerge Beta Tester, HitFilm Beta Tester Posts: 2,922 Ambassador

    Thanks Mike @Triem23

    @DrIgnatiusCole Howdy, I assume you're using this Joshua / HitFilm Exporter for Blender · GitLab ... if you are, then things are very likely to not work as expected but that depends on what and how you approach what you're trying to achieve. Doing it in Blender alone is gonna be more technical for you but I aint touching that, I'll explain below in better detail as to why issues may occur. :)

    I code my own version of Blender named Filmer because I love using Hitfilm. First, Filmer has a ton of extra third party code which I add as soon as I can add it. For instance, Filmer had oi ai denoiser and optix ai denoiser before it was added to official Blender. We also had the new Sky model implemented first as well as Adaptive sampling, dithered sampling, scrambling distance. I even wrote a noise generation method with a bit of math that speeds up renders. Filmer's Cycles for Hitfilm render engine renders waaaaaaaaay way faster than Blenders default Cycles render engine. I've just started dabbling with speeding up Volumetric rendering. I can get about a 10% to 16% speed boost with volumetric rendering in my Experimental Filmer builds which I'll add to official Filmer asap.

    I have my own Filmer/Blender to Hitfilm Exporters that I've been maintaining since 2013. It's my personal custom and standard to credit others when they help me so here's a bit of that.

    I've lost track of the original author of the first Blender exporter for Hitfilm. Harry Yu, I think his name was. The second was Mark Edwards. I am the 3rd Author, like I said since 2013.

    Around that same time, animatable keyframes for 3D orientation was removed from Hitfilm so this caused massive gimbal lock when importing animated 3D camera data from Blender.

    Two years ago I added credit to the authors of the Blender After Effects exporter to my Filmer to Hitfilm Exporter as I borrowed some of their code after Greg @GrayMotion mentioned it to me in my very first Skype chat with Jay @FilmSensei and @GrayMotion.

    So I used bits of the AE exporter code and the animation transforms from a Maya exporter that I wrote, and added that to my exporter which solved for the gimbal lock that would occur due to the before mentioned, removed animatable keyframes from 3D orientation so we've had correct 3D rotation animation from my exporters for two years.

    Last year when Hitfilm Pro 15 was released... the FXhome guys re-added animatable keyframes for 3D orientation which allows Josh's script to work with no Gimbal lock. I've since added author credit for Josh in my Filmer to Hitfilm exporter because I borrowed a handful of characters from his code. Now that we can animate 3D orientations again in Hitfilm... I don't need to use hacked code from my Maya exporter to get correct rotation animations anymore so I'm simply using these characters * -1.0 from Josh's script.

    As to why things could go wrong... Josh did the same thing that I did which was to use some of the AE exporter code to write his exporter and unfortunately, he wrote some things that where identical to my own exporter. This has the very bad side effect of causing either My exporter, Josh's script, and even the AE exporter to fail. Blender gets confused when different exporters use the same naming convention as other exporters so because units of measurement and transforms are dealt with differently by all three programs and each exporter deals with world coordinates and conversions differently... well you're bound to have things go wrong because Blender won't know which operation to use and I don't know how Blender chooses which operation that it should use. I know this from experience because I accidentally left in some AE code, two years ago when I switched over to using the AE code bits in my exporter. Everything worked fine after removing four AE code characters from my script... so just be aware of that possible issue if the AE exporter addon is activated.

    So that's why things could go wrong. If you're using Josh's script... then make sure that the AE exporter in your copy of Blender is not Activated.

    I don't recommend using Josh's addon with my Script either as he's doing something totally different to deal with world transforms and my script will break his or vice versa. I only say this because my exporters from before 2 years ago were "stand alone addons" and are all out there on the web... so anyone using them is gonna have issues.

    I've since written my exporters directly into the Filmer/Blender UI and have gone through entire re-writes of all my code so that my Exporters will work even if either or both AE export addon and Josh's export addon are installed in Filmer. I've gone to a lot of trouble and spent a ton of time making sure that people have the freedom to use whatever they want in Filmer, whether it's my built in exporters or Josh's addon.

    As to your question... check out the last two videos below. It's two demo videos of me using Filmer/Blender with Hitfilm.

    I create a 3D scene with custom 3D assets that I built myself except for the very last video which I used models from Sketchfab and Gumroad. The Sketchfab and Gumroad models had to be cleaned up, which I did in Filmer.

    I animated the scene.

    I render out passes as image sequences.

    I export the animated 3D geometry in the entire 3D scene along with the animated camera and empties.

    I import all that into Hitfilm for some compositing magic because the exported 3D scene geo, camera and empties line up perfectly with the Filmer/Blender render passes.

    Anyway, checkout the videos below as they'll give you some idea on what to go for if you're using Josh's addon,.. and if you decide to learn from me and go with Filmer... well then I can for sure help you. :)

    My thread here on the forums. Filmer 3D for Hitfilm : Design and VFX. — FXhome Community Hmmm, that's weird... I have the longest running thread on the forums... my view count has dropped by almost half. Last time I looked was two years ago but I'd just broke 98K views... weird forum glitch I guess.

    My website. owmycgi | Home

    My YouTube channel spydurhank - YouTube

    A few WIPS videos

    A few demo videos of me showing a bit of my workflow...

    I also do one on one or group teaching sessions via video chat like Skype or Zoom. I'm editing my last video chat at the moment showing

    Greg @GrayMotion a few of my compositing techniques combining Filmer/Blender with Hitfilm. There's even a tiny bit of my Fake Path tracing in Hitfilm during this particular Skype chat which was really fun. :)

    Let me know what you think.


  • DrIgnatiusColeDrIgnatiusCole Website User Posts: 26 Just Starting Out

    Hi - yep I have Filmer. And that is definitely an area I want to investigate more, I was considering mentioning it. But there are a couple of issues: I am mostly on Linux and Filmer is Windows only...that's not a deal breaker. I was more looking at simply whether or not I could control ray width. I realise too that this specific scene would be ideal for Filmer - but not all of them are.

    Also, I am on 2.91 with Blender, and looking forward to 2.92. My next port of call was to see where Frank is with Filmer.

    I shall go through the rest of this thread....thanks for the responses guys.

  • DrIgnatiusColeDrIgnatiusCole Website User Posts: 26 Just Starting Out

    Hi Frank - it's me Rohan.

    You've been tremendously helpful in the past...but I haven't been able make Filmer work the way you've shown me...yet.

    "I import all that into Hitfilm for some compositing magic because the exported 3D scene geo, camera and empties line up perfectly with the Filmer/Blender render passes."

    We haven't yet been able to make this work going from Filmer to HF. Every time the models and the empties don't line up - the scale is all wrong. In actual fact the old script you mentioned did export the camera and empties in the right place, or near enough that we were able to adjust to make things work. But the models never worked. I understand the process - it's a great idea and we will definitely be attempting to get our head around that again.

    Prior to this project, for simplicities sake and because we were using Eevee, it was simpler to do everything in Blender. In fact we often made up FX in hit film or Boris and used images as planes, putting them into the environment. It worked very well, but since we are now trying to move to cycles and using render passes, Filmer might come into its own.

    A potential issue we have to investigate is whether Filmer renders slightly differently to Blender (hopefully not), because I have a number of computers setup for rendering, many of them Macs, using Crowd Render. Hopefully everything should be compatible. So far it HAS been an issue just with Blender alone, with differences detectable even between images rendered on Cuda with similar RTX cards. Yet other times not. I have been given to understand that there shouldn't be differences.

    But thanks for piping up here. It's inspired me to take another dive and do some testing. I have a big project planned for later this year, and I am hoping to use it to step things up. It'll help too that the machine for VFX has been massively upgraded - so it'll make working HF a lot easier.

  • spydurhankspydurhank Moderator, Website User, Ambassador, Imerge Beta Tester, HitFilm Beta Tester Posts: 2,922 Ambassador

    Oh snap Hi Rohan, @DrIgnatiusCole !!! How the hell are you dude? :)

    I tried your 7 million + poly scene on my end and it lined right up in Hitfilm with the beauty pass that you provided. We can do another Skype chat if you want, no problem. :)

    Filmer is currently in 2.92 and about to be in 2.93+, I'm just finishing up coding a few little nick knacks/tools for Filmer then there'll be a new upload for you guys of Mack Daddy proportions.

    Every version of Blender itself from 2.79 to 2.92 renders a bit different. The output values after Filmic was added makes stuff look different, shaders are different too. The 3rd party sampling methods that we've had in Filmer for like ever, may be added to official Blender at some point so output renders will eventually change even further. And as you've probably noticed, Cycles render output is different between cpu and gpu device vendors. So rendering different scenes with different devices... every rendered output is gonna look slightly different because each device type handles Cycles Monte Carlo path tracing a bit differently, so each device renders with slightly different noise patterns.

    Path Tracing is very slow in general because it is a guessing algorithm and the math used to calculate rays is pretty slow. CPU provides the most accurate and stable renders. If you know and realize that 3D render engines are just guessing as to what your scene should look like... then you know that nothing which is being rendered is actually accurate. Remember, it's just a guessing game and it causes a lot of noise. The best you can do is use the noise patterns by comping them together in post. What I'm doing is telling Cycles to treat every noise pattern as if it were a render pass and every noise pattern is comped together under the hood when you click f12. This leaves you with the regular render passes or custom AOVs which you can comp together later in Post.

    In the Cycles C++ code there is a type of samples simply called "Step". There is an artificial cap on the step samples... I simply cranked the amount of step samples that are generated which render waaaay faster than official Cycles. I then coded a few noise generation methods with a bit of basic math to speed the step samples up even further. Scrambling distance provides an extra noise pattern and also adds render speed. I also managed to combine the viewport samples with the final render for an extra noise pattern, I then added Pixar's Adaptive Sampling which is pretty fast but causes some serious noise issues having to do with Noisy shaders, too bright emissive mesh objects, lights, glass volumes, refractions, caustics and atmosphere volumetrics. so I hacked the Adaptive samples, I wrote a bit of code that automatically adjusts Adaptive samples depending on the type of shaders and light sources used in scene, this helps all of the Denoisers in Filmer to output a cleaner image than you would normally get at lower samples.

    FYI... the default Blender shaders cause a lot of noise... not that noise is bad, it's just that 99% of noobs use the default Cycles shaders and end up having to crank up the render sample count rather than optimizing their scene to deal with noise. To help and bypass the noob-ness of noobs, I wrote some new shaders that both render faster and cause less noise and simulate Global Illumination.

    On the subject of noise... I'm re-adding something called "light groups". It separates individual, and or grouped light sources into individual render passes which create obvious new noise patterns which tie in perfectly into how I treat noise patterns in Filmer's Cycles render engine. They provide soooo much extra added detail... it's pretty cool. :)

    The 3D origin point of a mesh object is changed by the application that you're importing to... in this case Hitfilm. The simplest option depends on symmetry and that the 3D object is centered at the 3D world grid. A plane, a cube, a sphere or a cylinder are symmetrical so if you put them at the world origin, they will always import correctly into Hitfilm but.... if you rotate anyone of these objects by 15 degrees in one axis and then rotate another random axis by 25 degrees, and then export to Hitfilm... Hitfilm will import the mesh exactly as you see it in Filmer but the origin point will be thrown off on import to Hitfilm.

    So for basic and symmetrical shapes, place them at the world origin.

    For 3D characters, make sure that they are first symmetrical and in a T-pose then place at the world origin. This may not always work for some characters because of hair, cloths, and miscellaneous equipment.

    For hard surface objects... it's the same as with 3D Characters. Look for symmetry but it's tough to say. One extra vertex will change everything. Hitfilm does a simple thing to read the volume in a bounding box and it does it very well. If a 3D object comes in, not very well centered... then you know for sure that there's something up with your 3D mesh.

    Anyway, it's good to see that you're still VFX'n and hangin' with it. I saw that music video you made... you weren't kidding, you had some massive, massive... seriously massive 3D sets.

    Ah, we also have a new and faster .obj exporter written in C++ thanks to you for having sent me that entire and very detailed 3D concert hall that you used as one of your 3D sets. Awesome stuff man.... awesome stuff for sure. :)

    Yeah, let me know whenever you want to video chat... maybe we can get a few other folks involved. :)

    Did I rant? I was doing a few thing at once and got distracted. :) Yay Coffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee! :)


  • DrIgnatiusColeDrIgnatiusCole Website User Posts: 26 Just Starting Out

    You are about as legendary a chap as I have ever encountered on the inter webs my friend. Thank you so much for this.

    I think when we get to do the next video, I would indeed like to get a few people involved. The first one was a massive learning curve and I never intended to do everything myself, but with lockdown and getting so far in to it, and just being so interested in the whole process, it became the challenge to see if we could pull it all off ourselves. Already the Xmas video is a massive improvement, and that was done in just a few days - it was very rushed. I feel a lot more confident about much more of the process.

    Do you have a forum where you regularly contribute or will the HF guys be happy for us to use this one? Contacts I can recruit? Also advise on issues more generally with Blender? Stack exchange is a bit slow and useless.

    I'll be in touch soon to get an update to Filmer so I can continue with my workflow experiments. At this stage I think I need to understand Hitfilm a bit better, so I have been fooling about with it myself. My wife/VFX person understands it much better so I have help here for the moment.

  • spydurhankspydurhank Moderator, Website User, Ambassador, Imerge Beta Tester, HitFilm Beta Tester Posts: 2,922 Ambassador

    Hey thanks for that @DrIgnatiusCole . :)

    I do have a forum on my website which we could use. :)

    You can also start a dedicated Thread here on these forums. :)

    Back in 2012 and 2013... a handful of us started an FXhome user, community project and we posted our progress here, on a dedicated thread. It was actually pretty cool. I built all but one of the 3D assets which consisted of spaceships, a destroyed Earth and moon... and a whole mess of asteroids. When I wasn't creating 3D assets, we used my machine to render the heavier scenes because I had one of the faster machines on the forum. It was a good machine for 2012-2013. :)

    Yeah, collaborations can be tons of fun and you'll learn a lot. :)

    I've used the Blender stack exchange a bunch of times but I've only looked around to see and understand how and why some guys code one way and other guys code a different way and so on and so on. Basically so I can understand how coders approach things when coming into a coding project. I've never had to actually ask a question yet because I always seem to find several good sources on "whatever" code subject that I'm looking for. :)

    Aha nice, you've got an in house vfx artist, Cool. :)

Sign In or Register to comment.