Jump to content
3DCoat Forums

Support for Multiple uv maps and multiple texture images. and export multiple images.


NinjaTaco
 Share

Recommended Posts

  • Advanced Member

I am a bit surprised that 3dcoat does not support multiple texture images at a single time. It only handles one texture image at a time that only has color depth specular.

Currently. In order to texture a room properly. The user has to export each and every single piece of geometry that is supposed to have it's own uv map and texture. Then import it into 3dcoat. Not having the ability to paint a room all at once basically means I have to spend a bunch of time exporting and importing and exporting again from 3dcoat... So if I have 33 objects in my room that need to have their own unique textures.

I am going to have to that 3 step process for all 33 objects. that is 99 steps of importing and exporting that will need to be done in order to texture a room. And that is not to mention the rebuilding of the shaders in the 3d application for each object but that is something else..

It just amazes me that this thing is approaching version 4 and it can't do this. Does the 3dcoat community just not make rooms or something? This is absolutely ridiculous.

Why even support multiple shaders if it all gets packed into the same uv mapping space, that feature shouldn't even really exist because it doesn't do anything.. Why does it give me the option to have a texture for each object when in fact each object's texture is simply getting packed onto the uv space. Why even do that?

post-1142-0-93894500-1364554413_thumb.jp

  • Like 1
Link to comment
Share on other sites

  • Contributor

Evidently, the words, "Import object for per pixel painting" mean you can't import 33 objects and get the same result. The only option I can see for you is to retopologize the entire room if you want it on one UV map (8K recommended here).

Link to comment
Share on other sites

  • Advanced Member

I don't want this on one uv map. I want multiple uv maps that have their own space.

And no.. ramming every single objects texture onto a shared 8 k square is ridiculous. Because for every single object that is added the resolution drops for everything as a whole because they would sharing the same texture image space. Even bodypaint3d supports that and maxon hasn't done much with that part of c4d for ages.

Seriously nobody here textures rooms?

Link to comment
Share on other sites

I do an scene in blender with 3 objects

1 plane

1 sphere

1 cube

the 3 objects have their own UVmap named UVset1, UVset2, UVset3

And their own materials named matplane, matsphere, matcube

the scene is exported using .dae file format

----

at 3DC when i import the dae for PPP... there is 3 UVlayouts named like the original materials

and the result is

in Paint Room:

3 Objects named

cube-mesh

plane-mesh

sphere- mesh

3 material (Surfaces) named

matcube-material

matplane-material

matsphere-material

At UV Room:

3 UVsets named

matcube-material

matplane-material

matsphere-material

Link to comment
Share on other sites

I'm not sure exactly what problem you're having. Are you trying to paint on multiple objects in the same scene in the 3D viewport or the UV texture editor? The former works just fine with multiple objects, the latter doesn't have all displayed. Is this what you mean? I've imported multiple objects in the same scene, all having different UV space, and exporting their own images (because each had their own material set before importing).

Please clarify what you are trying to do, what you expect to happen and what it is instead happening. And please, try with a little less antagonism. People will be more inclined to help.

Link to comment
Share on other sites

  • Advanced Member

I must agree with the wish for multiple UVs.

Right now I am baking (in 3dc words "merging") characters made in Zbrush on a low poly topology. I would like to have separate maps for the head and the body. So in 3dc you have to go the weird way by making your UV layout and bake (merge) just to be able to then go into the UV room to separate the layout into 2 UV sets. During this operation I guess the baked (merged) map is just being upscaled and therefor not improved in quality. If I now export the model and import that again to have a low poly model with 2 UV sets and bake (merge) that to get the better quality for pixel space I get a big mess in the paint room.

If I am lucky I am just using it wrongly as I am still a beginner having a difficult time finding a decent help document.

Link to comment
Share on other sites

im lost, sorry

cant understand exactly what do you need

can i ask for a detailed example in other apps or a video showing the walk-through ?

if you had done

one object with 2 uvsets

