oh god, so many seams :( halp!

Post » Tue May 08, 2012 8:19 am

Okay so I'm using the asymmetrical body for my tattoo pack, and I guess my custom race is too pale to detect this, but when I put the tats on a Nord... Ugh!

http://i.imgur.com/oqCca.jpg

So ugly and terrible. Any way to fix this? I suppose it's not the end of the world if I have to make fully symmetrical simplistic tattoo designs, but... just thought I'd ask first.
User avatar
JD FROM HELL
 
Posts: 3473
Joined: Thu Aug 24, 2006 1:54 am

Post » Tue May 08, 2012 3:36 am

Hmmm maybe you need to apply mesh smoothing to it. Just right click on it in nifscope and you will get some options. Kind of looks like that.
User avatar
michael danso
 
Posts: 3492
Joined: Wed Jun 13, 2007 9:21 am

Post » Tue May 08, 2012 4:56 am

when you overlayed the tatoos onto skin texture. Just overlay the tatto only, not any skin. Just use photoshop or gimp. give your tattoo an alpha channel, eliminate everything but the tat, And then copy and past onto the bb skin. You shouldn't get ant seams then. Dunno, if that don't work try to get westly or illumiel to help you, they are good at bodies and heads.
User avatar
W E I R D
 
Posts: 3496
Joined: Tue Mar 20, 2007 10:08 am

Post » Tue May 08, 2012 8:49 am

Thanks for the tips. Mesh smoothing seemed to do nothing, though, and only the tattoo is on there, not any skin. If I use the symmetrical mesh it solves the problem tho, no need for me to bug Westly. :)
User avatar
Kelvin
 
Posts: 3405
Joined: Sat Nov 17, 2007 10:22 am

Post » Tue May 08, 2012 1:30 am

That's odd. It almost looks as if someone neglected to "set smooth" before exporting from Blender, though it's hard to be sure.
User avatar
Charity Hughes
 
Posts: 3408
Joined: Sat Mar 17, 2007 3:22 pm

Post » Mon May 07, 2012 11:21 pm

That's odd. It almost looks as if someone neglected to "set smooth" before exporting from Blender, though it's hard to be sure.

Thats what mesh smoothing does.
User avatar
Aaron Clark
 
Posts: 3439
Joined: Fri Oct 26, 2007 2:23 pm

Post » Tue May 08, 2012 4:10 am

There are 3 main types of seams in MW models:
1. Mesh seams (original BB models do not have them, they are usually caused by bad skinning/model splitting).
2. Normals seams (splitting by material e.g. in max resolves that). These seams i was once asked to correct in this models.
3. Texture seams (use of decal maps resolves that in case of the use of the perfect original textures).

Smoothing normals in NifScope or in max works only within one mesh (not between e.g. hands and arms/body). In max it is possible to remove such seams working (tedious) with Edit Normals modifier applied on both meshes.
User avatar
Pawel Platek
 
Posts: 3489
Joined: Sat May 26, 2007 2:08 pm

Post » Tue May 08, 2012 12:01 am

