VRayMat to Max native PhysicalMaterialMat Conversion?

Has anyone ever done this successfully?

it’s a crappy hack I realize. I understand the parameters are quite different but it seems like it should be possible to “ballpark”. The Max PhysicalMaterial behaves in the viewport as high-quality PBR and can look totally presentable. it is then possible for me to just use Preview Capture instead of rendering at all for this particular project where rendered quality can wait till later for now. It’s not as good as VRay obviously, but sometimes nobody cares… and you have 8000 frames to get through in very little time. Something like PowerPreview and good PBR materials works pretty awesome for this problem.

I wish I could get the VRayMaterial to just work with the high-quality mode the same way the physical material does, but I understated why/how they are different. When I get my 6,000 video card I will then just use the VRay progressive renderer …which is a world better in quality… Until then though I can’t afford the time to clear the noise. So I am just reaching out to see if anyone has done this or knows of a way to do so as an MS file or batch script.

I always work in big Multi-Subs, so as a temporary solution, I just cloned it and manually made a PBR/PhysicalMaterial version. So at least it is easy to switch now as needed.

Anyone ever try to tackle this?

Try and see what the viewport looks like if you use the new VRayPluginNodeMtl, then inside that from the dropdown, choose BRDFModoUnity (or BRDFModoUnreal). That will give you same PBR material functionality as in Unity or Unreal. Of course I have no idea how this would look in viewport as I cant test this right now

I will give it a whirl and post my solution here when I come into what works best. Thanks for the advice. That plugin node is like a mystery box.

This is really interesting - one thing that’s missing are the additional maps it seems. Normal map for example appears to be absent

Attached, a script to convert vrayMtl (only!) to PhysicalMaterial.
Converting all will convert also the ones in the material editor.
The listener will print the outcome of the operations.
Run it, and press either button.

A word of notice: the script comes as-is, and without any form of support.
You are however welcome to extend it as you see fit.
If wanting to share an unmodified version, please link back to this post.
convertToPhysMat_008R.zip (1.86 KB)

Thanks Lele,

I really find this usable. However to make it more usable there are some things that are not working correctly and since I’ve never had the time to learn scripting I don’t know how to fix these.

1. On diffuse color, there’s gamma correction, which I need to reverse manually on each material.
2. On reflections, the amount is changed to 1.0 and I need to change it back to 0.0 manually on each material.
3. On self illumination, it don’t recognize map, so I need to convert it without self illumination maps and ad it manually later to converted material.

Having never played with PhysicalMaterial neither, there was one thing wrong in my posting. On reflections, instead of 0.0, the correct value is the same to HSV color value V the lightness. When it is used, the converted material looks very same to original V-Ray material.

Max 2021 will have conversion scripts towards Arnold, made directly by AD.

Mads made a nifty little one you can plug into the native Adsk one:

Unless he’s made it *much* better, it’s not gonna work (it has not with me, and it was riddled with conceptual mistakes.).

I meant the stuff shipping with Max2021.

Yeah I’m not talking about the one shipping with Max. I think I saw on FB he had made a scene converter thingy and you configure the adsk one to use his one instead
(but I havent tried it yet so can’t really sing its praises)

I tested today the “arnoldconverter” in Max2020 (for the simple need to bake my lighting), but I couldnot get a proper result. If someone has better experience, I would be curious.