Quixel Bridge fix for Maya/V-Ray/Arnold (Update!)

Update!

Be careful with the exporting settings! You have to use one of the LOD as well to get correct export/import for high res. geo version and also for simple texture sets.
Really strange, but this way works.
I’ll try to fix this issue later. (It’s a main version issue not because my changes of the renderers.py script.)


Original post:

V-Ray 5 PLE for Maya is available. Because of that I decided to check how the Quixel Bride exporter works with V-Ray in Maya. Well, the results:

This is a highly modified version of the Quixel Bridge (Version 2020.4.1) Maya exporter (6.0) V-Ray and Arnold part.

How to install it (basically you just have to replace one file):

  • Download the latest Quixel Bridge
  • Set the download settings and the export settings (aka set to Maya)
  • Download the new Maya plug-in and install it
  • After the installation process replace the original Renderers.py with this one (uzip it), the typical folder is something like this: ~Megascans\Library\support\plugins\maya\6.0\MSLiveLink\Megascans
  • Start Maya
  • Export assets and enjoy

The displacement issues:

  • Unfortunately you still have to change the non Maya Displacement preview friendly displacement maps (usually: Use an image editing software, copy R channel to RGB, however that not always give you the correct results. Sometimes you have to copy the R channel separately into the G and B channels). It depends on the actual exr.
  • You can try to changing the alpha offset attribute at the file nodes as well.

Changes and fixes, V-Ray part:

  • Removed Specular map import and connection: in PBR that’s not necessary
  • Normal map intensity to 0: Autobump is on by default (aka Cache Normals is off).
    You can disable the subdiv and the Displacement than use the Normal map if you wish.
  • AO map connection disabled: this is not a game engine 🙂
    We have correct shadows and such, you know.
  • Displacement Amount is set to 10 by default, usually that’s a good start.
  • Displacement map Alpha Offset is set ot -0.5: this way you don’t have to play with the Displacement Shift value. If the Disp. map is correct (usually you have to fix that manually) you’ll get the perfect result without changing any attributes (leave the custom V-Ray Displacement Shift value at 0).
  • Displacement Amount connection between the shape node and the Displacement Shader: To get identical viewport preview and render (Displacement preview: Alt+3)
  • Also I set the Preview Division Levels to 1 (the default is 2): this way the viewport is faster while using the displacement preview on the selected objects.
  • Main Displacement attributes are visible in Channel Box 🙂
  • Metalness and Roughness maps connected differently: through outAlpha and with alphaIsLuminance on.
  • Separate settings for 3dPlant category: usually there is no need to use subdiv and Displacement on plants, so disabled by default (the Attributes are still there).
  • Additional two sided shaders for assets using opacity maps: you’ll have translucency.
  • For singular assets the shape node’s, the V-Ray Displacement Amount attribute is connected to the Displacement Shader node: you change it on the shape node (channel box as well) 🙂

I think that’s it.

Changes and fixes, Arnold part:

For all the changes and fixes for Arnold, check my previous posts. The code changed a bit but the modifications are the same (Displacement shading node is still missing, it works without it as well but I prefer the preview capable and shader driven method instead of the shape node driven method).

Why alphaIsLuminance (outAlpha) not OutColorR?

Because it’s easier to control in V-Ray (well, not just in V-Ray), and it’s compatible with Maya’s Displacement Preview feature in viewport. That’s really useful.

Other solution could come from Autodesk, with a separate alphaIsColorR switcher on File nodes. That could greatly improve the compatibility. (Of course you can connect the ColorR ouput to Displacement but you can’t offset it with a negative number, so the preview will be incorrect. That’s not helping unfortunately).

Besides all of that, it’s better to use high resolution geos than displacement ones for non-deforming assets.

Geo Format?

In this case the FBX format works better than alembic or obj with the exporter/importer, be aware of that! (Incorrect shape names etc.).

Final words

There are plenty of things to fix, this is just a quick fix for the very basics (well not that basic, but I didn’t rewrite the whole thing…).
I understand Maya is not Quixel’s primary platform (Unreal is), but they should do a better job with the exporter plug-ins. This is also true for SpeedTree as well, just saying.

About V-Ray 5 PLE (v5.00.22): I found that the Maya’s Instancer node is not working correctly with this version.

Cheers, D

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.