KhronosGroup / glTF-Sample-Assets

To store all models and other assets related to glTF
256 stars 30 forks source link

Normal maps asset example #40

Open rudybear opened 8 months ago

rudybear commented 8 months ago

This pull request has 3 different examples how to create normals and normal maps for the assets. Here is a reference that was used: https://bgolus.medium.com/generating-perfect-normal-maps-for-unity-f929e673fc57

echadwick-artist commented 7 months ago

Thanks for these assets.

However it looks like there are some issues with the glTF models:

  1. glTF Validator reports missing buffer targets. Ideally these should be fixed. Visual Studio Code with the glTF Tools extension has a quick fix for this image

  2. The glTF models are lacking a good UV layout for baking. The UVs should be consistent texel size, without overlaps, and should have space between UV shells where ever there are hard edges (split vertex normals).

  3. The glTF model with the bevels is using all hard edges, but it should use averaged normals. Ideally the vertex normals would be face-aligned for best shading (vertex normals aligned to the normal of the larger neighboring polygon).

  4. There are no normal maps included with these models. It would be helpful to include baked maps from Blender, as a demonstration of the process advocated in the tutorial, along with screenshots from the glTF Sample Viewer or another renderer as desired.

Thanks for working on this. Tangent-space normal mapping is a really important aspect of glTF conformance for renderers.

DRx3D commented 6 months ago

@rudybear: Please review the 'Asset Quality Workflow' check for a list of errors that need to be corrected before this can be merged. The metadata generator (HTML file in /util) may be of use. Also see Submitting Models for instructions, hints, requirements, and recommendations for submitting models.

Also, this repo is not holding the source files for the models. If it is really critical to the proper understanding and/or use of the model, an exception will be made. Please make sure the presence of source files is full documented in the README.