Jump to content
3DCoat Forums

Direct painting over low-poly


Recommended Posts

Hello guys. I like to know where I can find demo or videos of this new V3 Feature: Direct painting over low-poly.

I make this topic in case you like to share tuts here. Thanks!

There is no videos because this feature is planned but not done. But this featre means that you will be able to paint not over microvertices but over points of uv-map. It gives best possible paint quality.

Link to comment
Share on other sites

  • Member
I'm also waiting for this feature to be added, it's pretty important. I even dare to say more important than the sculpting stuff.

/ Magnus

I'd agree. The voxel stuff is interesting, and could change a lot of how we work in the long term, but right now (as far as buying more licenses goes) it's all about the direct painting. Thats something everyone wants right now, it'll be a lot slower to change how people sculpt if they have years commited to ZB/MB

Link to comment
Share on other sites

  • 2 weeks later...
  • Member
I'd agree. The voxel stuff is interesting, and could change a lot of how we work in the long term, but right now (as far as buying more licenses goes) it's all about the direct painting. Thats something everyone wants right now, it'll be a lot slower to change how people sculpt if they have years commited to ZB/MB

Yes, but keep in mind in 2004, people were committed to just Maya/Lightwave, etc. for all organic modeling and they didn't even know life could be easier with Zbrush ;) Even in 2005-6, I was experimenting myself with Silo's topology brush and I remember a colleague of mine watch me "draw" topology over a dense sculpted mesh and he laughed and said that it wasn't "real" modeling and that a studio would never implement such a pipeline. LOL.

On the topic of painting low poly, the ability to have complete control over vertex colors is a must have. Also, the ability to limit your color pallet as well.

Link to comment
Share on other sites

  • Member
I'm also waiting for this feature to be added, it's pretty important. I even dare to say more important than the sculpting stuff.

/ Magnus

Ditto-redux...

For me, being able to load a model ->straight<- without modification and enjoy some of the retopology and other tools would be great for me.

I'm mostly modeling in MOI now (with a few models done in Lightwave's Modeler for good measure) for my game assets and I'd like to be able to use 3D-Coat in my pipeline.

As it is now, I can't use this program at all in my mechanical model pipeline since upon import, the model is immediately mushed...

I've been waiting for Silo to do these chores but I'd have no probs being able to do them in 3D-C <_<

-Will

Link to comment
Share on other sites

  • Advanced Member
There is no videos because this feature is planned but not done. But this featre means that you will be able to paint not over microvertices but over points of uv-map. It gives best possible paint quality.

But I can already paint directly onto a low-poly model in Alpha 3_0, even in 2_10. Could someone elaborate further how this direct painting differs from the one currently available?

How must an object be modified prior to painting? Does it need to be tesselated within 3D-Coat?

Link to comment
Share on other sites

  • Advanced Member
But I can already paint directly onto a low-poly model in Alpha 3_0, even in 2_10. Could someone elaborate further how this direct painting differs from the one currently available?

How must an object be modified prior to painting? Does it need to be tesselated within 3D-Coat?

Right now when you import a low-poly mesh, 3dc always subdivide it (i.e. 4 million vertices if you choose a 2k map). It then paints at the vertex level and transfer the result in a texture map on the fly. This allows for generating normal maps on the fly based on the deformed geometry if you paint-sculpt the model.

However if you paint color only, a direct-to-texture painting scheme (or UV paint) would provide better quality and control since it would not require the original model to be subdivided at all. Also UV paint would allow symetrical painting using overlaping UVs, which is not the case right now.

Hope this helps.

Franck.

Link to comment
Share on other sites

  • Advanced Member
Ditto-redux...

For me, being able to load a model ->straight<- without modification and enjoy some of the retopology and other tools would be great for me.

I'm mostly modeling in MOI now (with a few models done in Lightwave's Modeler for good measure) for my game assets and I'd like to be able to use 3D-Coat in my pipeline.

