BUG: FBX export of "custom object" mapped, edge softened objects (weird connected uv mesh)

Hi,

There is an issue with “Custom object” texture mapping and edge softening - in short words it messes up texture mapping.

As soon as you enter the UV Editor (without changing anything inside) and hit apply, mapping changes from Surface Mapping to Custom object, and from there, if your object has edge softening applied, after exporting to other programs, UV layout is messed up. The same goes for previously Unwrapped objects.

I don’t know if it’s true for all objects (probably not always) but this simple (valid) polysurface was a showstopper for me.

Can you reproduce this bug and fix it, please? I just had to stop with my work because of that.

As my testing software, I used Blender and UE4, geometries created in Rhino 7.3.21012.11001

FILES:
mapping problem.3dm (3.5 MB)
mapping problem.fbx (2.3 MB)

1 Like

Dear @Jussi_Aaltonen

I started this thread several hours before the latest Service Candidate update.

Brian Gillespie posted that one bug that seemed to me as connected to one I presented, was resolved.

  • UV mapping does not export correctly to OBJ/FBX (RH-57899)

However, after an update to the latest Service Candidate, my problems with Edge Softened objects remain true, and UVs are still messed up inside external programs.

I am not sure if this problem has similar roots as RH-57899 but if so, is there any chance that it will be resolved also?

1 Like

@Czaja I’m looking at this now.

Logged as RH-62605 Custom mesh mapping: Fails on mesh object

1 Like

@Czaja This will be fixed in next Rhino 7 SR4 RC.

Thanks, this will be a huge improvement for the people who need to export meshes out of Rhino. :slight_smile:

RH-62605 is fixed in the latest Rhino 7 Service Release Candidate

Rhino 7.4.21040

UV mapping saga continues:

Some faces of the extracted Render Mesh have distorted textures even inside Rhino. They are distorted also after export (tested in Blender), they temporarily look good in UV Editor, but after closing it, they return to being distorted.

Old problems with UVs still exist.
Today, some time ago, I had success in exporting this faucet and have good UVs but for some reason, it doesn’t work anymore, maybe as soon as I modified Render Mesh Settings for that object? I need to keep a relatively low polycount in my Exported Render Meshes so I often modify those settings.

I really wish it was fixed, but it’s not.
For a couple of minutes, after I had successful export, I felt that we are very close in solving this problem and It was a great feeling!

Please continue to investigate, the current solution was very fragile and it took only a few minutes to unconsciously produce a scenario where it doesn’t work anymore.

Please check this file, videos, and screenshots:

omikiri2.3dm (14.3 MB)

EDIT:
I was poking more and it I can confirm my previous guesses, using custom mesh setting can screw things up.

Wort mentioning is that only real chance to get good meshes is to firstly extract Render Mesh and then export it to obj. Automatic meshing of polysurfaces while export gives broken UVs.

Left - Extracted Render Mesh, Right - Polysurface automaticly meshed while fbx export

Sorry to revive this topic,
but I wanted to attach some screenshots of why edge softening in the external programs is a problem and it is weird that polysurface with softened edges are displaying correctly, but if we extract render mesh out of it brokes the mapping.

After a long time of asking Epic developers to support Rhino’s Edge Softening, Shut Lining, etc. in Unreal, I can’t utilize it because even if I import datasmith file, and meshes are softened, they lose original texture mapping.

mapping export test.3dm (3.1 MB)

Doing Beveling externally we deal with modifying mesh normals where Rhino produces them very well

geometries imported to UE 4.27 by datasmith

1 Like

Sadly, we gave up on edge softening in Rhino. It’s difficult to predict if your mapping in external programs will be screwed or not. Hard edges without any softening look much worse thought. I would like to see improvements in this area.

Sorry to hear that @barden00 :frowning:
About a year ago I worked on applying custom object mapping to meshes and made some pretty significant improvements. But I do well understand that fixing 95% of the issues is not going to help most of you.

Anyway, I’ve logged a new bug about the issue @Czaja reported in September… don’t know why that was not logged earlier.
RH-66231 Texture mapping wrong on edge softened render mesh

1 Like

Hi @Jussi_Aaltonen,
Thank you for adding it to the system. At some point, I thought that I’m just annoying asking for the same again and again and I am ignored. :slight_smile:

There are several things about mesh modifiers and mesh export from Rhino that I cover in different topics.

All Render Mesh modifiers in Rhino are really useful for the rendering, I would like to keep using them and not worry if they will work/export correctly.
Their main strength is that they are bonded to the objects and are non-destructive. Those light reflections on tiny fillets make a huge difference when it comes to realism.
Modifiers connections to the object ID are essential in workflows like Datasmith import into Unreal Engine.

I’m also asking about this on the Unreal forum, but I don’t know if something on the Rhino side needs more attention or it’s solely on the Epic team.

For more sophisticated tasks I am ok with using Rizom UV which I recently started to learn.

Thanks for the attention and work! I am using Rhino long enough to see some improvements in the texture mapping area.

1 Like

I need to bump it with the new example because I saw somewhere that it’s fixed, but it’s not. Pity! I see that it’s scheduled for v9. I will happily jump into using WIP when this is fixed. This would be an excellent feature if it weren’t so unreliable.

System Info

Rhino 8 SR15 2024-12-10 (Rhino 8, 8.15.24345.18001, Git hash:master @ 73c926a1bdc2630d5d19ed4299fac5f03bf2455b)
License type: Educational, build 2024-12-10
License details: Cloud Zoo

Windows 11 (10.0.22631 SR0.0) or greater (Physical RAM: 64GB)
.NET 7.0.11

Computer platform: LAPTOP - Plugged in [97% battery remaining]

