Jump to content
The Dark Mod Forums

Ungoliant's mapping questions


ungoliant

Recommended Posts

yeah, that one i know of, i suppose that would work well enough. I wonder if I could just remove a couple horizontal and vertical loops, and then reapply the highpoly to it again and see if it will conform to the highpoly shape.

Link to comment
Share on other sites

working in sculpt mode, I've noticed a few times that you can make small tears in the mesh if you're not careful. If you've already saved and quit, or overrun the undo history, is there an easy way to get rid of those tears, or do you need to start from scratch. or does it even matter that much?

Link to comment
Share on other sites

The sculpting in Blender isn't adaptive. All you are doing is moving vertices around. I don't know how you'd end up with literal tears in the mesh.

 

I'm assuming that the artifacts you're seeing are the product of geometry clipping into itself. You should be able to relax the mesh in these areas with the smoothing brush.

Edited by rich_is_bored
Link to comment
Share on other sites

Sometimes that works, and sometimes it doesn't. But it definitely either produces tears, or some artifact that stops rendering faces, because I can see into the middle of the mesh from the outside.

 

On a related note about those tears: converting to tris completely wrecks the a lot of sculpting done in multires, with lots of new tears. I'm hoping i can leave everything in quads until the final result is done, and let the exporter do all the work, and hopefully not ruin everything at the last minute. I'm wondering if converting to tris should be the first thing done, or the last?

Link to comment
Share on other sites

You want to convert the low polys to tris, not the sculpted model.

 

I don't know Blender, you may need to save a copy of the scene, then convert those to tris after baking. If baking in xnormal they don't need to be tris.

And honestly I don't know if you have to convert to tris to export ase from Blender, you don't from Max. Far as I know that's just an LWO thing.

 

Still, the sculpt is way to high for game, you just want to bake it onto lower poly versions (even the high should be way lower than the sculpt). I wouldn't see any reason to have that model over 200 tris (for highest lod), it's basically just a cylinder.

Dark is the sway that mows like a harvest

Link to comment
Share on other sites

sorry should of clarified. converting to tris on the lowpoly affects the sculpted version of the highpoly with multires. No its not necessary to convert to tris explicitly, the ase export script will do it automatically, but since it had to be done at some point, I thought I might do it early. This I think, is a mistake, lol. So yeah, I think i should be able to bake whatever i need onto the low poly, then convert to tris manually or let the export script do it, and then I don't need to care about the effects on the highpoly because its already served its purpose.

Link to comment
Share on other sites

planning a little in advance here, since the texture used will be tiling, but the AO image cannot (I think?). In a d3 material shader, if you blend, for example, a 512x512 image onto a 256x256 image, how do they align to eachother exactly? center to center? bottom left corner to bottom left corner? will it rescale automatically? not at all and it won't work? Edited by ungoliant
Link to comment
Share on other sites

Are we talking about your stalagmite? You could probably get away with tiling the diffuse map but you won't be able to do that with the normal or ambient occlusion maps. You might as well bake the ambient occlusion into the diffuse map. This will spare you the memory consumed by a separate AO map and gain you the ability to uniquely color the object.

Link to comment
Share on other sites

but you won't be able to do that with the normal or ambient occlusion maps.

 

I don't understand...what keeps someone from tiling a normalmap the same way as a diffusemap?

Link to comment
Share on other sites

The UV's of the model control where all maps applied to a model will fit it. You can't have separate uv's for the diffuse and normal or AO. If the UV's take up the entire 512x512, they will also take up the entire 256x256. If your map is 512x256 it will also take up the entire map. (ie: it scales automatically). You might be able to get away with it on an AO blend, it might look a bit dirtier which might even be good. However I have tried with normals and spec and the pixelation of the smaller map really shows up and looks pretty bad. Better to stay at the higher res.

 

So if you go outside the uv space to use the benefit of tiling, then your AO map will not work (or it will just tile the exact same way).

 

I am using stock tiling textures to combine with my normals for the pillars I am working on, however I am just uv'ing to the edges of the tile, not going outside of it. So the diffuse will align correctly at the seam, but it will not tile on the model.

 

It's not that you can't use tiling on the object.

 