I'll chime in here, I too am obsessed with seamlessness. Here's some techniques I use (going by A1x2e3l's points which are spot on):

(warning - using NifSkope/gimp only - I dont know anything about photoshop, blender, max etc)

Also let me add from the picture your model looks fabulous, I am not sure what seams you are referring to but I will try to cover all the bases I know of.
In other words what seams are on your tattoos? I dont see any. Wait do you mean that the tatt seperates at the spinal column? I'll assume so. EDIT: I just looked very carefully again at your image. Are you talking about the barely barely barely visible seams just around the edges of the tatts? You really can't see them. However, if they bother you, the only way to ensure complete seamlessness with high-contrast additions like tatts is to create a layer with the tatt image, and some flat contrasting color (I would use white in this case) all around it. Now make a duplicate layer and color fill the tatt with gray, then color fill the surrounding with black, and fill the tatt again with white. You now have an alpha image. Now open DXTBMP (or however you prefer to make dds files) and paste in layer 1 to the image and layer 2 to the alpha, save as dds with alpha. That should do it. Then you will probably have to enable alpha on your mesh (you are using decal textures Im guessing) - I'm not into tatts so I'm afraid I can't help further with that specifically.

Lastly if your prefer photoshop, I'm guessing some of the concepts I discuss about gimp apply to photoshop too, I don't know.

1. Mesh smoothing - as poster above noted, BB takes care of this for you. Totally seamless vertice-wise except there is a "sheath" covering the intersection between upper arm and forearm which is also very well done but from some angles is just barely visible. To "perfect" that you need to open in NifSkope, expand the TriShape for upper arm or forearm (don't remember), click on trishape data, scroll to "Vertices" and expand. Now click on the first number data line you see and the trishape will be covered with white dots - these are individual vertices. The vertice you clicked on will be yellow (or whatever vertice highlight color you selected in NifSkope options). If you change the number(s) you will see the yellow vertice move. Now you can move each vertice in this way, rotating your view as you adjust until it perfectly intersects the plane of the mesh near it. Pain in the neck, yes, and finding specific vertices in the list can be frustrating but I say "well, do you want perfect or not?" lol. That's all on this as BB is already good enough vertice-wise to not worry about it.

2. Normal smoothing - Looking at your picture I see numerous normal seams. This is a problem with BB mesh(es) that relates to the "undercovering" present at intersection between: groin and chest, left arm and chest, right arm and chest. (notice that some of the most glaring seams are at those intersections in your picture). 2 ways to deal with this - first let me explain about the undercovering. To see it, go to the groin trishape node and look for the translations line, you will see Z=-73.5863. Change this value to -79.5863 and the groin moves down exposing the intersection, where you see a down-pointing cone under the tummy/lower back. This is the "undersheath", it is part of the chest mesh and has its own vertices and normals. Its vertices are invisible in-game but its normals *are* visible in game. You can either fix the vertices or the normals. I find the vertices to be easier in this case. Concept: if you expose the normals list instead of vertices as described above, when you select an individual normal you will see the trishape covered with outward-pointing white lines - these are normals. Scroll your view in to get a close look at the intersection between the upper arm and the chest with normals selected. You will note that you see one normal line for all vertices *except* at the intersection seam, where there are 2. One is the actual mesh normal and the other is the "undersheath" normal, and they are pointing in quite different directions (in some cases almost 90 degrees difference). We are going to move the vertices of the undersheath inside the body so they are invisble because they wont be rendered as they are inside the body. First, let's smooth the normals - this is easy, just go to the NiNode for the body part, expand, right-click NiTriShape just under it and select mesh -> face normals. Don't use smooth normals, this has no noticable effect - if you disagree by all means do that too. Now go to NiTriShapeData and expand the vertice list. Scroll through the list until a vertice on the undersheath turns yellow (tip: rotate/scroll your view until you can see all of the possible undersheath vertices. Now put your finger on down-arrow key but dont press yet. Now blink, blink to get your eyes ready, Look right at the center of the possble vertices and press and hold down-arrow. This will rapidly scroll through the list of vertices and you will eventually see a flash of yellow on one of the possible undersheath vertices - now quick, release the down-arrow key, and tap up-arrow until you get to the vertice you saw flash by. If you need to blink, release down-arrow, blink blink, look again and repress and hold) - yep that's what I do. Now that you found a undershealth vertice, edit the numbers towards 0,0,0 (example - I have a vertice at 6.5644, -6.7090, 81.7646. I will change it to something like 4.0, -4.0, 81.7646). Notice that the vertice has now seperated from the main mesh, inside the body where it will not be rendered in-game and therefore the normal will also not be rendered, only the correct normal from the main mesh will be rendered, fixing the seam. Now continue for all of the vertices of the undersheath that connect to the main mesh. When you are done, the undersheath should be completely disconnected from the main mesh at all places. Voila! 90% of your normal seam problems are now gone, well done.

For other body part intersections that do not have an "undersheath" (i.e. intersection between upper leg and knee, ankle and foot, etc.), I use the following method: 1) open mesh in NifSkope and save as a new file - example: my mesh might be called bb_skinf_newbody.nif, I will save as bb_skinf_newbody2.nif. Now unfull-screen the window (click the rectangle upper part portion of window) and drag window to upper left part of your monitor. This is your "reference" window. Now open original mesh again so you have a second NifSkope window, unfull-screen it and drag to mid-right part of your screen. This is your "changed" window. 2) Go to reference and expose the normals list for the body part you are changing (let's say upper leg), now do same on your changed, but use the connecting body part (lets go with knee). Start scrolling down the normals list in changed until you reach the first normal that is on the intersection seam. Now locate the same normal in reference (rotate/scroll your view until it's easy to see). Now note the values in reference and type those exact numbers into changed. This will exactly match up the normal line on that vertice for the intersection. Now rinse and repeat for every normal that is on the intersection seam. When you have them all done, save your changed mesh. Close your reference window, and save as your second mesh filename. Now you have 2 identical copies with the fixed normals. Now rinse and repeat from the beginning of this paragraph for each body part intersection. Sound painful and time-consuming? Indeed it is. "Do you want perfect or not?" hehe.

EDIT - another note. For intersections with an undersheath you need to fix the undersheath by moving it inside the body *and then also* fix the normals at the main mesh intersections as described above. That's a lot of work noone knows more than me but it's the only way to get it done.

Enter the game and check your work. You may notice that some normals are still creating shadows that are not realistic/appealing. For these you will need to hand-edit the values by guesswork without any reference. To do that, we move on to:

A quick word about seeing normal problems in NifSkope - you basically can't see them. To "sort of" see them, change render settings to "dark night" and set materials ambient and diffuse color to 0.5 (all colors) and specular to 1.0 (all colors). Now rotate your view back and forth and some normal issues will become visible but the only way to really see them is with in-game screenshots. Tip: after making changes like this, put the model in-game preferably outside in a region with clear sunny or overcast weather, enter the game and look at the model from all angles using TCL (console command - type 'TCL' without quotes) - screenshot any angles that need improvement for later reference.

Now that you can "sort of" see the shadows in Nifskope, refer to your screenshots made above and find those normals in the list. Write down the original values in case you screw up and need to restore. Rotate/scroll your view until you see the most glaring bad shadow angle that looks similar to your screenshot (make it as glaring and easy to see as you can). Now play around with the numbers until the shadow looks better. When you are satisfied, rotate your view back and forth and make sure it looks acceptable to you from other angles (no real rigorous way to do this, here's where your right-brain artist side comes out, something I struggle with at times - I've always been a left-brainer technicalist). EDIT - leaving render settings on "sunny day" works well too but you do need to change the materials colors as above to see the shadows. Make sure to restore the materials numbers back where they were when you are done. As an aside I prefer 0.9 ambient 0.9 diffuse 1.0 specular and 10.0 glossiness for final settings that are flesh. I've noticed some prefer 0.0 specular but when you do that it takes out all the gloss and making an unrealistic dry skin look - no ones skin looks like that unless they are dead, maybe they are if a vamp or something so adjust as appropriate. This goes for heads too, I use 0.88 ambient, 0.96 diffuse, 1.0 specular and 10 glossiness to get a good shading balance between the body and head which of course are seperate meshes and so need a bit of adjustment in material settings. Final note here don't use emissive (make it 0.0) unless you actually want glowing flesh - btw which has no effect but it can with certain flags applied that I'm sketchy on knowledge about - luckily I don't care about glow so it's all good, I just leave it at 0.0 always. Really final note here that vamp you have to kill for the main quest does indeed have eyes that emit light, I made a note to myself to look at that mesh but never did.

Whew! Taking a break - coming soon: 3) Texture seams, this will be a long one.

Last note, I offer my services to perform the above fixes but I would need some help from the community regarding sharing of resources. I'm a newb at things like uploading to sharing sites, and would prefer to maybe e-mail a mesh to someone or something like that. If anyone wants to work with me on this, just pm me. It would take time as the work I have done involves heavy editing of BB models/textures that change the shapes significantly so I would need to start from scratch to make sure the shape stays the same and just fixes minor errors. Also I have some alternative meshes for females that offer some variety from perfect hourglass 36-32-36, not that there is anything wrong at all with that.
User avatar
Sista Sila
 
Posts: 3381
Joined: Fri Mar 30, 2007 12:25 pm

Post » Tue May 08, 2012 4:28 am

Moving on to texture seams. Recently, I looked over many of the available body replacer textures by Westly (I think?) and others and all I can say is wow! It's a fact there is no way I could improve overall on that I just don't have the artistic eye. The hi-res 2048x2048 textures in particular are just unbelievable, great work. With that said, even textures purported to be seamless are clearly not. There are visible seams at the wrap point of back thigh (and knee) and inner thigh (and knee) in all cases as well as less-visible seams at the intersection of upper arm(s) and chest, and the wrap point at the top of the shoulder(s) going from clavicle to neck. Describing how to reduce these seams is going to be hard without visual aid but I'm going to try. I say reduce because to date I have never completely eliminated a seam but I have gotten darn close, so I know it's a challenge. Now for the details:

Save yourself some work and make sure you are happy with the overall appearance of the texture *before* you fix seams. Example: you edited/made a texture and it looks great to you so you spend hours fixing all the seams and it looks as good as you can make it. Later, you decide the skin looks too dry so you start applying filters to fix it which slightly changes the coloration on the entire texture. You open in NifSkope/look in-game and are horrified to see seams again, and you have to spend more hours fixing the new seams. Moral: be 100% sure you are happy with the overall texture appearance minus seams before you fix the seams. This is the school of hard knocks talking.