or two objects with individual uvsets

3DC separate every material (surface) like uvsets

or

3DC separate every uvset like uvsets

------------------------------------------

so if you have -like example- one cube with one uvset and 6 materials -surfaces- assigned to every face

when you import the object for PPP... all the materials are listed like UVsets

if you go to UVroom... there is 6 uvsets

if you look at materials(surfaces) window popup... there is 6 materials

if you look at object window popup... there is one object, in this example the cube

hope it help

Link to comment
Share on other sites

  • Advanced Member

Yeah. Puntoit understands.. It is about uv pixel space.

Carlosa. 6 uvsets... 6 materials.. does it still export 6 images or just 1 color image?

Simple example. A floor and sphere. The floor is unwrapped and and when you look at it uv map. It takes up the entire space.. It doesn't take up a quadrant or a corner.. it fills the entire space. The sphere is also unwrapped and it fills the entire space.. And because of this they cannot share the same texture image because the UV for the floor and the sphere have overlapping UVs. But if the floor and sphere are imported into 3d coat. it merges the 2 objects uv maps into a single uv map even if you maintain uvs on import it still treats it like one uv map. So if I try to paint goes on the floor and part of it on the ball and vice versa....

see the images below.

just need separate texture images for separate objects with separate uv maps. right now 3dcoat just packs it all into one image. Notice on the raw import. That when painting on the ball the same strokes appear on the floor. That is because they share the texture space and overlap. notice image Step 5 to Step 6. The pixel loss is obvious. If you notice the last picture the pixel loss that occurs with only 2 objects. The pixel loss for textures gets worse for every object that is added. Which is why they have to have their own separate images and separate uv maps for quality purposes.

post-1142-0-40049700-1364604368_thumb.pn

post-1142-0-07884700-1364604456_thumb.pn

post-1142-0-00327400-1364604466_thumb.pn

post-1142-0-13249400-1364604603_thumb.pn

post-1142-0-02103100-1364604685_thumb.pn

post-1142-0-27148800-1364604696_thumb.pn

post-1142-0-89999500-1364604754_thumb.pn

post-1142-0-56455800-1364605173_thumb.pn

Link to comment
Share on other sites

  • Contributor

The problem is, you use on every object the same uv space. Basicly it is U0_V0

To fix your problem, use for every object an extra uvspace.

For the Cube 0_0, for the Sphere 1_0 and so on.

Take a look at this.

3 objects, 3 uv sets, 3 exported textures (Space is plane 0_0, sphere 0_1, cube 1_0)

post-24378-0-21986600-1364631531_thumb.j This is correctly

3 objects, 3 uv sets, 1 exported textures (Space is plane 0_0, sphere 0_0, cube 0_0)

post-24378-0-00825400-1364631640_thumb.j This is wrong

This is the common way with the blender applink.

Maybe with your 3D programm you could set the space directly for every uv.

In you second picture i see a U and V field.

Link to comment
Share on other sites

  • Advanced Member

I just did another test on this subject. I opened the retopo mesh, that got unwraped in 3dc, then baked (merged) just to be able to use the UV room, in 3ds Max and moved the UVs of the head, that I separated in 3dc, one unit to the right and exported everything again into 3dc into Retopo room to use it for baking (merging) the high poly information of the, in zbrush sculpted and colored, information from that surface mesh onto this low poly object. The result was a totally messed up map with the texture of the pants stretched right over the face.

I guess merging is the only way to get the high poly information from Voxel room onto the low poly mesh. Therefor it seems not possible to use the pixel space effectively. If I am lucky I am wrong and just haven´t found yet the correct way.

As a side note. Since yesterday the model that I export from 3dc has a total messed up topology. I checked the model in Meshlab and it was messed up there too.

Link to comment
Share on other sites

  • Advanced Member

I just gave this another try and turned on the check box for "Export tiles as UV sets" in the Import object for per pixel painting" dialog when using "merge with NM ( per-pixel) in Retopo room. The result in Paint room was a mixed up texture with he socks at the ears. (Sorry for not posting a picture as it is clients work)

