I apologize is this is a little beyond the scope of this site, but I feel the matter is still germane is it pertains to Blender’s UV maps and shader features.
Okay long story short, I found out about VRoid and have decided to use it to make some characters for future projects.
I bring this up because I want to ask about how to convert a seamless texture for them. I bought 100drips’ HexShader Pro materials for that purpose, but I had noticed that the material is not having the desired effect. To illustrate I will be using two materials from hexshader
The first is with the nanoskin material to better illustrate the problems. The second is with the material I wanted to use (it part of a more elaborate texturing thing, hence why I was looking into seamless patterns).
I’m want to ask about addressing this so that it is well…seamless, as well as exporting the UV map for use with VRoid for later.
Update: okay as it turns out I had made some errors in this post
- first It turns out that I had to go into edit mode first to view the UVs
- secondly it does turn out that the UVs are wrapped, but as you can tell from the second example they aren’t quite perfectly aligned.
Also, sorry about the doublepost.
Using a similar but different model (and an image texture I made), I noticed that the issue seems to be with the legs not matching up with the torso area. The UV map has those being completely disconnected, so I might have to get creative there.
However the other issue is that I want to export the result as a UV map with the texture applied as it is on the model so that I can port it to VRoid and work from there.
The thing about UV alignment is that there’s no way to map a seamlessly tiling texture onto a manifold spherical 3D object*. Your person is just a globe that’s been elongated and stretched in places, and it faces the same problem that you face unwrapping a globe.
The trick is to have the appearance of seamless by being strategic with where you place your seams. Separating the torso from the legs with a seam is not a great idea- you want seams to be in low visibility places. Inside of legs, necks under hair, underarms, etc. you can also take examples from real world clothing construction (you can see seams on any piece of clothing).
I would recommend marking seams by hand (select an edge, press W, Mark Seam) and optimizing it until it looks good from the visible angles
This is… mostly true, it’s true enough for the sake of argument. Perhaps a more technically correct position would be that there’s no way to do this without warped curved lines- i.e., a 2D deformation applied to every point individually. UV mapping doesn’t allow for this kind of warping, and to be honest, not many things do.
You can’t do it with a piece of paper, for example, not without manual compensation. You’d have to project the warp on the paper and draw it by hand - however, you’d also have to compensate for the warp of whatever globe mapping technique you’re using. It’s possible but insanely difficult- there’s a reason globes were only for the rich for a good chunk of their history.
I see. thanks for the breakdown. However I might have to try optimization in VRoid itself as my purposes require it be saved as an 2d image already warped so that I can use it for future characters/outfits (in fact the pattern is supposed to be background for a more elaborate sci-fi clothing texture) so that might eb the end it of it as far as blende rgoes.
However I am aware that VRoid has tools for moving the texture, but I don’t think it has it for scaling, so I am gonna try if making a smaller version of the pattern covering the same area helps.
You can save it as an already warped 2D image from Blender- what you’re describing, you can that get by baking your image texture. I’m just saying you need to fix your UV seams first
This is an old thread but I wanted to add a quick visual representation of this claim for anyone curious:
Every red circle on this map is the same size geographically. How would you map a UV texture that honors both the straight lines of this map and maintains the correct geographical scale? It’s a bit of a fun thought exercise to try and figure out a possible solution