1) seams at the center of the body (i.e. spinal column and exact center of front of body including bellybutton). This is the easiest one and isnt a problem in most textures I've seen. Here's what I do - first open gimp and load up the texture. Create a duplicate layer. Rect select from the far left to center of body, going over the center as far as possible without going into the hand image area. Copy/cut and paste. Now using the arrow keys incrementally move the section right maybe 1-3 presses. Save, look in NifSkope (tip: make NifSkope dynamically update a texture by going to NiTriShape, texture file, blank out the texture name, the model turns white. Now put the texture name back like it was. The model returns to textured. From now on, everytime you save your texture work it will dynamically update the texture on the model with your changes until you close NifSkope, without having to reload the mesh every time.) and see if it looks smooth at the center/how you think it should look. If it doesnt, go back to gimp, undo anchor floating selection, re-move, rinse and repeat. If it still looks unsatisfactory, you need to create a more continous tone along the center. I do this in Paint - yes, paint by microsoft that is on all windows computers - I like the XP version, the Win 7 paint they changed everything for the worse IMO. Open texture in paint, select zoom - large size, scroll to the center seam area. Eyedrop select the lightest color you can find in the area. Now brush in that color all along the seam carefully, making sure it melds with any darker spots. If it doesnt meld, you got too far away from the original area and need to pick a new slightly darker color. This will create new seams everywhere you changed color, for that, save, reopen in gimp. Now use the dodge tool (blur tool?) that thing that looks like a teardrop make sure it is set on blur. Now everywhere there is a new seam rub the dodge tool on the seam using single strokes and favoring the lighter area (meaning position the tool more in the lighter part). If you mess up, undo it and then try again. Do this for all the seams until satisified and save. Look in NifSkope to check your work, cut/paste and reposition until it looks smooth. Sometimes you nuke the bellybutton but I almost always replace the bellybutton anyway, as finding real photos of bellybuttons online is easy and you can just paste it in, and then dodge/replace the colors until it looks natural using techniques above. That also applies to other high-contrast parts of the body that I will not elaborate on but you catch my drift (see "frankensteining" later in this post).

2) wrap-around seams: These are the most glaring/noticable because they come from the fact that the line where the texture colors come together results from one edge of the texture intersecting with an opposite edge. Example: the legs. this seam appears along the inner thigh/knee where it is least visible overall, but an actor wearing shorts while walking will display the seams very noticably. Ditto for the arms, the seam is armpit-inner upper arm and can be seen when actors raise their arms. To fix, start by rect selecting about a 30 pixel width block at the edge of the texture that looks "best" to you. I usually pick the far left side as it is lighter and will reduce faux-shading issues (see later in post). Now copy then paste. Flip it horizontally. Drag it over to the opposite side and position it against the opposite edge. Look frequently in nifskope to make sure its lined up, if not, undo anchor and reposition. A note, some seams are not at right angles, for those you will have to shear/change perspective to get the right angle. In some cases you must free-select the area so you dont nuke nearby images like feet/hands. Now you have fixed the seam resulting from the edge and created a new one where you pasted the mirror copy. We did it this way so we can replace/dodge the new seam, which we can't do for the original seam because it's not connected in the texture. Hope that made sense. Last tip, when doing copy/pastes or frankensteins or shears, always create a duplicate layer very first thing to protect the underlying original texture and make your dodging work easier.

Other non-seam problems: In some textures the side of the body is too dark for my taste. The in-game shaders/normals will put plenty of shading on the sides without needing faux-shading in the texture (just my opinion). Imagine in-game, an actor turns to the side and lifts up the arms. The side should look like the front tone-wise, not darker. To fix, I open in paint, select lightest color and just brush it all in all the way till it melds with the front. I leave small spots of darker so that when I dodge it up in gimp, there will be slight fades to darker so it looks more natural. You can also "frankenstein" in a real photo of a side if the lack of ribs bothers you. The problem with frankensteining is you need to match the color of the photo with the texture (and resize it), a painstaking process. I usually start in Irfanview with "color corrections" and then adjust gamma level slightly in gimp with color-tools -> levels. As always, with frankensteining you still need to replace/dodge up the seam/connection colors. "Frankensteining" is also a requirement if you want better looking shoulderblades which I usually end up replacing.
User avatar
le GraiN
 
Posts: 3436
Joined: Thu Mar 22, 2007 6:48 pm

Post » Tue May 08, 2012 7:02 am

It's about the seams around the arms, legs etc....
User avatar
quinnnn
 
Posts: 3503
Joined: Sat Mar 03, 2007 1:11 pm

Post » Mon May 07, 2012 9:02 pm

What an amazing response. Not sure I'll be able to do what you're suggesting but.. amazing. o.o
User avatar
gandalf
 
Posts: 3400
Joined: Wed Feb 21, 2007 6:57 pm

Post » Tue May 08, 2012 8:25 am

Pyxlmyxz, it is fantastic what you are able to achieve in NifScope (the next step is to creat meshes from the scratch, he-he). Edit Normals modifer in Max does the same job but in a more convinient way, in PS CS4-5 it is possible to paint directly on 3D geometry across texture/mesh seams using MW textures and obj models.
User avatar
CYCO JO-NATE
 
Posts: 3431
Joined: Fri Sep 21, 2007 12:41 pm


Return to III - Morrowind