Jump to content
The Dark Mod Forums

Ungoliant's mapping questions


ungoliant

Recommended Posts

I think what you need to do is to is to apply your displacement map through the displacement modifier. I think you might need to play around with the settings and/or maybe even unwrap the highpoly but you should be able to get the same results with the modifier as the material value.

Link to comment
Share on other sites

alright, #*$! it. i'll try that modifier one more time, and i'll even subdivide to 1.7 mil polys and wait around for 20 minutes for blender to do anything, but i'm not holding out a lot of hope. I'm positive that if you can influence geometry through an image, it should be possible to do the same shit with it as if you actually modified the geometry. I mean, that last screenshot i posted, without uvmapping the highpoly, the generated image i created totally kicked ass in the render on the highpoly. I just need that stupid image exported to an image file, and it should do the same damn thing when baking a normal map in conjunction with the highpoly model in xnormal.

Edited by ungoliant
Link to comment
Share on other sites

Did you consider combining normalmap and heightmap in Doom? Here's how the model looks without normalmap:

 

post-2001-0-27306900-1336165949_thumb.jpg

 

Normalmap:

 

post-2001-0-60613300-1336165635_thumb.jpg

 

Model with normalmap:

 

post-2001-0-91681700-1336165917_thumb.jpg

 

Diffusemap is stone/natural/rock_grey. You can add a heightmap to your normalmap using addnormals. Unfortunately, you can't add DDS so I took rock_grey texture and saved it as TGA:

 

post-2001-0-08799400-1336165900_thumb.jpg

 

The material looks like this:

 

stalagmite
{
stone

bumpmap addnormals(models/darkmod/props/stalagmite_local, heightmap(models/darkmod/props/stalagmite_h, 6) )
diffusemap textures/darkmod/stone/natural/rock_grey

{
if ( parm11 > 0 )
blend gl_dst_color, gl_one
map _white
rgb 0.40 * parm11
}
{
if ( parm11 > 0 )
blend add
map textures/darkmod/stone/natural/rock_grey
rgb 0.15 * parm11
}

// TDM Ambient Method Related
{
if (global5 == 1)
blend add
map textures/darkmod/stone/natural/rock_grey
scale 1, 1
red global2
green global3
blue global4
}
{
if (global5 == 2)
blend add
program ambientEnvironment.vfp
vertexParm 0 1, 1, 1, 1 // UV Scales for Diffuse and Bump
vertexParm 1 1, 1, 1, 1 // (X,Y) UV Scale for specular
vertexParm 2 global2, global3, global4, 1

fragmentMap 0 cubeMap env/gen1
fragmentMap 1 addnormals(models/darkmod/props/stalagmite_local, heightmap(models/darkmod/props/stalagmite_h, 6) ) // Bump
fragmentMap 2 textures/darkmod/stone/natural/rock_grey // Diffuse
fragmentMap 3 _black // Specular
}
}

 

After combining normal and heightmap (which in this case is just a diffusemap converted to TGA):

 

post-2001-0-28144700-1336165935_thumb.jpg

It's only a model...

Link to comment
Share on other sites

I assume you are making a procedural texture in Blender. You apply it to the super high poly, and then are baking it down to the low correct?

 

 

Wait, I think thats the key to this whole thing. xnormal bakes everything from highpoly to lowpoly.

 

NO.

 

xNormal doesn't do procedural textures. You have to make that in 3d program. Then bake it down. Then you can combine that in xNormal/photoshop with your normal map.

 

xNormal just bakes high detail MESH to a low MESH model's uv coords. Precodeural textures have no geometry to bake down.

(it also converts 2d images in height/normal, etc...)

 

And if your uv coords don't match from the high that you bake an image from blender in that map will NOT align with the low poly.

Thus why I said make the low poly/uv it, then sculpt it leaving it's uv seams in tact. That way when it bakes down (procedural tex on high to displacement map) , the tex you bake in blender WILL align to the normal you bake down in xNormal (high to low). Then they can be combined and the coords are the same.

 

but i'm pretty sure that it was designed to give me what i'm looking for.

 

It IS. But if you can't get good results you need to tweak it more in blender to get good results or tweak the results by hand in photoshop.

 

if i'm putting that heightmap onto the highpoly to bake to the lowpoly along with the normal map at the same time.....

 

You get the height map (displacement) by baking the procedural texture down onto the lowpoly IN Blender.

You can't then turn around and apply the height map to the high poly. Because the height map is 2d image baked to the uvs of the low.

 

If your high poly isn't uv'ed, then the texture will be applied probably in a planar fashion which is default. So it will just smear acroos the model, not wrap around it.

 

And if it DOES have uv coords, but they don't match those of the low, how are you going to bake that across and be aligned anyway?

 

-------

 

Honestly I think you are beating your head against a wall trying to make minor details cover up what will be a visible seam in a diffuse map anyway. And trying to find a way to do it that just isn't possible.

 

making seamless models isn't easy and there is no cure all one click button to do it.

 

You either need to sculpt in more detail (probably how most people will do it), or bake the displacement down from procedural textures and maybe clean by hand.

 

