obj texturecoordinates
pandrr opened this issue · 3 comments
Hi,
thank you for your nice script.
i now encountered obj files exported from cinema 4d which have 3 numbers per texturecoordinate, which does not make sense for 2d textures.
all the indices for texture coordinates are wrong when loading this .obj file.
i fixed it by checking the number of elements and reducing it to 2 if >2
do you want me to create a pull request for this ?
Hi @pandrr.
Thanks for reporting this bug!
Actually, the OBJ format apparently supports an optional w coordinate on textures which allows for fancy transformations of the textures themselves.
See the OBJ spec here: https://en.wikipedia.org/wiki/Wavefront_.obj_file#File_format
And an explanation of the w coordinate here: https://docs.safe.com/fme/html/FME_Desktop_Documentation/FME_Workbench/!FME_Geometry/Texture_Coordinates.htm
Instead of limiting to the u and v coordinates, the loader really needs to be aware of the possibility of the optional w coordinate and adjust accordingly. I will go ahead and make a fix and get back with you.
Thanks again!
@pandrr, I have pushed a proposed fix to the branch features/w-texture-coord . Could you try out webgl-obj-loader.min.js in the dist/
folder on that branch and let me know if that works for your Cinema 4D exported model?
@qtip, if you have time, would you mind reviewing the changes on that branch and let me know what you think?
@frenchtoast747 yeah that works perfectly! thanks for responding so fast!