OmniPBR material assign normal map texture

I’m trying to do material randomization by creating new material via omni.replicator.core.create.material_omnipbr. But there is a very limited amount of parameters i can set via this function. Especially, I’m missing a way to set a normal map texture. Any ideas?

The material creation api (create.material_omnipbr) has these parameters:

diffuse – Diffuse/albedo color in RGB colorspace
diffuse_texture – Path to diffuse texture
roughness – Material roughness in the range [0, 1]
roughness_texture – Path to roughness texture
metallic – Material metallic value in the range [0, 1]. Typically, metallic is assigned either 0.0 or 1.0
metallic_texture – Path to metallic texture
specular – Intensity of specular reflections in the range [0, 1]
emissive_color – Color of emissive light emanating from material in RGB colorspace
emissive_texture – Path to emissive texture
emissive_intensity – Emissive intensity of the material. Setting to 0.0 (default) disables emission.
project_uvw – When True, UV coordinates will be generated by projecting them from a coordinate system.
semantics – Assign semantics to material
count – Number of objects to create.

And you can randomize them using core.randomizer.materials.

If more parameters are required you can pre-create multiple materials either manually or using a python script and the USD API. And then use these materials randomly by feeding them to the randomizer as a list, and using core.distribution.choice to randomize them.