The problem with baking AO in is: My pillar will use a 1024 map for the column and a 1024 for the trims (top/bottom pieces,other building trims pieces). I plan to use 5-6 diffuse maps for skins. I could have two AO maps at 1024, or 5-6 bakes textures. That's quite a bit of extra texture resources. Plus if the diffuse is already being used for other stone bits around the pillars it's more to load in memory.

Dark is the sway that mows like a harvest

Link to comment
Share on other sites

ok BC, are you saying then that if i require tiling of the diffuse, I could possibly split the model into using 2 materials that are the exact same, and then either possibly using the same AO map if its big enough for both uv islands, or using 2 separate AO maps if necessary?

 

rich: if my uv's end up tiling outside the diffuse, how then could I bake a single AO into it as you describe?

Edited by ungoliant
Link to comment
Share on other sites

@Springheel: In general nothing is stopping someone from using a tiling normal map. But we're talking about a situation where the normals from one object are being projected onto another. Each pixel in the texture must represent a unique location on the surface or else the normal map produced will be a jumbled mess. Of course once the normal map is baked you can apply it however you fancy.

 

@ungoliant: You can't bake the AO into another image if that image tiles.

Link to comment
Share on other sites

OK, sometimes pics are better, even if they are crappy

 

uv.jpg

 

The uv's on the left are the green outlines, the blue line is I don't know: 1:1 space. It's the uv space whatever. The green and blue dots will always match the green and blue dots of the texture respectively, no matter the texture size.

 

You can tile the uv's on the tex map by putting them outside the uv space. Say if the circle was half across the blue line, if the texture was tiling then it would be seamless on the model, so you can tile like that just fine.

 

But a baked ao can only take that much space. If the black lines on the ao went to the edges it would tile left/right just fine. But most AO is more specific than that. So just because a stone texture tiles in all directions it doesn't mean the baked AO will also tile the same (it can, but probably wont unless you uv specifically for it to do so).

 

another example, I'm tired so..

Say this is your object specific ao (I was thinking of a fire hydrant, lol). You could use a tiling metal texture on the fire hydrant, but the ao is space specific.

 

ao.jpg

 

----------

 

Why do you need the tex to tile though? Do you want the uv's to take more space than the 1024 stone texture available?

 

I can't really see the need for such a small object.

 

Would be one thing if you made a model of a house. You want to use the same brick texture all the way around it (so you tile instead of having stretched bricks). But one wall has a window and needs ao baked for that window.

Then yes, you could use one material of brick on the entire house. Then use that same texture and bake the window ao onto it (or do an ao blend in shaders) and use it just for that wall.

But the baked window would kill the rest of the texture for tiling the entire house... so it has to be another material. (same diffuse, different ao overlay)

post-1981-0-50936100-1333597982.jpg

post-1981-0-97857100-1333597984_thumb.jpg

Dark is the sway that mows like a harvest

Link to comment
Share on other sites

edit, damn my pics aren't showing.

 

Still, it's not that big. The columns I'm making are 3x4 times the players height and I am using the stock 1024x1024 to wrap it (actually a couple pieces are cloned). Then the other 1024 is the flats (for column pieces), trims for top and bottoms (the flaired out parts with details), and other various trim pieces that can be used for misc stuff. I wouldn't see why you'd need more than a 1024 for it.

Dark is the sway that mows like a harvest

Link to comment
Share on other sites

Back to the stalagmite again, is there a particularly good way to unwrap a mesh that has 86000 polys (loops are not going to work here)? If multires is not "applied" yet, can i use the "subdivide uv's" box to somehow automap its uv's to coincide with the current seams of the low-poly?

 

Also, is it even feasible to try to bake an AO map from something with 86000 polys? wouldn't that take like 5 weeks or something?

Link to comment
Share on other sites

You need to worry only about lowpoly's uv map. Do you plan to texture nicely your highpoly and then bake the texture on the low poly? If you want to bake normals and ambient occlusion you only need uv map on your low poly model. You can paint your colour texture straight on the low poly model.

And 86000 polys isn't that much.

It's only a model...

Link to comment
Share on other sites