Link to comment
Share on other sites

  • Advanced Member

quote:

Is it possible your textures need to be flipped vertically?

No. the texture seems to be in the same place as the two overlying UV sets. This led me to further testing if the imported retopo mesh maybe was not tiled. And yes, stupid me, it was the problem in front of the screen. So here it is official: Baking and Merging wih multiple UV maps is possible and most what I said before should be regarded as blabbel. ;)

I now imported the 3ds Max made low poly mesh into Retopo room, unwrapped it and merged it into Paint room so that I can separate the UV sets in the UV room, to then export it as tiles so that I can re-import it into Retopo room to do the final merging. Quite cumbersome but it worked. Sadly now I have to deal with the distorted mesh now (different post) in this workflow.

Now I´ll check if I find a way to do that and be able to use the "Use name correspondence for baking" (hey, here actually the term baking is used instead of merging :) ) as my first test only baked (merging) some parts and left others black when this option was turned on.

Link to comment
Share on other sites

  • 2 weeks later...
  • Advanced Member

I don't want to confuse this thread or distract from it. But something since I've been having issues that are slightly related and have asked Andrew to look into them, I thought I would chime in. When importing objects with MANY UV maps it is slow and painful setting up their sizes so a slight improvement to the PPP import dialog a little to handle multiple UV maps better might help. (This is unrelated to the import bugs themselves and "flattening" of multiple images into one layer on import - that is another matter).

My suggestion for improving that dialog is not exactly about your issues, but it may help nonetheless. I wanted independent and grouped settings in the import dialog to make loading an object with dozens of UV sets/maps easier, by just adding a couple of checkboxes to that import dialog. See what you think.

post-2650-0-98987300-1365637685_thumb.pn

post-2650-0-82746600-1365637693_thumb.pn

post-2650-0-83819100-1365637702_thumb.pn

post-2650-0-01864400-1365637718_thumb.pn

Link to comment
Share on other sites

  • Advanced Member

I'm not really sure how I am supposed to import multiple UV sets without automapping because when I do tell it to keep the UVs that are already established, it crashes. But if I do automapping it combines all the uv sets into one. Maybe it is because I am using the mac version?

Link to comment
Share on other sites

  • Advanced Member

Sorry my mockups had a slight visibility/enabling error. I need to leave the text fields enabled so that you can change their names if necessary. Check these mockups instead of the last set. They are pretty much identical, except for how the enabling of some fields works:

post-2650-0-63985800-1365726338_thumb.pn

post-2650-0-87579600-1365726345_thumb.pn

post-2650-0-30952900-1365726365_thumb.pn

post-2650-0-47937200-1365726372_thumb.pn

Link to comment
Share on other sites

  • Advanced Member

This couldn't have come at a better time for me...thanks for the information.

I'm assuming you are talking about the workaround I mentioned above? That may not be necessary anymore with Beta14A1 - I think Andrew fixed an importing issue which caused imported textures to take like 3 times as much space as they needed to - I am successfully able to import LWOs with large textures now without this workaround, however, this is a good technique if you run into trouble with an import.

Also, Andrew has not added my suggestions for the import dialog, and I'm not sure if he intends to, so if people like the idea in the mockups above we should open a Mantis or continue to ask for it (or something like that) to make setting texture sizes quicker.

Link to comment
Share on other sites

0000754: Improve baking textures: Option "Export all paint layers"

http://3d-coat.com/mantis/view.php?id=754

0001102: Support for Multiple uv maps and multiple texture images

http://3d-coat.com/mantis/view.php?id=1102

please everyone: +1 :D

Link to comment
Share on other sites

  • Advanced Member

Just added my support.

@ PhotonVFX - actually no, I thought your lovely mock ups had been implemented...it was like giving a kid a lolly pop, allowing him to lick it and then taking it away from him.

I am sure there were tears.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...