Announcement

Collapse
No announcement yet.

Going from 3dsMax to Unreal

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Going from 3dsMax to Unreal

    Hello! We have been attempting to evaluate V-Ray for Unreal, when at the moment we mostly use V-Ray for 3dsMax. We needed some clarifications on a few topics:
    1. The main V-Ray for Unreal product page says "Simply create your scene using V-Ray and your favorite 3D application (3ds Max, Maya, SketchUp) and export it when you’re done. Then import the file into Unreal to explore it in real-time, virtual reality, and more." However, from initial tests just 'exporting the scene' from 3dsMax and importing into Unreal seems to give us blank materials on Unreal engine. Was there a mistake on our end? Should the scene, necessarily, be prepared before exporting in some way, or is it supposed to be usable in Unreal like that?
    2. If I am to "treat" a V-Ray for 3dsMax scene to use in V-Ray for Unreal, my understanding is that the recommended workflow is to use the "V-Ray Material Optimizer" to simplify the materials into textures with baking, then exporting the scene as a .vrscene file, and importing it into Unreal. Is that correct? If not, what would be the proper way to convert a 3dsMax scene to use it with V-Ray for Unreal? Are there any other manual steps we should follow?
    3. When testing the Material Optimizer script, several scenes have shown issues executing the script, either staling, crashing Max (usually on scenes with extremely high polygon counts), or displaying incorrect results (improper UVs or baking). Are there any known limitations to the script or anything that could cause these incorrect behaviors? Do scenes need to be prepared in any way to make use of this script or is it supposed to work regardless?
    4. What versions of 3dsMax are compatible with the Optimizer Script? From initial tests on our end, it seems like it's not compatible with 3dsMax 2023, for example. On 2023, the script UI starts, but pressing the 'Process Objects' button doesn't seem to do anything.
    5. At the moment, the Material Optimizer seems to be exclusively usable through the UI, which is a very manual process overall. Is there any way to integrate it into a MaxScript for batch/automated usage?
    6. When we attempt to use the V-Ray Material Optimizer to just optimize/bake the materials without unwrapping, the tool is supposed to bake the materials, correct? However, it seems like nothing is done at all, other than the creation of a "VRayMtlOptimizerAmbientLight". No optimized file version is created, and no materials are baked. The output log file says the same, too, only displaying the creation of the new light. Is there anything within a scene that could cause the Optimizer/Baking not to work in case we don't do Unwrapping + Optimizing at once?
    7. Once I have the .vrscene scene exported from Max, imported and working correctly on Unreal, is there any way to export it to, for example, GLTF or FBX? Just attempting to export a .vrscene from Unreal seems to save the VRayMtls as is, without any sort of conversion to real-time compatible materials. I imagine this would have to be done manually, then?

    Thanks in advance!

  • #2
    Hi Miguel,

    However, from initial tests just 'exporting the scene' from 3dsMax and importing into Unreal seems to give us blank materials on Unreal engine.
    Can you send a screenshot or a sample scene with some of the these materials that couldn't import properly? Normally if the material that isn't supported is replaced with a pink material but I cannot say what could be the cause of a blank material.

    my understanding is that the recommended workflow is to use the "V-Ray Material Optimizer" to simplify the materials into textures with baking, then exporting the scene as a .vrscene file, and importing it into Unreal. Is that correct?
    This is usually the case if you want to do light baking in UE since it requires good UVs for the lightmaps. The material optimizer reduces the complex shading graph of the material to simple static textures where possible. This way compatibility is increased when transferring the scene between max and UE. In order for this to work as expected all scene objects in the scene have to be unwrapped first and then their materials optimized(using the Unwrap and optimize option from the dropdown. If you have good, non-overlapping UVs in the scene then you can set it to Optimize ).
    If you plan to have dynamic lighting with movable lights, animated objects and use the path tracer or just the offline render you do not need to preprocess the Max scene. However, when importing the vrscene, not every V-Ray material or texture are supported and there could be mismatches. For additional info about what is supported on import you can check the docs here: https://docs.chaos.com/display/VRAYU...orted+Features

    When testing the Material Optimizer script, several scenes have shown issues executing the script, either staling, crashing Max (usually on scenes with extremely high polygon counts), or displaying incorrect results (improper UVs or baking).
    The unwrap process usually is the cause of the delays and sometimes crashes because internally we use Max's Flatten mapping which is single threaded and can be really slow. So I would suggest to try and split the unwrapping process for objects and not for the whole scene at once.

    What versions of 3dsMax are compatible with the Optimizer Script? From initial tests on our end, it seems like it's not compatible with 3dsMax 2023, for example. On 2023, the script UI starts, but pressing the 'Process Objects' button doesn't seem to do anything.
    We are investigating such a report and will let you know when we find the reason for this. The script should work properly with V-Ray Next/5 and with Max 2019-2022.

    At the moment, the Material Optimizer seems to be exclusively usable through the UI, which is a very manual process overall. Is there any way to integrate it into a MaxScript for batch/automated usage?
    Will have to respond later for that with additional info.

    When we attempt to use the V-Ray Material Optimizer to just optimize/bake the materials without unwrapping, the tool is supposed to bake the materials, correct? However, it seems like nothing is done at all, other than the creation of a "VRayMtlOptimizerAmbientLight". No optimized file version is created, and no materials are baked. The output log file says the same, too, only displaying the creation of the new light. Is there anything within a scene that could cause the Optimizer/Baking not to work in case we don't do Unwrapping + Optimizing at once?
    The Optimize option should work fine on its own. We will investigate it on our end but if you send a simple scene that can replicate it would help us.

    Once I have the .vrscene scene exported from Max, imported and working correctly on Unreal, is there any way to export it to, for example, GLTF or FBX? Just attempting to export a .vrscene from Unreal seems to save the VRayMtls as is, without any sort of conversion to real-time compatible materials. I imagine this would have to be done manually, then?
    As far as I know they do not have native exporter for GLTF and you have to install a plugin: https://www.unrealengine.com/marketp.../gltf-exporter. For FBX you could follow the tutorial here: but the materials will be very simple without advance shading, just a simple albedo/base color.

    Hope this is helpful to you and I will write back for the ones I need additional "digging" and testing.

    Best regards,
    Alexander
    Alexander Atanasov

    V-Ray for Unreal & Chaos Vantage QA

    Chaos

    Comment


    • #3
      Hello Alexander!

      Thanks for getting back to me.

      Can you send a screenshot or a sample scene with some of the these materials that couldn't import properly?
      I should clarify. It's not that the "materials are blank", the normal/bump looks fine and the actual material node itself is there and set correctly, but the base color/diffuse seems to be white, for example. So I'm not sure if that part of the material tree is ignored due to an incompatible texture node being present. When one of the material components has an incompatible texture node, which I'm pretty sure was the case when I was testing, what's the expected behavior? Is the whole component with incompatible nodes not imported? Or are the incompatible nodes skipped when importing into Unreal, meaning something (at least the bitmaps at the end of the node tree) should still be being used?

      That being said, is there an e-mail I can use to contact you about the test scenes? I'm not sure yet if I can share them publicly, or at all, so I will need to get back to you later. In any case, if I can't, I could also try to replicate the material tree myself on a very simple scene just to showcase the issues I found.

      Comment

      Working...
      X