I'm new at this, so maybe my plan of action isn't great, but I'm intending to just wrap a stock TDM natural stone material around the model as it is. Then bake an AO map from the highpoly in some way where the ao map will fit nicely with the uv's of the lowpoly so that the ao map can be added to the diffuse stage in a d3 material. I think in this way, mappers can easily skin things just by adding that ao stage to any material they wish.

So far i'm having difficulty finding a way to seamlessly unwrap the low poly. Best results so far was a cylindrical projection, but its so much taller than it is wide, the top sticks way out of bounds. I could use something maybe like 512x1024 or 1024x2048, but that defeats the whole purpose of not introducing new source textures with the model. I guess i could just have a seam sticking up and down one side of the model, and then the whole thing works, but so far i can't find a way to make that look good...

Link to comment
Share on other sites

If you want to bake normals and ambient occlusion you only need uv map on your low poly model. You can paint your colour texture straight on the low poly model.

 

Wait, what? Are you saying i can get an AO map / normal map from the highpoly and then somehow manually paint it onto (possibly any?) low poly model? how is this done? I don't need a huge tutorial, just tell me the name of the tools used for this so i can look them up in the blender online manual.

 

edit: actually, you know, I think my beginners understanding of blender isn't my biggest problem. Sure, i need to know more, but I think my biggest problem right now is a lack of understanding of the fundamental relationships between meshes and their UVs, and how they work together. So far, this is what I think I know: A mesh has lots of faces and edges and vertices. Its uv coordinate system has the same set of corresponding data, but projected in 2D, but some can be separated by seams. Normals, diffuse, spec, and ao, and maybe other things, all use a flat 2D image projected by the UV's onto the mesh. Thats pretty much it. I don't have a lot of insight into how to use any of that to do anything useful.

Edited by ungoliant
Link to comment
Share on other sites

Wait, what? Are you saying i can get an AO map / normal map from the highpoly and then somehow manually paint it onto (possibly any?) low poly model? how is this done? I don't need a huge tutorial, just tell me the name of the tools used for this so i can look them up in the blender online manual.

 

Baking AO is pretty easy in Blender. To do it, once you get your UV going, click on the Render button on the right toolbar, and go all the way down to the Bake header. Under the Bake Mode dropdown menu, select Ambient Occlusion. Select your model in edit mode, check the normalize checkbox, set the margin to 2 (so it'll cover any seams you'll get from your UV islands), open up your UV window, then hit bake. Wait about a minute or so (maybe a little longer, depending on how fast your comp is), and if you've set everything up right, you'll get your AO. Hit the image menu at the bottom, select "save as image", then save it out as a .TGA or whatever. That'll bake out your low res geometry to the texture.

 

To do a high-res to low-res bake, read this. I haven't done it in Blender yet, so I can't tell you exactly how to do it. Katsbits though, it'll tell you exactly what you need to do. I know it's for baking normalmaps, but the only difference between it and AO is the output texture.

 

Just one thing to keep in mind when baking AO: all your surfaces have to have unique texture space. You overlay any of your bits to save on resolution, and you'll suddenly finding yourself looking at shadows where you shouldn't have any, and overly dense shadows that should be lighter.

 

edit: actually, you know, I think my beginners understanding of blender isn't my biggest problem. Sure, i need to know more, but I think my biggest problem right now is a lack of understanding of the fundamental relationships between meshes and their UVs, and how they work together. So far, this is what I think I know: A mesh has lots of faces and edges and vertices. Its uv coordinate system has the same set of corresponding data, but projected in 2D, but some can be separated by seams. Normals, diffuse, spec, and ao, and maybe other things, all use a flat 2D image projected by the UV's onto the mesh. Thats pretty much it. I don't have a lot of insight into how to use any of that to do anything useful.

 

UVing is one of those things that's easy to understand once you get your head around it, but hard to really explain.Don't think of it as two separate things that work together in a "fundamental relationship". That'll just take you down the road to confusion. Think of it as literally your model cut up and flattened, because that's exactly what it is. I'll use two analogies to try and explain it.

 

