Skip to content

Commit

Permalink
Fixes
Browse files Browse the repository at this point in the history
* Readme spelling error, clarification that fabric textures are new not up-sampled, and UV method summaries.
* Webp sources added to Textures section.
* Frame_Normal texture converted to WEBP lossless.
* Vertex color adjusted on pillows & fringe.
  • Loading branch information
echadwick-artist committed May 20, 2024
1 parent e6f75f2 commit e51c108
Show file tree
Hide file tree
Showing 6 changed files with 218 additions and 191 deletions.
6 changes: 3 additions & 3 deletions Models/SheenWoodLeatherSofa/README.body.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ The original is available from [Polyhaven](https://polyhaven.com/a/sofa_03). The
<br/>_Before and after, screenshots from [three.js Editor](https://threejs.org/editor/)_

Three UV methods were used:
1. The wood and leather frame was mirrored to maximize texture resolution via mirrored Vs, then the textures were re-baked from 8k source files. The back-facing mirrored UVs were offset one unit on the U axis, to avoid baking errors but to keep alignment with the front-facing UVs.
2. The fabric textures were recreated at higher resolutions, fine-grain woven detail was added, and the UVs were re-packed into a new atlas UV layout (all UVs within 0-1 space, with no overlaps). All fabric textures use the same UV layout, and textures were repeated using [KHR_texture_transform](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_texture_transform/README.md). The ambient occlusion texture is the only texture to use the UV layout as-is, without KHR_texture_transform.
3. The pillow fringe was recreated as a seamless ring around each pillow, to resolve discontinuities on the original model. New tiling textures were generated, alpha blend was used instead of alpha test, and vertex color was added for color variation. A second UV set was created for the ambient occlusion texture, using an atlas UV layout. This allows the fringe texture to be aligned to the geometry strips and repeated around the pillow perimeters (texcoord 0), while the baked ambient occlusion texture has unique space (texcoord 1).
1. One texcoord with mirrored UV. The wood and leather frame was mirrored to maximize texture resolution via mirrored texture coordinates, then the textures were re-baked from 8k source files. The back-facing mirrored UVs were offset one unit on the U axis, to avoid baking errors but to keep alignment with the front-facing UVs.
2. One texcoord with atlas UV and per-texture transforms. New fabric textures were created at higher resolutions, fine-grain woven detail was added, and the UVs were re-packed into a new atlas UV layout (all UVs within 0-1 space, with no overlaps). All fabric textures use the same UV layout, and textures were repeated using [KHR_texture_transform](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_texture_transform/README.md). The ambient occlusion texture is the only texture to use the UV layout as-is, without KHR_texture_transform.
3. Two texcoords: tiling UV and atlas UV. New pillow fringe was created as a seamless ring around each pillow, to resolve discontinuities on the original model. New tiling textures were generated, alpha blend was used instead of alpha test, and vertex color was added for color variation. A second UV set was created for the ambient occlusion texture, using an atlas UV layout. This allows the fringe texture to be aligned to the geometry strips and repeated around the pillow perimeters (texcoord 0), while the baked ambient occlusion texture has unique space (texcoord 1).

The fabric materials use the glTF extensions KHR_materials_sheen and KHR_materials_specular for more realistic fabric shading. Specular was reduced to avoid a plastic-like specular response, and sheen emulates backscattering from fine threads sticking up from the surface.

Expand Down
Binary file modified Models/SheenWoodLeatherSofa/glTF-Binary/SheenWoodLeatherSofa.glb
Binary file not shown.
Binary file removed Models/SheenWoodLeatherSofa/glTF/Frame_Normal.png
Binary file not shown.
Binary file not shown.
Binary file modified Models/SheenWoodLeatherSofa/glTF/SheenWoodLeatherSofa.bin
Binary file not shown.
Loading

0 comments on commit e51c108

Please sign in to comment.