Unreal Reading VRay Materials ?

Hi All

I understand Unreal only reads standard Max or Maya materials and creates simple duplicates from the FBX file when importing static meshes. Many of us in the ArchViz community use VRay as our main workhorse for stills. Currently it’s an extremely laborious process to setup a project in Max and VRay for rendering stills and then try and duplicate that effort in Unreal for real time walkthroughs. It’s very important that the stills and walkthrough match up identically in terms of materials, lighting, mood, etc.

Are there any plans underway for the engine to be able to read VRay materials? Maybe for 4.13?


The FBX format can’t do anything with the Vray materials, which isn’t something that Epic can change. The alternative would be to export them to the Vray material format, but it’s unlikely that they would add feature to read those materials to UE4.

Thanks for the response, darthviper107. This helps clarify.

Since .FBX/Motion Builder is an autodesk product, they wouldn’t be motivated to add functionality that moves work away from their platform.

I wonder if it would be possible one day for Unreal to read and import Vray materials directly (not via FBX). Then it would just be a matter of mapping materials in Max/Maya, but switching out the shader once imported to Unreal.

One thing you can do, if you want to change your workflow is use Substance materials which are supported in Max/Maya/UE4

The thing is pretty much 98% of the assets you can buy on internet for archviz are for vray :frowning:

Along these lines, is it possible to build materials in UE automatically by reading variables from an ascii file? It is simple enough to script in 3dsMax to write all relevant variables; (diffuse color/texturemap, reflection/refraction, bump, etc.) to a text file. Could a blueprint be made to read data from such a file?

I think you possibly could, many of the copy functions in unreal engine translate into readable text, but it will want to reference texture files that are in the content browser. I was able to make a script for 3ds Max that could translate object positions so that I could place things exactly as they are in 3ds Max that way.

@darthviper107 I was just looking at that thread I think. I have a processing maxscript WIP that places the pivot of all objects at 0,0,0. It also unwraps and packs UVs on a separate UV channel for lightmaps. I know the unwrap is not necessary, but I can control the packing a little more efficiently than the way UE does it.

VRay has a universal, platform independent, material definition that is xml based. .vismat or .vrmat.

There is an XML parser in the API

Seems like it could be done.

I know there is a very good vray to corona mtl converter plugin that was made by a community member (originally at least) so It could probably be done for ue4 if someone really wanted it.

may be it’s a dream… unless Vray devlopment group made it

Converting materials within 3dsMax via maxscript is easy. We have plenty of tools to do that sort of thing. But there is no material to which we can convert which exports all properties to UE4.
The only material properties that survive export are diffuse map/color and bump map.

We need a BP that looks at material names in the UE project and then modifies those materials *in the editor *according to external data.

For instance, simply reading the opacity value of a material; if it is less than 100%, then switch the UE material blend mode to Translucent, Lighting Mode to Surface Translucency Volume, and then set Metallic, Specular, Roughness, and Refraction according to data in a text file.

Chaosgroup themselves could do it, but I don’t see why they would to be honest…

If chaosgroup do it that’s suicide for them :smiley: haha

It would be a trivial but time consuming thing to do, involving the FBX SDK and texture baking within 3dsMax.