Search - User list
Full Version: Metahuman Animated Map Adaptaion from Matx to Octane
Root » Rigging » Metahuman Animated Map Adaptaion from Matx to Octane
noc2
Hi;

This question goes out to those who are already familiar with the Metahuman plugin for Houdini.

When you create a MH via the "Metahuman Character Rig" node, enable "Import Textures" and "Animated Maps" then make the HDA editable and dive inside, you can see the rig logic that deals with everything from the body/facial rig setup to how the animated maps are controlled via Apex Rig Logic.



Inside the "mh_anim_shader" matnet, there's a MatX subnet named "head_shader_am" in which an extensive setup that deals with the animated wrinkle diffuse and normal maps. The maps are multiplied via "Subnet connector" parameters that are promoted up at Material level. I could be way off, but I believe that the rig logic looks for corresponding blendshape values and then correlates their values with these promoted subnet inputs so that when a facial CTRL slider is manipulated and a certain blendshape gradually becomes active, so does its corresponding subnet input parameter value thus creating animated wrinkle maps.





My aim was to adapt this Matx based setup to its Octane counterpart. So I copied the entire setup, minus the shader into an Octane Material Vop. But since this is a vopnet, it does not promote subnet parameters, only Shader parameters. So, even though I named the Octane Vop "mh_anim_shader", its promoted shader parameters can not be invoked through the Apex rig logic, and the attempt failed

Is there a direct or indirect solution to this, what do you think? Are MatX Subnetworks and Material vops inherently different from one another altogether?

Any help/suggestions or ideas are highly welcome.

Lotsa cheers;

AJ
edward
Quick google says that Octane should already support MaterialX? https://docs.otoy.com/standaloneSE/MaterialX.html [docs.otoy.com] ... So I would expect that the plugin would translate this appropriately for rendering without you needing to do anything extra.

If you really need to substitute the material, you'd need to make sure that the material assignment of the geometry inside the "mh_material_anim" is pointing at your new material. First test is to see if any textures come through at all. Inside the APEX rig, the mh_logic node will output the material_override attribute with the appropriate texture blending value that gets used by the material. I'm not sure whether the Octane plugin properly supports the material_override attribute, it might not.
noc2
Hi Edward;

Thank you for your reply. My very first instinct was to try and see whether the Matx network of a MH character out of the box would render nicely in Octane as well as it does in Karma, unfortunately that didn't work out Octane's Matx implementation requires that you use Matx nodes inside an Octane Vop. Octane does not recognize a MaterialX subnetwork, none of the textures were recognized

Then, what I did was to create an Octane Vop, copy the network inside the MaterialX subnetwork into it and name the Octane Vop exactly as the Matx subnetwork so that it gets assigned to the head. Upon diving inside, I saw that I could only promote the mixers parameters as Shader Parameters, not as Subnetwork parameters :-/ I tried to see whether Apex will recognize and adjust shader parameters, yet to no avail. And therein lies my problem :-(

I know that there must be some other way to this going but I can't figure out what it is that I'm missing
edward
To be clear, this issue should independent of APEX, but it might be that you're missing something else. There's multiple things that can go wrong and it's hard to tell without an example file. It's a MatX issue. Here's an example file that replicates the MatX setup that the MH character uses. First see if you can get this to work with Octane at all.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB