How do I get the materials to work on an imported object with included MTL file

So I received a 3d model of a speaker from my client. Its the model itself in OBJ format, and with an MTL file, which contains the materials (right?)

The models imports fine and looks fine…except for the materials. They are assigned to the model; i can see them in the node editor…but there not showing on the model itself… Im using cycles btw.

I think i have to convert the materials to cycles (that’s what Im working in)…and found this addon to do this… (https://blenderartists.org/forum/showthread.php?394600-Materials-Specials-amp-conversion)…but I can’t get it to work

I have no expierence with importing models…so please advise

here is the blender file…

thank you in advance

The MTL file supplies only very basic shading information.
If you want to get the best out of any advanced render engine used, you will have to manually convert those materials to the respective render engine’s material system yourself. There is no “automagical” solution.

And holy cow, that model is unnecessarily dense.

Im more then willing to do it manually… i just want to use the materials as the creator made them

So can you tell me how to do convert this manually?

And I think the model is dense…because I needed to scale it down drastically. It was HUGE when i imported it… not sure If this will cause problems or if i can fix this

Dense means that it has unnecessarily too many polygons. Better if you apply a decimate modifier to all the parts, you can reduce to a 5 percent the quantity of polygons.

Of course the material properties vary between render engines, so you cannot expect the same values to be exact for every render engines from the mtl file. You can use other materials from library, if you don’t know how to, like this one: https://www.blendswap.com/blends/view/56470

But what I’m always wondering is why the images are not either imported from the mtl. If the FBX does it, why the OBJ doesn’t? Anyone knows? Does it depend on the software that was exported from?

Quite frankly, I would not mess with that model’s geometry.
This was delivered by your client, so chances are that this comes directly from their CAD software, including custom vertex normals to ensure the smooth shading. Unless your client explicitly asked for it or you can’t render this without shading errors, I would not start to retopologize this or some such.

As far as materials are concerned, you would usually get explicit material definitions by your client, based on the real product. What metal, what kind of plastic in which exact color (e.g. based on RAL), what kind of wood with what surface finish? If you don’t have that, try to find as many images of the real thing as you can and derive your materials off of that. Not sure how far the data in the MTL file will get you, as - like stated before - the information in that file is extremely basic and will hardly be able to define complex materials.

From what I can find about that Kharma Enigma Veyron EV-4D it’s mostly black glossy materials (plastic? some lacquered metal?) plus a few metal ornaments and wooden sides. The wood texture must have been part of the files from your client, as it is referenced in the imported materials. A good bit of gloss over all of those materials and you’re good to go!

Ups I didn’t read the beginning, I missed that it was for a client, I thought it was for a personal project. Yeah of course you should be careful what you change if it is for a work for a client.

In fact, the material names alone should give you a pretty good impression about those materials: “black_gloss”, “anodized_black_sandblast”, “kharma-carbon-fine_lacquered” and so on and so forth.

The only two texture files needed are the wood and the pattern for the carbon fibre. Both were missing in your file, but I assume they were provided by your client. Did a quick and dirty test of my own, just from the material names and the photo I linked to in my last post (for a final render a lot more diligence will be needed for the placement of the lights, of course, to better bring out the shape of the speaker…):


Thank all of you for your answers… It was more simple then I thought then… i was just missing the textures. I didnt get them from the client, and im pretty sure i wont be getting them so ill have to make them myself…

I am having problems with the wooden panel though and the realism of it. I found a wooden texture online and used a online site to create different maps for it (displacement AO etc)… but it didnt create a roughness/reflective map … And now it looks like crap. I added a glossy shader to make it more reflective, but it still looks horrible.

Heres the node setup and the result




also, Im having some issues with the lighting… in the image you see, i used 4 point lighting (key, fill, backlight, toplight)… but it’s still not doing it for me. It needs some reflections. Did you use a HDRI image to create your reflections on your image? If so…was it a studio HDRI or something?

The UV unwrap for the side panels in the provided file is not very good, as it is unproportional - this will stretch the wood grain. A little bit of finessing here will go a long way.

In my render I used “softboxes”, planes with an emission material. Most of them white, but the ones from the right with a slight blue tint. Those were placed and scaled to provide the reflections.

By unproportional, you mean that I used different values for the X and Y scale? That makes sense…if I change one of them I change aspect ratio.

So what I did was

  1. selected the side panel

  2. scaled it to 1

  3. applied the texture

  4. went into edit mode of the sidepanel

  5. pressed U, then project from view

  6. this got me this image (after loading in the image texture )


  7. i altered the image, zo i would align better with the wooddirection and didnt have the skew in it… like this:


  8. now… do I leave the scale like it was…of do I enlarge it to fit the texture dimensions, like this


  9. then I fiddle with the scale (keeping x and Y the same to ensure that it doesnt deform)

Is this the right way to do this? Im not sure about point 8.