As it is now, I can't use this program at all in my mechanical model pipeline since upon import, the model is immediately mushed...

I've been waiting for Silo to do these chores but I'd have no probs being able to do them in 3D-C <_<

-Will

Will -- I've had good luck lately importing "hard edge" Lightwave models into 3DC. I was having the same problem but got some advice here and it seems to work.

First, in Lightwave, create an Atlas UV map. I happen to have LWCAD and I use the "make quad" option which prepares the model into something 3DC seems to like.

When importing, make sure to uncheck "Smooth object". Then under the Load object options there's a dropdown option. Choose the very smallest value offered on that list and click OK. On my system the other options are set to "Keep clusters" and "no smoothing".

Here's a quick and dirty hard edged model, with several booleans, in 3DC.

post-438-1230656593_thumb.jpg

Link to comment
Share on other sites

I did the same thing with a small object like yours and also had no problem. However when I tried it with a large detailed object (a store front) it didn't work. So I have had this building model on the back burner for months now while I wait for low-poly import to be implemented.

Link to comment
Share on other sites

  • Advanced Member
Right now when you import a low-poly mesh, 3dc always subdivide it (i.e. 4 million vertices if you choose a 2k map). It then paints at the vertex level and transfer the result in a texture map on the fly. This allows for generating normal maps on the fly based on the deformed geometry if you paint-sculpt the model.

However if you paint color only, a direct-to-texture painting scheme (or UV paint) would provide better quality and control since it would not require the original model to be subdivided at all. Also UV paint would allow symetrical painting using overlaping UVs, which is not the case right now.

That clears it up, thanks. Yes, this would be very useful. You could also author the normal maps by using the Depth map as a bump map only, rather than to displace the geometry in any way - right?

I tried importing a low-poly mechanical-looking model I had into 3DC via the "no smoothing" option. It also had lots of overlapping UVs. I tried painting on it, but I think I ran into some problems. There were large multi-vertex polygons (not quads), for example the cap of a 20-sided cylinder, and when I painted on that the texture looked distorted if I used the original UVs. So is this because the painting does not currently work in UV space?

I wonder about Cavity Masking though. How are cavities and heights calculated? Will cavity masking work on un-smoothed (non-tesselated) geometry? It would be great for painting worn corners and dirty cavities on angular low-poly metal objects. Because I think that cavity calculation requires tesselation. And if the polygons are not quads (like the cylinder cap) and also very long (like a single-poly side of a long metal bar), the results may get ugly.

Link to comment
Share on other sites

  • Advanced Member

Yes, it appears that Phil is correct. I tried some more complicated models and saw some artifact's in 3DC that I didn't see in LW. But then these were old models made in Truespace and saved out to obj format.

I guess I need to take some time and try to see if I can figure out what seems to break the 3DC import. It's important to me and it appears others to be able to import into 3DC hard surfaced models.

Maybe Andrew has some "do's and don'ts" for preparation of models for import into 3DC?

Link to comment
Share on other sites

Here is the building I tried in LW (I removed the glass in the windows):

Starbucks_JP_LW.jpg

Here is the settings I tried in 3DC. The lowest the "millions" slider would go is 0.3, so I manually entered 0.0

Starbucks_JP_3dc1.jpg

And here is the result in 3DC, it clearly quadrupled the number of polys. In LW the poly count is 3518, with as many quads as I could get. (oddly Make Quad gives me 3526)

Starbucks_JP_3dc2.jpg

I don't see why simply telling it to not multiply the number of polys would be that difficult.

Link to comment
Share on other sites

The essence of low-poly painting in v3

1) Logical unit is pixel on texture that is also somewhere in space (color+opacity+displacement - in layers).

2) Every face is split on set of points in space that correspond to pixels on uv-map.

3) Painting is performed over this set of points in space

Difference from other technologies:

Current workflow:

