AR mask and Unreal Reflection catcher dosent work together.

 

Hello. 

I Have a 3d model of my studio stage whos geometry I use as a mask, following this guide:
https://aximmetry.com/learn/virtual-production-workflow/ar-production/ar-mask/


It works perfectly for my AR elements yet it fails to hide the reflection catcher I place in Unreal.


The followig image shows my stage with the Gray geometry which i am using as a mask.AR mask and Unreal Reflection catcher dosent work together.

And after applying the alpha holdout material on the gray mesh you can see how it effectivly hides the text and the cube, but the reflections generated by the catcher are still visible. 

 AR mask and Unreal Reflection catcher dosent work together.How can I mask out the reflection as well ?


Thank you.

   Blackfish Studio

 
Profile Image
ericmarodon
  -  

I think it's because both materials are translucent and cannot really obscure one another well.

The trick I discovered is to hide a mesh with an opaque material inside the AR mask geometry (it can be the same mesh, slighty smaller, depending on the shape).

The AR Mask will hide the opaque geometry, and the opaque geometry hides whatever is behind and you get the result you wanted.

Best,

Eric

 
Profile Image
Blackfish Studio
  -  

Hello Eric. 

I have tried that as well, but unfortunately, it does not work for me. 

I Appreciate your advice :)

Thank you.

 
Profile Image
Blackfish Studio
  -  

Is there a work around it Aximmetry ?

 
Profile Image
Eifert@Aximmetry
  -  

Hi,

What is happening is that the reflection catcher functions as another 'camera' that renders the reflection from the position of the reflection plane.
In Aximmetry, this rendered reflection is layered between the studio camera's input image and the image of the rendered geometry from Unreal.
Since the alpha holdout hides the rendered geometry from Unreal, it reveals the layer of the reflection under it in Aximmetry. This is why the reflection remains visible over the alpha holdout.

Eric's suggestion is applicable when you want the alpha holdout to also conceal elements in the rendered reflection, whereas, in your situation, you want the AR Mask to hide the reflection itself.

Unfortunately, I couldn't find a straightforward solution using only Unreal. Instead, in Aximmetry, you can easily render a mask with your Gray geometry. To do this, import your Gray geometry into Aximmetry and make sure to deselect Import Materials during the import process:

More information on model importing in Aximmetry can be found here: https://aximmetry.com/learn/virtual-production-workflow/obtaining-graphics-and-virtual-assets/creating-content-in-aximmetry-se/importing-a-3d-model/#introduction

Then, render your model from the AR camera's perspective and use it to mask out the rendered reflection with the following logic:

Note that the Unreal_Transformation compound can be utilized to transfer the transformation of your Gray geometry in Unreal into Aximmetry without needing any conversion to Aximmetry's coordinate system.
Also, there can be a 0-2 pixel difference between the rendered geometries of Unreal and Aximmetry. If this causes visual artifacts, you can use a Blender module to smooth out the edges of the rendered mask, before the Masker module.

The following Common library files were used in the above image:
[Common_Studio]:Shaders\TrkCam_Billboard_Mask.xshad
[Common_Studio]:Compounds\Tools\Unreal_Transformation.xcomp
[Common_Studio]:Compounds\Render\Render_General.xcomp

Warmest regards,

;