Ridley5 opened this issue on Jul 26, 2010 · 1724 posts
odf posted Mon, 09 August 2010 at 6:59 PM
Quote - > Quote - there are now visible seams on some actor boundaries. But I'll fix that last bit, and I'm pretty sure I can still peel a second or three off that computation time.
Maybe this has something to do with the scale factor Poser is using for geometries? If I import a Poser geometry in my C4D (via riptide) I have to use a factor of 800-1000).
No, I know why there are seams. See, I compute face normals first, and then for each vertex, I take the average of all the faces incident to it (more precisely, I take the sum of all those normals and normalize that). For a vertex that lies at an actor border, I do that averaging once from each side, so I get different normals. If I work with a fully welded geometry using Poser's unimesh method, I won't have that problem.
As for scaling: a Poser unit is meant to be close to 2.5 meters. A Lux unit, if I'm reading the documentation correctly, is 1 meter. So it would appear natural to scale by a factor of 2.5 when exporting to Lux. I'm not quite sure yet whether to apply that factor directly when writing out the coordinates or to add a transformation matrix for each object. I think in the long run it would probably be best to export geometries in (scaled) object coordinates instead of world coordinates and write out the world transformation as a matrix. That way, it will be easier for people to make small adjustments later in the .lxo files or use the exported content in scenes produced by other software.
-- I'm not mad at you, just Westphalian.