1) Split every face on set of points NxM

2) Paint over microvertices

Projection painting:

1) Logical units - pixels on texture

2) Preject on screen

3) Paint

6) Project back

7) Result - loosing quality when object is not very close to screen

Vertex painting inZB:

1) Split every face on 2^n x 2^n parts (equal to each other)

2) Paint

To Phil - why have you set 0 millions of poly? Set there 4-5 millions.

Link to comment
Share on other sites

To Phil - why have you set 0 millions of poly? Set there 4-5 millions.

Well I'll be... It worked. I really don't understand why though. I wanted the fewest polygons possible, why would 5 million make it look nice, but the smallest amount make it ugly? Importing models is the one thing that I never fully understood. It has some facets, but those can be smoothed out.

Well whatever, as long as it works. And since it does work, I don't understand the point in this conversation.

Edit: Now I understand. once I started smoothing some of those facets I saw that the geometry was being modified as well as the normal map and it took some effort to avoid that happening.

Link to comment
Share on other sites

  • Member
Edit: Now I understand. once I started smoothing some of those facets I saw that the geometry was being modified as well as the normal map and it took some effort to avoid that happening.

Winging it here, but I think the logic of the subdivision on import is to "shrink wrap" the original model with a version that allows displacement and normals painting. It is not that the original model is subdivided in the traditional sense, with the polys broken down into smaller ones. Rather, the polys are recast onto the internal, flat normal map that 3DC 2.x uses for painting. The higher the poly resolution of that normal map, the finer the details and the better they join across boundaries.

So, your initial setting of 0 polys created a very coarse surrogate for the import. (Although I like the foam rubber architecture look, seems to suit Starbucks.) With 5 million polys the shrink wrap could bend acutely around the sharp edges. When you paint near those edges with displacement or normals, you can affect them within the range of the brush.

All this may be a mistaken surmise, but it is my mental model of how 3DC currently works. As for low poly painting, from what I've seen, displacement for low poly UV painting creates some artifacts along UV edges that are not joined on the map but are adjacent in the model. I use Carrara displacement, and it can show these artifacts at joins.

I'm wondering if it would be possible to paint the normals or displacement with the subdiv model, and the other channels directly onto the low poly UV map with 3DC version 3?

SMcQ

Link to comment
Share on other sites

  • Advanced Member
As for low poly painting, from what I've seen, displacement for low poly UV painting creates some artifacts along UV edges that are not joined on the map but are adjacent in the model.

I am a bit worried about this, and in color painting too, as I have seen it happen in other applications when you paint over seams. A highly subdivided model in 3D-Coat performs remarkably well across seams, but will this be the case in direct low-poly painting? How will visible seam artifacts be avoided, especially if the clusters are at slightly different scales or the adjacent polys across the seam are stretched slightly differently?

Also, will cavity / height masking work on the model's corners in low poly, like it does in high poly?

Link to comment
Share on other sites

  • Advanced Member
Well whatever, as long as it works. And since it does work, I don't understand the point in this conversation.

I guess I was thinking of situations where you want to load a low poly model into 3DC to add some detail. Like a building with columns -- you may want to add some cracks or other details to a column. Of course those details would add polys, but you wouldn't want the poly count for the whole column increased, just the necessary one's.

But maybe my "thinking" is flawed, which is very possible.

Link to comment
Share on other sites

I guess I was thinking of situations where you want to load a low poly model into 3DC to add some detail. Like a building with columns -- you may want to add some cracks or other details to a column. Of course those details would add polys, but you wouldn't want the poly count for the whole column increased, just the necessary one's.

In this situation I think the closest solution may not exist yet. Merge the model in as voxels, add your cracks or whatever, then it sounds like this quadrangulation Andrew is talking about would export it out with the fewest polys possible in each area.

Link to comment
Share on other sites

  • Advanced Member

