Normal Baking problem, and Weird Artifacts...


#1

Hello Blender 3d artist XD,

I have a problem with baking the high resolution geometry of a dense poly mesh into the normal map texture of a second low poly mesh that was duplicated from the first mesh and then applied with the decimate modifier. The problem is that sometimes it works ok, especially if I model the lower res mesh from scratch, but when I duplicate it from the higher mesh to get the better topology conformation, the baking utility seems to malfunction. It will produce plain solid colors for bakes, even though both meshes are selected, and after following some step by step instructions I found via google.

I also have a problem with a alpha map making a strange artifact, instead of displaying as translucent. The Alpha dial is set below 1.0 and mostly it is translucent, but it looks like the glass is broken.

Here is a .rar of the textures and .blend
Freeman.rar

The alpha mapping problem can be seen in the orange, high resolution glasses, in the lenses. I am trying to make them look good for both a high res mesh for animation, and a low poly version for game programmers and artists hobbyist to work with, both, free of charge. It’s taken me months to do the work I have in the .blend file, and so I’m re-learning a lot of stuff from a long sabbatical from Blender 3d. I like doing art in Blender, and I want to make lots of stuff pre-assembled and configured for animators and game programmers to mess around with. As of yet, I haven’t made compressed versions of any of the .bmp that I’m working with, because I’m making many edits of the high res version still, so expect the extracted file to be about 850 mb.

Thanks for any constructive help or even criticism you maybe able to give, regarding the 2 problems or the art itself.


#2

It would be better to present renders and screenshots of settings instead of one whoooooping file not one will want to download.
I’m totally confused what actually is the problem. Why decimate modifier? Do you have [selected to active] option selected?
Why setting alpha settings would have anything to do with translucency, and what for translucency in glass material?


#3

Basically, if you want to simulate transparent materials, you have to work with textures which have a alpha channel, so you can separate the parts of the texture which you want to appear transparent at render time. An example of this is shown in the hair and facial hair textures, which render the strains of hair, but appear invisible between strains. For some reason, that works, but the eye glasses I have modeled have a strange artifact that I cannot figure out with the texture:

For the baking problem I get this strange flat texture:

and sometimes a “no image found to bake to,” which makes no sense, which is why I went ahead and just compressed all the files with the .blend file set up to do a tangent map bake, for convenience. I realize the file is big, but a more thorough preparation would require me the time consuming task of compressing each texture file separately in gimp or windows paint in order for the inspection of error to be more complete while reducing file size…

Why use the decimate modifier on the lower resolution mesh? Because it’s a cheap and fast way to lower poly count. It only reduces the poly count a little, so it’s not too drastic. I am not only trying to construct a high resolution model for the high resolution animation renderings, but also a light weight, low resolution model to be rendered in third party, real time graphics engines, such as OGRE 3d, Irrlicht, or something like the Source Engine.

I also tried setting up a uv mapped plane in front of the high resolution face for calculating AO, and I got an image of the lower resolution face instead with low poly geometry, and hard straight lines for details instead of a flowing organic looking face. The lower resolution face was not selected, so I’m not sure why it is doing this. I have used this utility the same way in Blender 3d in earlier builds and so I’m not sure why it will not allow me to use it effectively now, or what I may be doing wrong…

I’d also like to know how to display his eye lashes when his glasses are on, because both use alpha maps…


#4

Lets try to solve some problems.

I suspect that you modeled lenses as solid objects (with depth) but very thin, which is probably the cause of those artifacts. Also you use Ztransparency and not a raytraced transparency, so there is no need to have solid objects - just one layer of faces would be enough in that case.

Decimator is a fast but “dirty” way to save on geometry. It would be much better to use standard technique - shaping of a low-poly model, another copy of the model made with multires or subsurf to mid-poly model, and again for sculpt.
The lower resolution model MUST have UV mapped image. Just select all faces in 3d vieport (after UV mapping) and again select all faces in texture editor and then give them a new texture of adequate dimensions.
Not sure if it is the case but first select higher resolution model, then with [shift] select the lower resolution model (better to do this in wireframe mode or in schematic view), and then start baking. If the baked map is blue, it means there was not much difference between both models in terms of normal directions. Also make sure both models are set as renderable (baking is actually rendering)

Not sure why you have to have those alpha maps visible in viewport. I suppose the important thing is that they render.

One note. By using intensively alpha maps instead of geometry you make it harder to render this with ambient occlusion, as it only looks on geometry.


#5

What you’re telling me about the limits of using ztransparency is helpful. I was wanting to make lenses that were solid, so I did need that option in order to achieve that effect, but it seems that is not possible inside of Blenders viewport renderer, which is much like a real time graphic engine. I didn’t know that it had this limitation…

Also, I’m not sure how to make an object renderable in general, other then the render toggle that is included in the subsurf modifier utility control, but that is checked and cleared, with no end to the problem. The low resolution model is about 4000 polys, and the high resolution is hundreds of thousands of polys. A lot more should be conveyed in the normal map…

