UV Shells Treated as Hard Edges
I’m hoping someone out there can shed some light on this issue.
@skyjake
@veirdo
@Tea Monster
@KuriKai
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.
@skyjake
@veirdo
@Tea Monster
@KuriKai
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.
Comments
Nice imp!
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.
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.
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.
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?
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.