Yeah.. forget what I said earlier, I actually tried it in practice this time. I had an existing low poly (game optimized) model with an existing UV layout with overlaps. I tried importing it in a multitude of ways. First it ended up looking like melted ice cream, just like Phil's screenshot in the previous page. But I finally managed to get it just about right. But even at the lowest carcass resolution setting it still subdivides the model once, and the UVs get stretched.

Here's a little shot of the model, filled with brown noise, so you can see the stretched texels:

post-1255-1231343359_thumb.jpg

There is a plus side though: cavity masking works even in low poly! Hooray! :) I used it to Desaturate and Specularize the sharp corners of the object (see above). I love being able to do this so quickly, making a metal object look worn used to take hours of tedious drawing on isolated UV islands.

Another cool feature is 3D-Coat's automatic UV packing. I decided to "Keep Clusters", but let 3D-Coat automatically assign the object unique (non-overlapping) UVs. They were packed very efficiently. However, when I tried using the quick UV tool to re-unwrap the object, the clusters got rotated and scattered quite inefficiently.

Anyway, the model above is poorly suited for painting. The panels on the front are not Booleaned into the surface, they are actually separate boxes with no backface (to optimize the polycount). Thus, there's some face/fill overlap which will probably cause problems with direct painting.

Anyway, I'm really looking forward to the direct UV painting feature. Here's hoping that cavity masking will work with it the way it does now. Because I got the impression somewhere that it requires tesselation.. so how exactly does 3D-Coat do it?

There are other problems to solve too, still. For example, if the UV clusters are at different scales (for example, I tend to scale the object's bottom face UVs smaller to allocate them less texel space, just for optimization) and you draw a paint stroke across the UV seam between them. How is the scale difference handled? I've seen many 3D paint programs struggle with this. But I'm a firm believer in Andrew & co's amazing talent. :)

Link to comment
Share on other sites

  • 4 months later...
  • Member

Just following up on this old thread - has the latest downloads (alpha 82) been updated with any features to support the hard surface/low poly painting?

Or was it just a matter of entering "0" in the millions of polygons field before import?

Just catching up on 3D-Coat to see how far along it is at this point in time...

-Will

Link to comment
Share on other sites

  • Advanced Member
Just following up on this old thread - has the latest downloads (alpha 82) been updated with any features to support the hard surface/low poly painting?

Or was it just a matter of entering "0" in the millions of polygons field before import?

Just catching up on 3D-Coat to see how far along it is at this point in time...

-Will

Yes, "File" - "Import for per pixel painting" is what you want. Of course you should choose "No subdivision" in the import panel.

Link to comment
Share on other sites

  • Member

Thanks for the info and THANKS to Andrew for implementing this so I can (finally) add this wonderful app into my workflow.

I loaded a quick model I had and it crashed with an out of memory error - granted I had selected 1024x1024 textures (I only have 2gigs RAM on my desktop Win XP SP3)

Now that Unity v2.5 is available on Windows and it's one of the best game engines I've tried so far out of a bunch I've chosen it for all of my current game developments.

I'm not sure if it's planned for 3D-Coat to support Collada and/or FBX but it would certainly eliminate some steps for me if it ever does! :good:

-Will

Link to comment
Share on other sites

I'm not sure if it's planned for 3D-Coat to support Collada and/or FBX but it would certainly eliminate some steps for me if it ever does! :good:

I was suggesting Collada a while back since it would be good for outputting to many packages of course, but also because 3DC supports LWO so well right now, but the next version of LightWave will not use LWO as it's main object file, it will use Collada.

Link to comment
Share on other sites

  • Member
I'm not sure if it's planned for 3D-Coat to support Collada and/or FBX but it would certainly eliminate some steps for me if it ever does! :good:

I'm using FBX import to 3dc (from 3ds max) and I haven't any problem for long time.

Collada support would be great, because I had some problems with exporting FBX from XSI Mod Tool (in smooth groups/hard edges).

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...