UV Shells Treated as Hard Edges

edited 2022 May 30 in 3D Models
I’m hoping someone out there can shed some light on this issue.

@Tea Monster

My models are rendered with some strange lighting issues, as if the angles of some faces or edges are miscalculated. My models are exported from Maya to FBX and then a final save from Motionbuilder.

In these examples it is most noticeable on the shoulders and spikes, but the problem exists all over the model. There seems to be hard edges that I didn’t add to the models along the borders of the funky light directions.
Crazy light inside hard edges on shoulders:
Hard edges on spikes:

Compare those to the same model opened in Maya, which only has the hard edges I added:

Part of the issue is that while it does have the hard edges that I added, I discovered that the outer edges of my UV shells are being treated as hard edges on the mesh… or something.

The blue lines trace some of the intentional Hard edges. The green lines trace some of the strange maybe-hard-edges that are the outer edges of UV shells.


  • edited 2022 May 31
    Are you exporting as FBX? In Maya, are you enabling the ability to export normals? Are you using the latest experimental build or a stable one?

    Nice imp!
  • edited 2022 May 31
    [EDIT: Been reading up on fbx and found “split per-vertex normals.” It is off by default but apparently it is specifically for MotionBuilder so I’ll try that later today.]

    Yes, FBX. Exporting normals. This issue has existed in all versions of Doomsday I’ve used.

    The hard edges from UV she’ll edges actually showed up in doomsday 1 with my md2 models exported from older modeling software, so it existed from different Doomsday, different software, and different model format. The biggest issue with this model is those glowing trapezius shoulder muscles.

    My guess is that the curvature the light is “reflecting” is somehow calculated from the UV Map, rather than the mesh. Or at least for some of the shader elements like specular lighting/reflections. Forgive the bad terminology. If you look at the UV Map, you’ll see that the shoulder muscles are at the top of a very long shell that takes up most of the map height. The bright spots on the shoulders are wrapping over the back and end at the front of the imp just above his pecs.

    I can actually get rid of the bright spots if I cut up that UV she’ll into smaller shells and flip them around a little. But that leaves me with even more hard edges showing on the imp, and possibly light reflecting from incorrect directions… could the direction of the light be calculated from UV coordinates?

    My best solution for now is to hide the hard edges by segmenting parts of the imp’s skin, kind of like soft chitin, or the way the skin on a rhinoceros is segmented. But that is drifting farther away from the original imp design than I was hoping.
  • edited 2022 May 31
    Formats like MD2 and MD3 and even OBJ don't tend to save normal data correctly. FBX is capable of that. I haven't noticed any problems with any our models with FBX, which is why I thought it may be a problem with a check-mark box in the exporter. Does the exported FBX look good in other soft? Do you have Substance or Marmoset or Unreal to test the mesh out in?

    Smoothing groups can be tricky to get to work across formats. If you don't mind, if you send me the FBX or the Maya file on Discord I'll have a look.
  • edited 2022 Jun 1
    Ok cool. I’ll send it over.

    And, yeah, if I open the fbx I’m using in several versions of Maya or MotionBuilder it looks just fine.

    I should add that I don’t think Maya uses smoothing groups. Maybe Doomsday is expecting smoothing groups?

    Edit: so, my memory was sort of correct. Maya does not use smoothing groups but can export them. I have tried exporting with smoothing groups with no difference.
  • Sent that FBX through Discord.
  • jzj2de9r6hvi.png

    This is how it looks in Marmoset Toolbag and Blender. I'm not seeing any problems on the model here.
    Could it be a rendering issue in Doomsday?
  • General rules for models:
    1. Zero transforms, uniform scale (1, 1, 1) both in the game and in the editor
    2. Pivot at the origin
    3. Export normals, binormals, and tangents data. It is used in the shader to compute the material.
Sign In or Register to comment.