Where/When to apply materials? REVIT > 3DS > UE4

Hello, I was curious when you folks apply your materials? I’m new to the 3DS Max and UE4 workflow and was curious when the more knowledgeable people are doing their materials?

Also are you guys importing from Revit to 3DS by material type? Then importing all the objects that use one material (i.e. all brick items) into UE4 separately?

Thanks for the help!

James Gallagher

I always do it like that :slight_smile: (rough overview)

in the 3d program:

  1. create mesh
  2. uv map it + create material slots

import the mesh + texture

in the ue4:
1.right click on the texture + create material
2. modify the material → e.g add specular map, normal, map,…
3. apply it to the material slots → open the static mesh editor (double click on the mesh in the content browser) - add the material to the slot

Thanks fighter5347. I seem to be doing okay with the UV maps and importing the meshes. I can’t for the life of me get any materials imported though. I’ve applied the materials in REVIT (Standard Autodesk materials). They show up in my 3ds MAX renders, they adjust with my UV maps, but when I bring it into UE4 I just get the world material texture and I can’t find the Autodesk materials anywhere.

Have you (or anyone else) had any troubles like this? I’m starting to think I should give up on the Autodesk materials but I’m not sure where else to get materials for ArchViz.

Thanks again for the help, hopefully I can get over this hurdle.

You cant import materials, just textures which will be in a material (you have to do the material stuff in the editor). But I mainly export the texture - import it - create a material :slight_smile:

Thanks again fighter5347! I was thinking about it the wrong way. I very much appreciate the help.

I have the same workflow as fighter5347, works great!

I normally export unconverted materials without textures, and exchange them with native UE4 ones, but I get materials with diffuse/normal/spec maps if convert Revit´s materials to standard in Max.

Some buildings have 60+ materials, and combined in one asset it´s a hassle to adjust, so I prefer to just replace them.

Yeah I think I might start replacing them all and making my own in UE4. I really like the material editor in UE4, now I just need to get better using it.

So I got everything right tonight, except for my texture sizes. I was trying to do a little brick wall but the Revit materials looked awful. I tried downloading a nice brick bitmap and normal map but then the sizing was all off.

Any tips to find/make/import good materials for Archviz? I feel like I’m so close but failing so horribly on a seemingly easy step.

I use the uvmap/unwrap modifier in Max for texture size/tiling, and adjust it before merging the model, then I apply other changes in UE4 via asset actions/property matrix if want to keep the imported ones, but change two-sided/emissive etc.

If export via DWG 2013 with solids enabled “DWG export settings in Revit”, convert all materials to “standard”, you can apply diff/spec/gloss/bump maps etc from Max, and since the model is cleaner it´s easy to select polys/modify if want to change something.

I have also setup a material library mixed with materials from Markedplace/example scenes etc, so there are loads of available architectural materials if merge the different ones offered in the “learn section alone”

You can also use this addon in Revit, it will join components via material, and since all are “standard” the textures will import, but you might have to adjust "smoothing , and the triangulation on some meshes.

Thanks Atle, the Lumion bridge seemed to make things easier to work with rather than linking a Revit file which is what I was doing.

Can I ask a quick question about unwrapping the UVWs? All the tutorials I’ve seen fit the UVW map into the UV extents in the ‘Edit UVWs’ window. The problem is I’m trying to put a tiny brick pattern over a huge wall, if I jam it into the UV extents it of course gets so stretched that it looks ridiculous.
UV Unwrapping.png

Is there any solutions to this? Or do I not need to keep it inside the box? I’ve tried tiling the texture in the UVW editor options and using the max number of tiles (50) but it still doesn’t all fit. Maybe I’m looking too far into this and complicating it, but I just want to be sure before I dump a whole bunch of time into learning something the wrong way.

Thanks again, I’ll owe you guys big time after I figure this out.

In the famous words of hellraiser, all problems solved:

5m Tutorials: 3ds Max to Unreal Engine 4 - Collis…:

Thank you SaviorNT!

I should add that while UV mapping that way is “super-easy”, this makes it so that you will need to adjust your textures. Or you could use something like Allegorthmic’s Painter/Designer combination to “paint” the object.

Not sure about Max, but in Maya you can just grab all the UVs and scale them up as big as you want for the first channel (not the lightmap). However, it is typically safer and easier to edit texture tiling on the fly if you do it in the material editor.
For a typical small tiling texture, you just multiply (M +Click) a TextureCoordinate node (U + Click) by a Scalar Parameter (S + Click) and feed it into the UVs of your texture sampler. It’s super quick and you can edit it in real time if you make a material instance.

You can do the same in Max, as the UV modifiers have a channel selector with them. I prefer to keep them in the UV space for the simple fact that if I want to create a custom UV map in photoshop, the “Render UVW template… iirc”, only renders what is inside the UV space, nothing outside of it.

I was looking at tessellation and displacement mapping today, and the recommendation from major sources is that you don’t want to use seams in the UV map. You want to separate all of the polygons out, normalize them, and then pad them.

I wish the Unreal Engine (and all the other ones I believe), allowed you to use multiple UV channels, and select what channel you wanted to use for what. In UE4, there could be a setting in the material editor for “Lightmap UV Channel”, and then you could add a variable to tell it what channel you wanted for your Lightmap. The same could be applied for other shader-specific things, like normal maps, displacement, tessellation, etc… Not sure how that would work seeing how I know nothing about shader programming, but it seems like it would be a cool feature to implement.

Thanks StephaBon, I’ll give this a shot this evening.

So for a large brick wall would you have a giant texture big enough to fit over the whole thing? or break it down into parts?

That ‘Lumion to Revit Bridge’ add-on unjoins everything, it seem like it would be a lot of work on a tileable material trying to line up all your seams so the textures are running the right way. I find I’m having trouble in the Unwrap UVW modifier keeping all my polys the same scale relative to each other (so the bricks are the same size along every piece), I’m sure that’s just something easy I’m missing though.

Have you guys tried any of those Substance programs for UE4? It seems like a nice tool to help in UE4, although that might just be me being naive haha.

It’s a VERY nice tool!!! Get it, get it now. It reminds me of a very old tool called Deep Paint. You import the model, and then directly “paint” onto the object. The program is responsible for the tiling and proper alignment of those textures onto the UVW map. As far as getting a tileable material that tiles acrosses multiple objects… well, that’s a whole different monster. Proper planning and all of that.

To “un-seam” everything, you can just use a UV Mapping Clear modifier on it with the proper channel. That will clear the map. Then apply an unwrap on it, and then normalize -> pad.

edit: you can also directly texture using photoshop, but it’s a fickle beast to say the least. Completely uncooperative.