If all you want is a little bit of noise on top of your normals to give it a little more oomph, can't you just sculpt in some noise with a modifier? That'll be in the sculpt and seamless.

-------

 

in the end , unless you make a specific diffuse map for every skins you will have a visible diffuse seam. And a normal map/geometry will only hide that so much.

You apply a marble with one streak through it and you'll easily notice that in game.

 

So you either have mesh specific textures and a lot of work to make them completely seamless. =Mod bloat.

 

Or you have a decent mesh with a nice normal map and a good variety of skins with no mod bloat/faster loading/etc... and some possible seams (more or less visible depending on diffuses used).

This really isn't a bad option anyway.

Dark is the sway that mows like a harvest

Link to comment
Share on other sites

This is what I hate about displacement modifier:

 

displacemod.jpg

 

It is not spatially fucking aware. I creased some of those edges together to get nice sharp angles that appear smooth, but it took away from the poly distribution in other areas. so now, the displacement modifier likes to smash all those dense poly areas together, and barely touch the other areas. on top of that, it still looks like hell, using the same procedural texture i used as the displacement image.

Link to comment
Share on other sites

I think you might need to change the texture coordinates for this to work properly. Go to your texture, check what mapping it has (default is generated flat I believe), apply the same mapping to the highpoly (in case of flat you'll just need to project them from the screen) and then try changing the modifiers texture coordinates to UV. It might work if you set the coordinates to the lowpoly object (but I've never used other objects coordinates so I'm just guessing here).

Link to comment
Share on other sites

you are probably right. somehow I managed to selectively read certain portions of the displacement modifier, i thought i was selecting an "image" and not a "texture". Seems like every time i think i've finally found something legit to complain about, it still ends up being my fault :laugh:

Link to comment
Share on other sites

welp, more experimentation yields no better results. the mapping and influence panels of the texture do absolutely nothing with respect to displace mod, while the color and clouds panel certainly do. so i'm stuck with the options in the modifier, which have done nothing useful for me.

I have another lead though. UV map the highpoly, apply procedural tex as diffuse, instead of displacement, bake texture, export image to xnormal for baking into the normal map. that should work, right???? I feels like I'm grasping at straws at this point, lol

Edited by ungoliant
Link to comment
Share on other sites

I win

 

heightuvd.jpg

 

and don't give me crap about the poor layout of the uvs, this was just a quick mockup, and is only going to be used for transfusing a heightmap image to overlay the highpoly in xnormal during the normal bake.

Edited by ungoliant
Link to comment
Share on other sites

How will you use this inside xNormal? I understand that you can convert it to a normalmap via some of the tools but xNormal won't generate anything other than AO from it (there's a built-in tool for that) but you won't get any geometry baked AO-, cavity- or curvature maps or anything like that. I would've just sculpted the extra details at this stage.

Link to comment
Share on other sites

How will you use this inside xNormal? I understand that you can convert it to a normalmap via some of the tools but xNormal won't generate anything other than AO from it (there's a built-in tool for that) but you won't get any geometry baked AO-, cavity- or curvature maps or anything like that. I would've just sculpted the extra details at this stage.

 

You guys are definitely not believers in my theory that this will work, so I will quote you the basis of my hypothetical equation of "high-poly + heightmap = awesome" directly from the Xnormal manual:

 

You can add micro-detail to the final object-space or tangent-space normal map. Some kind of details, like

cloth or paper patterns, fine facial wrinkles, etc... shouldn't be done using the high model because your

polygon count will explode! I offer you an alternative.... Use a heightmap that will be converted to a normal

map and added to the generated normal map from the high polygon.

 

I could swear I read somewhere else that this additional heightmap can also be used to add more detail with AO, convexity, etc, but I can't find the source atm, i'll have to dig.

Link to comment
Share on other sites

OK well... I opened up xNormal.

 

There is a 'fine detail tab' and it looks like you can put a texture in there. So try putting that in there, and in the high/low mesh tabs pout all your stuff in there and try it out.

------

 

Lol Ok I was wrong. It :unsure: does work like that

 

I just did a quick 20 second test. I still think you'll need to have the same exact unwrap on both models though, as it appears the fine detail just bakes exactly where the detail is on the texture sheet itself.

Dark is the sway that mows like a harvest

Link to comment
Share on other sites

There is a 'fine detail tab' and it looks like you can put a texture in there.

Yeah, I know, i referenced 'fine detail' tab like many many posts ago, and said that was exactly how i was going to do it :rolleyes: Also that quote came from the "fine detail" chapter of the xnormal manual :D

 

I still think you'll need to have the same exact unwrap on both models though, as it appears the fine detail just bakes exactly where the detail is on the texture sheet itself.

that would be.... problematic. But I have not heard a whisper about this in any source i have researched, so I remain optimistic. But, I have been known to skim over important details like that before.

Link to comment
Share on other sites

unfortunately i seem to be receiving garbage error messages from xnormal about "only supporting true color uncompressed TGA images" and other crap. even .bmp and .jpeg bakes didn't work. there must be some stupid settings somewhere in the blender bake options to make the damn thing work proper-like.

