MTL file in Rhino

Where do the OBJ and MTL files need to be to read textures when importing into Rhino. Do the textures need to be in a subfolder?

The textures, obj and mtl should all be in the same folder for the textures to automatically be applied to the Rhino materials. It doesn’t look like sub folders are looked in with the obj importer even after adding a sub folder to Options>Files>Search paths. I’ll file a request to see if this should/could work.

One thing I have noticed is that you won’t get the textures if the obj export settings in the program you’re coming from don’t match the obj import options in Rhino. Notably the exporting of obj groups is needed in my experience. Here’s a sample obj set to test on your end as well as the import settings I used in Rhino 5.

DotCube.zip (14.1 KB)

A quick way to make sure the texture name was saved to the mtl file is to rename it temporarily to a txt file and open it directly. If you don’t see the original texture file path the info wasn’t written to the mtl due to the export settings.

Hi, I trying to export from 3ds max to rhino in obj with texture. How did you do that box ?

If memory serves, just as described above but it’s a while back so I might be forgetting something. If you have a model that is not coming over with the textures and you are using the same settings for export and import, and also have the textures located in the same location as the obj, I’d suggest posting the file. I don’t use 3ds myself but someone else on the forum may be able to take a look for you. You might want to make a new post specific to 3ds > Rhino too.

Hi, I’m also having this problem. I’ve converted the mtl file to a txt file. What will the original file path look like?!

Thank you!

If you mean the texture maps file path, I believe it’s just the name of the texture that is listed in the mtl under the material name. The local address e.g. “C:\Users[your name]\Textures” isn’t listed in the mtl… unless I’m mistaken.

Hey, does this work on Rhino for Mac also? Im trying to get the materials in the mtl file to associate with the obj file but the wont pick up. Both have the same name and are in the same folder.

I have attached the files for testing.

Thanks.Group-01.zip (16.1 MB)

I can’t get the texture coordinates for the meshes to be seen when opening the obj in Rhino. I also tried Blender for comparison and it doesn’t work there either. I converted the mtl file to a txt to read it and it says the file was created by Right Hemisphere/Deep Exploration and gives a url http://www.righthemisphere.com/ but that links to some SAP+Microsoft site. I was wondering if maybe the UVs could be seen in their software but I can’t find the software to try it…

I can’t tell if the program that made the obj is still around, it looks like they got bought by SAP but I’m not sure what the legitimate download link to try is. If you already have this viewer, see if you can open and see the file correctly there. My hunch is that the texture coordinates aren’t saved in the obj.

The .obj file contains only vertices and faces. The file does not contain UV information nor information about materials. There is only one, untextured group present in the obj file.

If you created the file yourself, you’ll have to probably re-export from the original software with support for materials and textures enabled. If you got this from a client you probably have to request they re-export.

FYI:

Deep Exploration CAD is now SAP Visual Enterprise
AuthorDeep View is now SAP Visual Enterprise
ViewerDeep Server is now SAP Visual Enterprise Generator

_
c.

Hi Brian, this is the company that I purchased the models from …

https://www.doschdesign.com/products/3d/Lo-Poly_People_Vol_1.html

I actually have no idea what is the software that they originally modelled the objects in. All I know is that they came in OBJ, 3DS and MAX.

I have attached the 3DS file (which rhino opens) to this email for your reference.

One thing I don’t understand is that, MTL file aside, I was under the impression that if the jpg files containing the textures were in the same folder (or a subfolder) as the 3dm file they should load automatically into the 3dm file. This doesnt seem to be the case though and I need to manually load them all. Am I wrong in assuming this?

Group-01.zip (1.4 MB)

I just see another version of the obj and mtl in the latest attached zip file. The difference from the first uploaded zip folder is that the new one doesn’t include the textures.

That’s correct and I’ve tested opening the first obj you posted in both Rhino 5 SR14 and Rhino v6 beta and both create the materials with the texture maps. If I open your 3dm directly instead of the obj file, v5 doesn’t show the texture until it’s toggled on and off per material in Rendered mode but the v6 beta doesn’t have that bug. With that said, the whole texture is not shown and only a few pixels of color get spread over the whole mesh of each figure. This appears to be due to the meshes not having texture coordinates. I can’t say if this is Rhino’s fault for not importing them but I also don’t get them in Blender as I mentioned. If you can provide the 3ds I can try that too but I’d also ask Dosch if they should have texture coordinates in any program other then 3D Studio Max. To me it still seems like the UVs/texture coordinates weren’t saved in the file.

@andy any ideas that I might be missing?

Hi Brian, thats odd i thought i attached the 3ds files. See attached now…

Group-01.3ds.zip (2.0 MB)

Please use the textures and .mtl file from my first post if possible as I had to check the model for each name individually and select each one from a long list and would prefer not to do so over again.

Good news, the texture coordinates are in the 3ds. Here’s a video of how to get the textures to show up in the v6 beta and then v5. 3ds_import_v5_v6.zip (5.9 MB)

1 Like

Are these loading from the .mtl file or the jpgs?

The mtl file is not used, that’s only needed for the obj file. The 3ds has the material info in it as well as the texture coordinates that don’t seem to be in the obj. In the video you can see the contents of the folder I drag and drop the 3ds from. I only copied over the jpgs from your first upload so they could be found by Rhino.

1 Like

So if the mtl file can not be used with the 3ds and we are not able to map the textures at all on the obj file, what does this tell us about the mtl file? Are we able to use these files in conjunction with any files in rhino or should we just delete them from the folder?

I still find the way Rhino handles its textures very difficult to get my head around and often find that I am opening models where all the textures have disappeared and i have to go hunting around and remap them individually. This is especially the case when you open the files on another computer to the one they were created on or when they’re stored on a network drive.

Another program I use, Revit, for example just saves all the material and texture information within the master .rvt file so you know that unless you purge the file you are never going to lose any of this information. I would love rhino to behave like that. I know that there is the “save textures” check box but you still have to remember to check this every time you save which Is problematic and the materials are still not save within the file (It save as a secondary folder within the files directory).

Is there a somewhere (a thread or website) that illustrates the best practices for how to manage this process in Rhino?

Please note that the solution that you illustrate in this video does not work on Rhino for Mac. See attached video for example.

MappingMaterials_RhinoMac.mp4.zip (12.0 MB)

The mtl file is a companion of the obj. It’s not associated with or used by a 3ds file. The obj file is the one that carries the UVs (how textures will map onto the meshes). The mtl file just lists material properties and which textures are assigned to which material name. If you find some app that opens the obj version and displays the proper mapping of the textures, I’d like to know. This would point to Rhino not reading them from the obj correctly. Again, I still think they were not saved in the export of the obj and you would need to ask Dosch technical support about that. More info on mtl and obj here…

That’s how the Rhino 6 beta works now so moving forward it will be as you expect. To not save textures in materials and environments within the 3dm, you’ll need to Save As and uncheck the save textures check box.

You’re right, sorry I missed that… and it’s actually broken differently then v5 on Windows. The material handling is still not the same between Win and Mac Rhino but my hope is that they will be consistent with one another in v6. I’ve filed this bug report relating to both the issue in v5 and v6. Hopefully this can be looked into soon.
https://mcneel.myjetbrains.com/youtrack/issue/RH-42952

1 Like

Thanks for this Brian. Very helpful. You probably get asked this a lot, but when are Rhino 6 Windows and Mac going to drop? Or are you sworn to secrecy?