Open looeee opened 4 years ago
My comment from that issue, lightly re-phrased:
The problem is UV seams, AKA discontinuities - that is, hard edge in UV maps. Lightwave and three.js handle these in very different ways.
three.js handles seams by duplicating vertices along discontinuities. Lightwave handles seams by creating multiple UV maps, one for each section.
This is further complicated by the fact that there are two kinds of UV maps in the LWO spec - I think they are called VMAPS (continuous UVs) and VMADs (discontinuous UVs). In the case of a cube, where every side of the cube is discontinuous, you would expect to find VMADS. But, as far as I recall, the UVs end up getting specified as a combination of VMAPs and VMADs.
To make this work, we'd have to duplicate vertices along seams, then figure out how to combine the multiple UV maps into a single map.
Copied from https://github.com/threejs/lwoloader/issues/28, initially reported by @onthez (last one!):