Rhino can't understand its own texture system?

Oh man, I’m very upset. Someone please tell me this have a solution.

Since I became a rhino user I’m struggling with texture problems. Here’s my story: I came from sketchup, but loved rhino, so started to learn it. When I first applied it to a real project, I tried to render in Twinmotion which is the software I used for rendering and surprise: things don’t work like it should. One object with different materials didn’t work. If on rhino I apply 2 different textures to the same object, on twinmotion it reads only one texture. Here’s a topic I created at that time: Objects with more than one material not working. Help?
And on TM forum: Twinmotion support on sub-object materials? - #10 by UE_FlavienP - Architectural and Design Visualization - Epic Developer Community Forums

So I didn’t gave up on Rhino, and started to learn blender to substitute Twinmotion in the rendering aspect, since I can’t afford V-ray for rhino by now. A new surprise came up to me today. Blender understands rhino texture the same way that Twinmotion does. Here’s another post by me about the theme and testing: Export to blender - #30 by Gustavo_Soares_Silva

So I started to think why two completely different softwares had the same problem with rhino and remembered that rhino is NURBs based, and the other softwares are not, so I tried to ExtractRenderMesh from a sample file and another surprise: Rhino can’t understand the texture converting from NURBs to mesh either :sweat_smile: :sob: :sweat_smile: :sob:

Maaan, this makes me saaad.

I’m thinking that the only solution is that I start to separate materials by layer. but honestly I hate this idea. In architecture I have a wall, this wall can have more than one paint color on each side. It don’t make sense to me that I create a layer for a wall, and another layer for paint 1 and another layer for paint two with 0,1mm thickness to separate different textures (I tried, and the model starts to bug the visualization and it polutes the model and consumes a lot of time). Rhino allows me to apply different textures on the same object with Ctrl + Shift, so why is that a problem?

I really can’t understand why am I the only one complaining about this. Everyone does this paint separation with thin walls? Anyone have another way to resolve this? Or the only think I can do is to cry, wait and pray for Rhino 9 launchs with this solved? Please McNeel team I like you so much, look at your humble user with texture problems here..

I really hope you can do something about this in a next update for rhino 8, or someone that gives me a light on a better way to addapt my workflow and my modeling. :folded_hands:

Sorry for the complaining and for the bad english, I have an appointment soon and didn’t have enought time to correct everything.

While I don’t use Blender (yet) nor Twinmotion, I do use Cinema4D for outputting high quality renders from Rhino3D models. Workflow: model, assign materials and apply textures in Rhino. Export as .FBX. Import fbx file into C4D. All materials and textures remain. Simply tweak materials in C4D, set up lighting and camers, then render. It works very well. Try it using Blender and report back.

2 Likes

Thanks for your reply.
This is what I get with FBX when I import as meshes. So the surfaces with different textures in the sub-objects still using the default material.
There are a lot of setting on importing and exporting, I tried some but none worked.


When I export with NURBS i get no geometry.

These are the settings on the image.

My workflow uses a lot of Rhino + Maya, occasionally Max. I’m not sure if it’s changed but I remember in R7 it seemed like Rhino in general doesn’t allow/like meshes that have more than 1 material assigned to it. The best option for you is in Blender to go into Edit Mode, Separate, By Material (I think the shortcut is P? I don’t use Blender lots, sorry.)

Basically, when going from Blender/Maya >>> Rhino, you got 2 options:

  1. Bake everything into 1 texture map, or
  2. Separate submeshes by material, and join together all the mesh (parts that have the same material as 1 (potentially disjoint mesh).

And when going from Rhino >> Blender/Maya you want to export everything as meshes. Use FBX, make sure you’re embedding texture files, etc.

That is to say, I had (and still have) some issues but I found some best practices regarding meshes…maybe this helps a bit?

  1. Always mesh your nurbs before you export it. Use the “Mesh” command, don’t just export it and use the “Mesh” in the “Export As” dialog like you’ve shown. I’m not 100% sure I remember what the difference or reason is anymore, but sometimes you get different results.
  2. If you are going from Blender to Rhino, you could benefit a lot from baking the textures and packaging the UVs into one material. It’s just a lot less hassle, otherwise sometimes you have to reassign the material images by going into the materials panel and going Create New Material > Create From Texture Files…> (Navigate to folder with pbr bitmaps like albedo, normal, roughness, etc.). It’s not ideal to bake everything though.
  3. Sometimes the textures come in looking wrong, and that’s because software like Maya or Blender I think lines up textures with the 3d mesh instead of world coordinates?? I’m not 100% on what the technical explanation is, but basically there might be a pop-up under the object’s properties prompting you something about OCS mapping, which you have to click and it just fixes itself. (Texture mapping | Rhino 3-D modeling)
  4. To use ExtractRenderMesh with textures, you have to use the Bake command in Rhino I think ExtractRenderMesh | Rhino 3-D modeling) -

When using ExtractRenderMesh, procedural textures such as Noise or Granite will not preserve the selected NURBS or SubD objects texture mapping on the resulting mesh. If you need to preserve the texture mapping of procedural textures in assigned materials when extracting a render mesh or exporting a mesh from a NURBS or SubD object, use the Bake command first.

Also somebody more knowledgeable should probably jump in but as far as I understand, in order for Rhino to render anything, it has to convert to meshes anyways, which is why you get “ExtractRenderMesh” as a command - so I’m not sure your point about “Rhino can’t understand the texture converting from NURBs to mesh either” is true…

Re your thing about paint/walls, it’s possible to use Ctrl + Shift (or selection filters) to select by face, and assign materials to sub-objects if they are NURBS (Apply different materials within a polysurface). Not sure what the result is if you just export those things straight into Blender without doing the preprocessing I described, but you may want to mimic the output you get and try to put in to Rhino? Not sure.

1 Like

Regarding import into Blender, as I mentioned in my other reply: that is simply not yet implemented in the add-on.

Rhino itself uses Cycles for Rhino Render - as you can see multiple mappings are very well understood.

1 Like

Thank you very much. I don’t think this could have been explained any better, you’re the best. Will test these at night. This Bake before ExtractRenderMesh is new to me

That was what I’m doing.The problem I was pointing is: I applied the different materials on sub-objects, and when ExtractRenderMesh the materials become only one. Thats what I wanted to tell with the “Rhino can’t understand the texture converting from NURBs to mesh either”. By this time I didn’t knew the Bake usage. Tested it and worked. Now I’m wondering why we have the need to Bake in this situation, and not when using only one texture (kinda conffusing, right?!)

Thank you for your good work, again.

Here’s the other reply @nathanletwory was talking about, for other users that are following this topic: Export to blender - #31 by nathanletwory