Link to comment
Share on other sites

god damnit. i think you were right about the uv's needing to match. i'm going to do some more research on xnormal, and see if maybe i'm just missing a setting or a checkbox somewhere that will fix this.

Link to comment
Share on other sites

I just read through the manual on that stuff (never read the manual in 4 years, lol.

 

Yeah, it just applies the height map (fine) as a 2d image. So you can generate some noise and use it over the top, but you'll get the same seam issues as you do with a stock diffuse. So this has nothing to do with the low coords, or being baked from the high to low in xnormal. It's just an overlay, so you have to bake it to proper coords in Blender, so when you overlay it aligns.

 

I wasn't aware of this feature before, but it really is just doing what I suggested by overlaying the height and normal in photoshop. It just makes it a little easier by doing in it in one step in xnormal.

Dark is the sway that mows like a harvest

Link to comment
Share on other sites

ok, I bit the bullet and sculpted in the necessary details.

 

stalagheight.jpg

 

I will say, I am somewhat unsatisfied with the results. because my computer can't handle 1.7 mil polys, i was stuck at 350K, and the poly distribution was very low in some areas, and in others, the quads were quite elongated (mostly near the base, for obvious reasons). This resulted in some areas looking stretched, and some areas looking lower resolution. I'm wondering what I could have done better with the initial highpoly design, whether I should of put more detail into the mesh before using sculpt mode, or if i just plain should of used Z-brush.

 

In any case, if there are no complaints that this looks terrible, I think I'll stick with this one, and proceed to bake out the rest of the things that need baking.

One last: when attempting to convert the AO/convexity composite to B&W tga, doom3 throws out errors about incorrect tga format. apparently tga has some weird version system of rgb and b&w images, and I can't seem to find the B&W that works with d3, (it says there is a b&w tga format that is supported). how do I get that?

 

also, lets see if I learned this lesson properly: height maps are for textures, normalmaps are for models, final result of the 2 should be composited for gameplay?

Edited by ungoliant
Link to comment
Share on other sites

Normal maps are just the standard for faking details on textures. It's doesn't matter if it's a 'wall' texture or a 'model' texture.

In fact you can use them either way in TDM. (model textures are a bit hard to find in DR). But you can use the wall texture on a model or a model texture on a wall (of course model textures are more specific so less useful generally on terrain).

 

Height maps are kind of an old, unused standard these days (pre normal maps). I guess they are good for adding fine details to a model. You can easily copy/cut/paste a fabric texture and overlay it in xnormal easier than sculpting it. But in the end it's just a way to add details to the normal map. (you can also do this in photshop/gimp...)

 

My doublebass model actually used a height map instead of a normal at one point in time (was easy to paint black and white image for it).

 

There's no reason to compoisite them in game, it's just an extra drawcall. Better to do it in xnormal/photoshop so you just have a normal map in game. I really see no reason for height maps in game anymore.

 

---------

 

You will get better results with evenly distributed polys before you sculpt.

 

Maybe at this point you should just start over. I know you worked on that for awhile but you were learning the entire time. I bet if you start fresh with what you know now you'd have a new one done much cleaner in several hours. Chalk it up to experience.

Dark is the sway that mows like a harvest

Link to comment
Share on other sites

Our character models use heightmaps (builders). Advantage of this method is that you can have one normalmap with general shape and many different heightmaps for tiny details. So you don't need to bake new normalmap each time you want to change appearance of the model. You can modify in a material strength of the heightmap. I'm not an expert but I don't see why would it be additional drawcalls since normalmap and heightmap are most likely combined during loading time into one normalmap. For that reason it may increase loading times.

It's only a model...

Link to comment
Share on other sites

But how much of a detail change are we talking here? leather vrs cloth?

 

If they are combined at the cost of load time they may as well be combined into a normal in advance. It would save load times.

 

Because in game you'll still have to load a new normal for every different guard, which would be the benefit - game only loads one normal map, and a few smaller file size height maps.

 

So either way you are either adding a draw call, or you are loading several normal maps (at the expense of load time). Might as well just quickly load the several normals and save conversion time.

Dark is the sway that mows like a harvest

Link to comment
Share on other sites

stalagheight.jpg

I think it looks pretty good, but the texture looks a bit too contrasted now, as if you overlaid your AO and the others multiple times. This kind of texture would be good for a specularity where you really need it to be very contrasted to really show it off, but it's too contrasted for a diffuse IMO.

Link to comment
Share on other sites

Maybe at this point you should just start over. I know you worked on that for awhile but you were learning the entire time. I bet if you start fresh with what you know now you'd have a new one done much cleaner in several hours. Chalk it up to experience.

Damn, is it that bad??

 

well, I looked into sculptris, and it sounds like this app solves my problem automatically.

As you model, Sculptris is constantly analyzing the surface to ensure that there are enough triangles to display the details that you're creating. If there aren't, Sculptris automatically divides the area under the brush while leaving the rest of the model unchanged
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...