Information about 3D reflections

Pixelboy
Pixelboy Posts: 33 Enthusiast

Hi!

I'm trying to set up a 3D set in HitFilm Pro 2017. I'm seeing some odd behaviour with the reflections. Firstly, the set doesn't seem to reflect on itself properly - the furniture  doesn't show up on the metal floor, etc. I thought perhaps that one mesh simply doesn't  self-reflect in HitFilm, so I made another copy and hid it with "Casts Reflections if Not Visible" toggled. This definitely helped, although the reflections appeared in slightly strange places. Things got really odd when I tried to place an object in the set. At first, I thought it wasn't reflecting at all, but I eventually found that the reflection was there, but wildly outsized and far away.

Finally, I have some composite shots of characters keyed and placed in the scene, and they don't appear to be casting reflections at all. They're currently set as 3D planes, and they intersect with the set and other objects just as expected. They cast (oddly diffused?) shadows, but no reflections. I tried to see how they would work as "3D Unrolled", but they just vanished - which is very odd. Is there some documentation on the way HitFilm handles reflections that I am missing?

Comments

  • Pixelboy
    Pixelboy Posts: 33 Enthusiast

     I'm also experiencing something odd when employing motion blur on 3D objects - the directional shadows stop displaying when motion blur is enabled. Any insight as to what's going on there? I know it's a separate query, but I felt it made more sense to add to this thread rather than generating a new one.

  • Hi, I was having similar issues with 3d models casting reflections onto planes, and I've submitted a support ticket; the issue has been added to the bug tracker so hopefully Hitfilm will have if fix for it in an upcoming update.

  • In the meantime I found that separating the scene into separate composite shots, then bringing them into one comp as 3d unrolled layers helped with a lot of what was going wrong, just not the DOF.

  • Pixelboy
    Pixelboy Posts: 33 Enthusiast

    Thanks, I'll give that a try! It seems HF doesn't do true raytracing for its reflections, which makes sense because that would be slow. I just wish I knew more about how it does generate reflections. I feel like knowing that would be very helpful in terms of predicting and manipulating where the reflections fall and what they look like.

  • Triem23
    Triem23 Posts: 20,679 Ambassador

    @Pixelboy I know Hitfilm's Environment Maps are sphere mapped. For dynamic reflections I would guess Hitfilm is quickly creating a sphere map as well. 

    This article may help. 

    https://en.m.wikipedia.org/wiki/Reflection_mapping

  • Pixelboy
    Pixelboy Posts: 33 Enthusiast

    Thanks; that does appear to be basically what's happening. I wonder how the "Casts Reflections" and "Receives Reflections" toggles work? Do they simply control whether the object is included in the generated map, or does each object get its own map? If it's the latter, how are relative scale and position calculated? What's the relationship between that map(s) and the maps available in the "Environment Map" dropdown in the Materials portion of each layer?
    I'm getting results I can work with, so I'm not in dire need of answers to all this - it just sort of seems like there's a page or two missing from the documentation

  • Triem23
    Triem23 Posts: 20,679 Ambassador

    Dynamic Reflections is brand new--literally added to Pro the week before Express 2017 came out. It wouldn't actually surprise me if that wasn't in the manual yet. Even still, the eventual manual entry probably won't go into that much detail. 

    At a guess, each layer is calculated individually. Probably projecting outward the surroundings from the center of the layee, then summing up that data with any Environment Map layer? 

  • Pixelboy
    Pixelboy Posts: 33 Enthusiast

     Oh, I didn't realize it was such a recent development! No wonder they've not had time to write much about it or demonstrate it.

    I tried something out for curiosity's sake - here's an .obj file situated on a 3D HitFilm plane. The reflections work extremely well, and update in a realistic, predictable way:

    HitFilm plane reflecting object

    Here's the same scene, but this plane is an .obj file (like all of my virtual sets are) imported, set up with a reflective surface, and composited as "3D Unrolled". This reflection appears to be the result of a spherical reflection map generated based on the scene, which makes sense. But, the scale and position of the reflected object is very much approximate. I think that, for a flat surface like this that needs precise reflections, it would work to place a HitfFilm plane in the scene in the same place, and try to blend that surface into the scene.

    Object plane reflecting object

  • Triem23
    Triem23 Posts: 20,679 Ambassador

    Possible. Try putting both OBJs in a 2D composite mode, open the Layer properties for, say, the gateway and select the floor as the Depth Source layer. Also new (and underdocumented) in Hitfilm Pro 2017 is the new Depth Layer function which lets you telp layers A and B to occlude while staying in 2D mode for adding effects. 

    Just curious if it changes the reflection map.