I've been searching and searching and testing many different setups but no matter what I try I can't get material overrides to properly work with an HDA inside of Unreal.
My setup is simple, a for loop that sets the material and override for the basecolor_texture. But no matter what I do this only imports blank when in unreal. The only way I can get it to load the texture in is by hard coding the path directly in the shader. Is it even possible to do this? My end goal would be to load the textures in then assign them to an instanced Unreal material but I first need to get them loaded.
Any help would be appreciated.
Unreal not loading material overrides
4495 3 1- jreeves
- Member
- 5 posts
- Joined: May 2017
- Offline
- jreeves
- Member
- 5 posts
- Joined: May 2017
- Offline
- dpernuit
- Staff
- 550 posts
- Joined: Sept. 2016
- Offline
Hi,
Unfortunately, material overrides like this won't be supported by the unreal plugin, as the plugin / HAPI only sees this setup as one material (the one in your matnet), and will only use its default value (the one directly set on the material itself).
You'd actually need to create a new material for each of the piece in your loop, and assign it to the unpacked geometry.
In UE4, the plugin would then create a material for each of the pieces, with the texture assigned.
You could then use the unreal_material_instance attributes to create instances of an existing Unreal material, and unreal_material_parameters to use the texture created from the houdini material.
Unfortuantely, there is currently no way to just set an image file path to the “unreal_material_parameters” and have unreal automatically load/create the texture, but that would be a good RFE.
Unfortunately, material overrides like this won't be supported by the unreal plugin, as the plugin / HAPI only sees this setup as one material (the one in your matnet), and will only use its default value (the one directly set on the material itself).
You'd actually need to create a new material for each of the piece in your loop, and assign it to the unpacked geometry.
In UE4, the plugin would then create a material for each of the pieces, with the texture assigned.
You could then use the unreal_material_instance attributes to create instances of an existing Unreal material, and unreal_material_parameters to use the texture created from the houdini material.
Unfortuantely, there is currently no way to just set an image file path to the “unreal_material_parameters” and have unreal automatically load/create the texture, but that would be a good RFE.
- neonjunkyards
- Member
- 20 posts
- Joined: Sept. 2013
- Offline
Is there any support for this kind of functionality in newer versions of Houdini Engine 2.0? Looking to do something similar, automatically generate textures and material instances from a material_override attribute, without having to create tons of shaders in python etc, which can be problematic when using PDG. thanks
-
- Quick Links