I have check all the basics, and search for answers before I wrote into this forum because I have done a thorough examination of the controls and haven’t found the problem. So I wasn’t sure if I missed something, but you’re telling me to check if I have the basics covered, and if you’ve downloaded the huge file I uploaded, you would be well aware that I have in fact uv mapped it and such. Heck, the picture I posted of the flat tangent space normal map is representing the UV mapping of the lower resolution mesh; displaying the low res UV mapping in the upper right corner of the picture… I put alot of time into this, and Blender seems to be glitching, but as useful as this tool is, and as simple as it was to use in the past, now the same old procedure doesn’t work 100%, and all I found out from google and this forum so far is that sometimes it works, sometimes it don’t. That is the state of the utility’s condition? I’m still not sure, because google isn’t telling me much else about the baking functions, and no one is talking about it much these days in general… I hope someone might actually know why Blender seems unreliable in this way, or more up to date information about setting up a mesh for baking, because all of the same old same old instructions have been followed to my knowledge…

I hear the message about the decimator modifier being less than adequate for what I want in my end result. I think I’ll start again from scratch, and try again, since the lowest level in the high res subsurf is fairly dense.

Only the hair and glasses textures have alpha maps. All other picture files have only 3 channels, which is RGB. It is how transparent textures are done in real time engines, and so I am wanting to make the low resolution version look decent. I could make him bald and tell programmers to use particle effects for hair fibers, but I would call that lazy and uncreative when it is less resource intensive to use textures instead, and you can achieve excellent results if you can figure out how to make the hair look real.

I don’t know much about Blender’s internal high resolution renderer, but I already know that using this technique for making hair isn’t really suitable for it. It is good for real time graphic engines, and is used often in the industry, because it looks good in such engines if done correctly. Look up some tutorials on texture art 'how to’s for game art assets, and you’ll see plenty of examples of this technique being demonstrated using alpha maps, even for web design, using .gif or .png picture file formats.


#6

First I want to say - quite a nice head model.

Second I want to warn that I may be a little obnoxious.

Third is that people do not want to download .blend from untrusted sources as there may be Python scripts inside and they are just programs - so this is a security breach.
Also a view hundred MB file is too big for most internet connections - especially in a third world country. And it is big because you saved files as .bmp - so they are huuuge in terms of disk space (.png would be OK but I suppose it is the requirement of your engine).

I wasn’t aware that you are preparing models for realtime engine - thats why I was surprised by all those alphas.

I have a good news. Blender is still working OK. It just have some of those strange behaviours one have to get used too. Both meshes must be on the same layer for normal baking (so basicly just select both, press [M] and choose a layer). It is also neccesary in physics simulations by the way.

Maybe a view tips at the end. The UV maps you set up are not cost effective. You have the UV map set so most part of the texture is used by the scalp and least by the center part of the face - which is exactly opposite to what it should be as there is more detail around eyes and mouth. Also you used just subsurf for highres (well it is actually midres) mesh, and it is not very helpful. It would be better to use multires and sculpt a view details - but for really high resolution sculpting use the new Blender 2.54 beta as it is much faster in sculpting.


#7

Thanks for the compliment, and the .rar file is really only about 110 mb, but uncompressed it will amount to much more… So I give warning of the massive file size, but if you thought the face was decent looking (albeit unfinished), check out the Hazardious Enviroment Suit, or H.E.V. Mark 5:

In the end I will have compressed images instead of the fat ones, for everyone to use as they see fit…

You’re helpful, right on. I didn’t realize that python can be used within Blender in such malicious ways. I have seen how some people on the forum ask why the original poster or inquisitor had not sent the troubled .blend file for inspection, so I thought I was being helpful in facilitating the exchange of information regarding the configuration of my .blend file, and its dependencies…

The hair is a separate object with its own UV’s, and so is the eyes, glasses, and facial hair. I’ll bake from the higher res version, and keep an eye out for allotting more space to the facial region like you suggested. I’m fine redoing that, because I’m learning as I go along…

Middle resolution? Well, I’m working on a mid grade laptop, which makes learning the sculpting difficult in the environment. It stutters far too much as polys push several million… I have never been good at the sculpting tools in any case, which bugs me a lot, but I’m not in any position to further my education at the moment…

Thanks for the instructions on the layers and such. My mouse is dead at the moment, but as soon as I get a working one, I’ll try to get it to work. Peace…


#8

Ah, well, putting it on the same layer only gets me the “No image found to bake to” error… trying it with a plane does the same thing now… I’m really lost why this doesn’t work anymore…


#9

Well, it worked when I did it on your file. Just enter edit mode of lowres object, select all faces, in texture editor select all faces (very important) and give a new image or load one from a hard drive. It just must work.


#10

Okay thanks again Dac77, I think I must be forgetting those last steps. I apologize for my error.


#11

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.