UVing is like your model is made out of paper, and you took scissors to it, then flatted all the pieces out on a table. That's how you get your islands and layout. Your paper jug has a handle. You can't flatten it out on your table with the handle still attached, so you have to cut it off, then cut a seam down the jug and your handle piece so you can spread it out and rub your hand across it to make it flat.

 

So how do you get stretching? That's where analogy two comes in. You know how you can press a wad of silly putty against, say, a newspaper comic strip, and you'll get a print of the image on it? Well, say your flat paper UV magically turned into silly putty, and you've applied your texture to it by pressing pictures against it. Now imagine you putting your finger in the putty in the middle of, say, your jug body and you drag your finger through it so you move the putty about. The image will deform. The part of the image you drag away from stretches out, and the other becomes compressed together. That's pretty much what happens if your vertices aren't aligned properly on your UV. It's like the putty is predeformed there, and anything you put down on it gets distorted automatically. You'll have to smooth out that part of the putty to get the texture the way you want.

 

And how do you know if your vertices are deformed in certain areas? That comes with practice. Like your jug is made of a bunch of flat parallel rings, but when you UV unwrap, they'll be aligned on the island in a sort of soft U shape. You'll get distortion on the bits where the lines start curving upwards, so you have to go in and flatten them out to a level line to get things looking right.

 

I probably did a terrible job explaining it, but that's basically what UVing is. Like I said, once you get your head around it, you'll realize UVing isn't all that hard. Just mindnumbingly tedious.

Link to comment
Share on other sites

thanks for this. I will check out highpoly baking, i was unaware it was a field of study all its own. The analogy is a good one, now I just need to learn how to bring the whole thing together into a final product.

And how do you know if your vertices are deformed in certain areas? That comes with practice. Like your jug is made of a bunch of flat parallel rings, but when you UV unwrap, they'll be aligned on the island in a sort of soft U shape. You'll get distortion on the bits where the lines start curving upwards, so you have to go in and flatten them out to a level line to get things looking right.

This part I learned from some tuts online. the uv/image editor has a nice little "stretch" property that color codes based on stretching, and you can apply a uv test grid of checkered boxes to the mesh to see how it maps out in real time. When the boxes are uniform shape and size across the mesh, and the stretching overlay is mostly dark blue, your job is done. Can't wait to get that done on 86000 polys. Looks like i'll be getting some time in learning to use the 'pin' tool.

 

Now that I've learned of the sheer awesomeness of the Decimate modifier, it looks like i'll be going through 3 mesh stages. rough initial low poly, high poly, final low poly. What I'm still not sure of now is how I am going to layout the UV's of the high and final low polys so that they both fit the AO map in all the right places without excessive stretching in either mesh. I suspect the katsbits tutorial might have some detail on that subject.

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.

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.


  • Recent Status Updates

    • Ansome

      Finally got my PC back from the shop after my SSD got corrupted a week ago and damaged my motherboard. Scary stuff, but thank goodness it happened right after two months of FM development instead of wiping all my work before I could release it. New SSD, repaired Motherboard and BIOS, and we're ready to start working on my second FM with some added version control in the cloud just to be safe!
      · 0 replies
    • Petike the Taffer  »  DeTeEff

      I've updated the articles for your FMs and your author category at the wiki. Your newer nickname (DeTeEff) now comes first, and the one in parentheses is your older nickname (Fieldmedic). Just to avoid confusing people who played your FMs years ago and remember your older nickname. I've added a wiki article for your latest FM, Who Watches the Watcher?, as part of my current updating efforts. Unless I overlooked something, you have five different FMs so far.
      · 0 replies
    • Petike the Taffer

      I've finally managed to log in to The Dark Mod Wiki. I'm back in the saddle and before the holidays start in full, I'll be adding a few new FM articles and doing other updates. Written in Stone is already done.
      · 4 replies
    • nbohr1more

      TDM 15th Anniversary Contest is now active! Please declare your participation: https://forums.thedarkmod.com/index.php?/topic/22413-the-dark-mod-15th-anniversary-contest-entry-thread/
       
      · 0 replies
    • JackFarmer

      @TheUnbeholden
      You cannot receive PMs. Could you please be so kind and check your mailbox if it is full (or maybe you switched off the function)?
      · 1 reply
×
×
  • Create New...