Non-hybrid graphics configuration.
Primary display and OpenGL: NVIDIA RTX A3000 12GB Laptop GPU (NVidia) Memory: 11GB, Driver date: 6-10-2024 (M-D-Y). OpenGL Ver: 4.6.0 NVIDIA 538.78
> Integrated accelerated graphics device with 4 adapter port(s)
- Windows Main Display is laptop’s integrated screen or built-in port
Primary OpenGL: NVIDIA RTX A3000 12GB Laptop GPU (NVidia) Memory: 11GB, Driver date: 6-10-2024 (M-D-Y). OpenGL Ver: 4.6.0 NVIDIA 538.78
> Integrated accelerated graphics device with 4 adapter port(s)
- Windows Main Display is laptop’s integrated screen or built-in port

Secondary graphics devices.
Intel(R) UHD Graphics (Intel) Memory: 2GB, Driver date: 8-19-2024 (M-D-Y).
> Integrated graphics device with 4 adapter port(s)
- Secondary monitor is laptop’s integrated screen or built-in port

OpenGL Settings
Safe mode: Off
Use accelerated hardware modes: On
GPU Tessellation is: Off
Redraw scene when viewports are exposed: On
Graphics level being used: OpenGL 4.6 (primary GPU’s maximum)

Anti-alias mode: 8x
Mip Map Filtering: Linear
Anisotropic Filtering Mode: High

Vendor Name: NVIDIA Corporation
Render version: 4.6
Shading Language: 4.60 NVIDIA
Driver Date: 6-10-2024
Driver Version: 31.0.15.3878
Maximum Texture size: 32768 x 32768
Z-Buffer depth: 24 bits
Maximum Viewport size: 32768 x 32768
Total Video Memory: 11520 MB

Rhino plugins that do not ship with Rhino
C:\Program Files\Rhino 8\Plug-ins\RhinoToGrasshopper\RhinoToGrasshopper.rhp “RhinoToGrasshopper” 1.0.0.0
C:\Users\Czaja\AppData\Roaming\McNeel\Rhinoceros\packages\8.0\Synapse\0.4.0\SynapseRCP.rhp “SynapseRCP” 0.4.0.0
C:\Users\Czaja\AppData\Roaming\McNeel\Rhinoceros\8.0\Plug-ins\Bella (813de3fb-18eb-405f-bfcd-b0b4d3da91fb)\24.2.0.0\bella_rhino.rhp “Bella” 24.2.0.0
C:\Users\Czaja\AppData\Roaming\McNeel\Rhinoceros\packages\8.0\Crash\1.4.2-beta\Crash.rhp “Crash” 1.4.0.0
C:\Users\Czaja\Desktop\SOFTWARE DO ROZDZIELENIA\HDR LIGHT STUDIO\Lightmap HDR Light Studio Xenon 8.1.0.2023.0425 Win\Rhino\Rhino_7_Win_2023.0417\HDRLightStudioTexture.rhp “HDRLightStudioTexture”
C:\Users\Czaja\AppData\Roaming\McNeel\Rhinoceros\8.0\Plug-ins\Crayon (39629248-4fa6-47b8-83c7-745a7efea259)\1.2.0.0\Crayon\Crayon.rhp “Crayon” 1.0.0.0
C:\Users\Czaja\source\repos\EtoDockableApp\EtoDockableApp\bin\Debug\net48\EtoDockableApp.rhp “EtoDockableApp” 1.0.0.0
C:\Users\Czaja\AppData\Roaming\McNeel\Rhinoceros\packages\8.0\SubstanceImporter\2.0.7\Substance.Win.rhp “SubstanceImporter” 2.0.7.0
C:\Program Files\Rhino 8\Plug-ins\Karamba\License\Karamba3D_LicensePlugin_Rhino8.rhp “Karamba3DLicense”

Rhino plugins that ship with Rhino
C:\Program Files\Rhino 8\Plug-ins\Commands.rhp “Commands” 8.15.24345.18001
C:\Program Files\Rhino 8\Plug-ins\Export_FBX.rhp “Export_FBX”
C:\Program Files\Rhino 8\Plug-ins\Import_FBX.rhp “Import_FBX”
C:\Program Files\Rhino 8\Plug-ins\rdk.rhp “Renderer Development Kit”
C:\Program Files\Rhino 8\Plug-ins\RhinoRenderCycles.rhp “Rhino Render” 8.15.24345.18001
C:\Program Files\Rhino 8\Plug-ins\RhinoRender.rhp “Legacy Rhino Render”
C:\Program Files\Rhino 8\Plug-ins\rdk_etoui.rhp “RDK_EtoUI” 8.15.24345.18001
C:\Program Files\Rhino 8\Plug-ins\NamedSnapshots.rhp “Snapshots”
C:\Program Files\Rhino 8\Plug-ins\MeshCommands.rhp “MeshCommands” 8.15.24345.18001
C:\Program Files\Rhino 8\Plug-ins\RhinoCycles.rhp “RhinoCycles” 8.15.24345.18001
C:\Program Files\Rhino 8\Plug-ins\Grasshopper\GrasshopperPlugin.rhp “Grasshopper” 8.15.24345.18001
C:\Program Files\Rhino 8\Plug-ins\Toolbars\Toolbars.rhp “Toolbars” 8.15.24345.18001
C:\Program Files\Rhino 8\Plug-ins\3dxrhino.rhp “3Dconnexion 3D Mouse”
C:\Program Files\Rhino 8\Plug-ins\BlockEdit.rhp “BlockEdit” 8.15.24345.18001
C:\Program Files\Rhino 8\Plug-ins\Displacement.rhp “Displacement”
C:\Program Files\Rhino 8\Plug-ins\SectionTools.rhp “SectionTools”

File with the original geometry and re-imported FBX with broken mapping.

edge softening bug 2024-12-13.3dm (3.3 MB)