Question, why texture paint doesn´t have symmetry?

basicly that, i was talking with some coworkers about that and the question was that.
so its simply that nobody code it? or is there an architectural impediment to do it?

Symmetry on any arbitrary UV layout is quite difficult to accomplish in a way that doesn’t kill painting performance. Even Mari lacks real symmetry. I’m sure Antony will get to it eventually, it just doesn’t exist yet.

Just to clarify, Mari lacks symmetry because its not painting on the surface of the mesh directly. It’s unique approach is based on the idea that you are painting on an invisible 2d canvas, and once you are done you command it to bake onto whatever his behind it (3d mesh).

The direct to surface painting on a 3d object can allow it to send that data to its corresponding UVs. You are right though, its clearly no simple matter.

Why not? Why not to use the same method as used in sculpting?

I suppose it’s the same reason Texture Paint is missing a lot of things – limited number of devs, with an unlimited number of things that need done.

The internals are setup to have symmetry added, its something I just never got around to, think its not a really big project (1,2… 3 days max…).

Think its probably worth adding for 2.75

Blender has great developers.

Tbh, that was part of my original post…but then I thought “hey, I have no idea how blender is set up internally.” So I chose not to assume that it would be that simple. It is one of those obvious features that you kind of have to wonder why it wasnt there from the get go.

Anyways… more to the point I wanted to get at…which is that Mari’s lack of symmetry comes from their own design, symmetry is discarded for their 2d canvas approach.

Here is a little work around :slight_smile:
Don’t forget to turn off the occlude option, otherwise you will paint the wire with it :

Neat workaround!

Wow, that actually works quite nice! :slight_smile:

Nice but I foresee some problems on more complex geo, because you won/t be able to make so clean offset of the duplicate geo.

While reading the topic i was sure that i had textured with symmetry in Blender before.
So thinking your where forgetting some option, then it occured to me of how i did it in the past.

Supose your going to texture a symetrical face, or body .
What can do, is generate an UV that is split in the middle of the face /body (as an up/down line on the nose).
Then you get 2 halfs of the face, 2 mirrored UV’s
.
So Next mirror one of those(scale x -1), and overlay it on the other half.

Now start painting your model, its fast and works directly; and you can do with smaller texture/UV mappings.

All these hacks with UVs are just that :-\ For normals maps and AO, you should have fully unwrapped mesh, not mirrored, not with mirrored UVs. Proper solution would allow for streamlined workflow.

I suppose copying original unwrapped mesh, cutting it in half and mirroring it would be fast enough workflow, if texture is then baked to the original mesh.

I’d consider mirrored UVs a best practice rather than a hack; at least in game dev. You get higher detail, and you often reduce the amount of work by half.

Offset your UVs when baking and normal maps and AO will probably be fine when mirrored. Polycount Wiki talks about it.

Maybe in mobile/web games it’s a necessity, but on PC and current gen consoles most models aren’t symmetrical. Mirroring was the thing in 90’s and eary 00’s. Nowadays, when models are sculpted and then baked, mirroring doesn’t help any.

I don’t see what mobile vs current consoles have to do with it at all. Mirroring UVs doesn’t save you memory or anything. You mirror primarily to maximize texture quality.

Even models with asymmetry such as this, have a lot of symmetrical parts. You can mirror eg the legs and save quite a bit of texture space. With that extra space available, you can scale up your UVs and give everything more pixels to work with. Thus you have a higher texture quality. If anything higher pixel density is even more important with normal maps.

Whatever though, we’ll just have to agree to disagree I’m sure.

at the moment i do tricks like, mirror mesh or overlaped uvs, even in the oscurart tools eugenio add a button to do that automatically, adds two uvs one fully unwraped and one overlaped, but its the same, selects the mesh delete a half, unwrap, mirror, apply, add a second uv, fully unwrap, all in one button, even with that some times its a problem.

the best case scenario woud be a mirror paint that can be use with dyntopo meshes to quick doodle but any mirror will help.

@ideasman42: that last sentence made my day ^,^ thanks

Hi motorsep, as english is not my mother tongue, I’m not sure to fully understand your comment.

Yes, that’s no more than a hack, but it’s working even if your UVs are not symmetrical and even on complex geometry without issue. (I use it since a lot of time).

But yeah, can’t wait to see a simple check box in the next version :slight_smile:

Finished initial patch, it could co into master, but prefer not to rush it.
https://developer.blender.org/D1259

Attachments