Is my understanding of UVs/ Texture Coordinates correct?

Is it true that Tiling + Offset move texture coordinates, not textures. Textures are snapped to 0,0 corner and will move if the texture coordinate moves.

Are texture coordinates per individual plane or shared across a mesh.

I found footage of a texture wrapping around a cube’s edge, but when I offset the texture coordinate, it does not wrap at all. I do not understand why the contradiction is present.

If tiling will scale texture coordinates, and assuming coordinates are per plane, does that mean the “far bottom right/ end texture coordinate” can be higher or lower than 1,1?

If offset will move texture coordinates, and assuming coordinates are per plane, if I offset up + left, is the 0,0 that appears on the bottom right the same 0,0 that originally was from the upper left, or is this a brand new 0,0?

Overall I want to understand UVs much better. I want to know what texture coordinates are, where they originate from, how many there are, and how they behave when they are scaled and moved around. All of this is a big gray area for me. I’ve spent a couple days trying to research UVs but the resources ive looked into dont seem to outright answer my questions.

I think you should start play with a Quad than a cube so overall after modeling a object you should unwrap each vertex onto a 2d plane which you add texture to that plane later. That plane call UV coordinate. Each vertex, after unwrapping, gets a UV coordinate that corresponds to a pixel on the texture applied to the 3D model.
uv.xy with uv.x from 0-1 on x axis and uv.y from 0-1 on y axis and depend on which directx or opengl
what is tilling and offset: uv.xy = float2(uv.x * tiling.x, uv.y*tiling.y) + float2(offset.x, offset.y). This mean tilling is scaling the texture based on UV coordinate, offset is move that texture.

1 Like

Probably better if you tested it on a plane first. The edges on the cube might make seem it more confusing than it actually is.

Tiling and offset applies to textures. Tiling is scaling the texture. Offset it translating the textures.

Every vertex creates a UV coord, so a plane would have 4 of them. Stretch them out in the 0-1 UV space and any image you use will be displayed on the plane.

1 Like