0
$\begingroup$

I want to take a texture, say a basic black/white checkerboard, and apply it to a complex shape (a bit of level geometry for a game in this instance). At the target scale, it will be much smaller than the target object, maybe 1/5th of the width of the bottom square area in my image, but it should tile to fill.

Deformation is not desired, so for example even if there is a hill in the geometry the checkerboard texture should be the same as-the-worm-crawls distance from square to square everywhere.

desired geometry

I have tried fiddling with texturing options but it seems mostly it is made for simple shapes, and treating this shape like a cube or sphere leads to understandably strange looking results.

I also thought about getting orthographic projections and applying UVs but it seems like a bit of an intensive workflow and it will also lead to deformation in the shape when texturing hills and the like.

Below is the actual kind of end result I'm going for, so eventually I'll also want to find a way to tack on these "edges" to the shape, but for now I'd like to just start with a looping texture. Note that because my target end result looks like this, I only care about the top and bottom of my shape separately when it comes to looping textures and thus there doesn't need to be consistency between the sides.

Any advice would be appreciated! I'm very new but I know that I could do this already in one of several painful ways. I'd rather do it right, from the beginning since I will have to generalize this process to many other geometries later on.

marble blast ultra

Edit: Here is an example of the simple approach of getting a UV map from an orthographic projection causing some warping on slopes, which I'd like to avoid if possible.

enter image description here

$\endgroup$
6
  • 1
    $\begingroup$ I do not understand the “as the worm crawls description.” Hills will not be able to have a perfectly tiled texture, because you cannot make them out of a flat piece of fabric without cutting. The attached screenshot’s textures only work because the curved terrain is bent along only one axis. $\endgroup$
    – TheLabCat
    Apr 15 at 23:38
  • 1
    $\begingroup$ Oh, hm. I suppose that is true. In that case I can accept deformation, but not in the case that a curve is only along one axis. I meant hill more like a slope that is pictured here but I didn't really think about a 2-dimensional hill when I wrote it. In the image I think it should all be able to be textured with no deformation for example (also the checkers needn't perfectly fit into the contour of the shape and can overflow a bit if needed) $\endgroup$
    – Empty Set
    Apr 15 at 23:41
  • $\begingroup$ Ok, well, sounds like a standard UV map, possibly with “repeat” set for image input mode. $\endgroup$
    – TheLabCat
    Apr 15 at 23:44
  • $\begingroup$ Therein lies the question - how would I set up the UVs to make sure that I don't warp the hills (here I mean just the 1-axis slopes)? If I get UVs from an orthographic projection looking down -Z I will see the hills as flat and thus the checker texture would be messed up. Is there a way to do a "distance sensitive" solution here? $\endgroup$
    – Empty Set
    Apr 15 at 23:47
  • 2
    $\begingroup$ @EmptySet The standard UV ▸ Unwrap operation is “distance-sensitive” in the way you describe. $\endgroup$ Apr 16 at 3:15
0
$\begingroup$

I think a simple unwrap would do just that. You just need to set all the outer edges of your shape as seams, so the UV unwrap 'knows' where to separate the shapes (UV islands) and avoid distorting and overlaping in the UVs. To set edges as seams: in edit mode, select only the outer edges of your platforms and then click on "edge" and "mark seam". Then select all faces, hit "U" and "Unwrap". I think it should give a pretty good result. Might need to tweak a bit in UV editing, like rotating the islands so they align with the texture pattern and stuff like that.

$\endgroup$
1
  • 1
    $\begingroup$ Thanks for the feedback. I tried it out and it was a bit of a mess but I think the solution is going to be simpler, more modular geometry plus an approach like you mentioned. $\endgroup$
    – Empty Set
    Apr 20 at 2:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.