Sunday, March 4, 2012

Learning 3D stuffs, part three: The showstoppers

Part one
Part two

In this part, which should sum up where I'm standing now, I think it's best to simply answer to some quotes from people trying to help directly or indirectly. This is not to say you're not helpful, quite the opposite! It's only to illustrate where I have the real problems and that the small things many take as given can be horribly frustrating for a newbie.

A while ago I asked Jester for some advice, after he already reinstalled everything NWN2 just to fulfill a model request for me. He's incredibly helpful, but... the thing is that his tips on a workflow mean absolutely nothing to a complete noob, and it actually ended with me thinking "I must come over as completely retarded" and being too shy to ask any further questions. At that point I decided that trying to learn this is a complete waste of time and I'd never make any progress, so I stopped trying until now.

Anyway, I'll just copy/paste some parts of the workflow and comment as good as I can:

Jester said:

"NNWC workflow:

The NNWC bases were done with Blender and Daz Studio and the Rachel base. I imported a simple female mesh into Blender and exported it as an object. Also did this with some gloves and boots. I then imported the objects into Daz. I then set up a Rachel figure to have the same size and pose as the female meshs from NWN2. You can set meshes to be partially transparent in Daz which made this easier."

This part is quite clear, the main problem probably being that I don't use DAZ at the moment and need other means to pose. If it was just the body, I could probably get rid of Make Human and use DAZ instead, but this won't help with the .nifs or whatever else I export. Anyway, no problem understanding this part. 

"Once the Rachel mesh was as close as I could make it to the NWN2 meshs (this took a while) I exported it as an obj and imported it into Blender. I now had a high poly base for the NNWC mesh."

Quite clear too, although I had problems with the object export the one time I tried. Could it be that it affects quality? In any case, the idea is clear. Going on.

"I then created the NNWC mesh using Blender's retopo tools and shrink wrap modifier." 

Fill in a Homer Simpson face here. I.. have... no... idea. Not what these are, not where to find them. This short sentence makes me cry. 

"Once this was done I had to rig it to the P_HHF_skel by painting on vertex weights. This took a while too..."

Ahh... my favorite topic. Vertex weights or lolwut? Okay, seriously... I have a basic understanding on what they are - they handle how much the mesh is affected by bone movement... so if you move the right arm bone upwards, the mesh of that right arm should move nicely along while the left foot doesn't move at all. This is what I understand. Now... when I switch Blender to vertex paint I get this:

Yup. So... I can paint a question mark there and that's all that comes to my mind in this mode. I understand that in theory I should tell the body mesh how much the movement of a specific bone affects it. But HOW I do that here, I have no idea. Or... how could I see existing weights? I mean, this mesh is already rigged to the skeleton below and moves with it (this is the Jester model), shouldn't that mesh already be colored like a rainbow? Where do I choose which bone I want to paint weights for? Or am I just in the wrong mode and should switch to Weight Paint...

Which is exactly the same problem in blue? I'm sorry, but this is where I'm totally lost and think I'm too dumb.

"Then I marked seams on the mesh and unrolled it to get the UV map."

Got the idea of it, I guess it takes some trial and error but I understand why and how (might have to google the exact steps again, but anyway).

"Edited it to make the best use of the texture space."

Now how to do that is a different topic, no idea how to edit that UV map... inside Blender? Can you move stuff around on the map and the model later still knows what you did? I'm far from those steps yet, so we'll see.

"The baked the diffuse texture, ambient occulusion and normal map from the high poly model to the low poly model. This captured all the muscles and features in the high poly model."

This would probably a whole new chapter of the walkthrough I need. I get the idea of using a high-res normal map to make a low-poly model appear smoother, but how...

"Saved the textures, combined the diffuse and AO in GIMP, saved as .dds."

Not sure about the whole AO map and combining it with the diffuse, but I guess that's a topic for much later. Saving something as dds, that much I learned already! Yay. 

"Reduce the alpha value of the normalmap in GIMP, blurred and smeared out any baking artifacts. saved as .dds"

Same as above, not sure about the alpha value thing, rest makes sense. 

"Set up the material in Blender, deleted all unnecessary meshes (the high poly ones), checked it all looked OK."

I just have to mention what a major pain in the rump the setting up of textures in Blender is. I only get that done accidently, never exactly knowing what I do.

"Exported to mdb. Done..."

Well, I tried that before, just for the laughs... 

... but then found out it's probably because I deleted everything that isn't the mesh, like the collisions (no idea what to do, how to deal with collisions)

"NIF usage:
To use .nif meshes the big chunk of work will be reskinning - the
skeleton used in NWN2 is different to the Fallout 3 one. There is a
script in Blender 2.49 that interpolates weights from one mesh to
another, but this doesn't work in 2.56. I mean to update this as well
because it's very useful."

I think this is the Bone Weight Copy script I mentioned before and already installed in a version that works in 2.6. How exactly to use it is another question. I assume I should put the two meshes (say, a body and a shirt) as close to each other as possible )like the body wears it), then select both, then run the script, and it should translate. However, same as above with the manual painting: How do I actually check if it worked, where can I SEE the weights, where can I make my adjustments? That's the part that is too much for me, and I bet a model that doesn't fit the other mesh as nicely as a catsuit will need a lot of adjustments.
The most helpful thing I could google for that is this TES tutorial. Sadly it's not explaining most of my questions and is also for Blender 2.49 which is essentially a totally different programm....

"LO1/LO2 meshes:
These are lower poly meshes that are provided in the NWN2 .mdbs. They are meant to provide lower poly models to be used if the object is a long way from the camera. In practice they are not necessary. I've tried to understand what makes the engine use a low poly model but can't - I think that at high graphics settings it just doesn't bother. These meshes are not necessary and can be removed. None of my models have them."

Never heard of 3DSMax people deleting those (I've looked over some 3DSMax tutorials hoping to get some pointers), but from what I know from using his stuff he's probably right, everything works without them and it probably saves me a lot of extra work and headache ignoring those.

"You do need the COLs - these objects are used to store the collision sphere info from the .mdb. Don't try and edit them."

Which raises the question, how to deal with them when I made a new mesh? Should I... somewhat... assign them to it? Should I, say, position the new model into the exact same postion as the old one so that, uuuh... those collisions keep working? I have no idea, these collisions confuse me, I only know I accidently deleted them way too often. 

"General points:
Always model in quads. This thread is useful:
Let the export script triangulate it for NWN2. Don't worry too much about poly counts, graphics cards are much faster than they were five years ago. Do try to remove unnecessary faces, have enough to get your meshes profiles looking smooth. Having too many faces near joints will look bad because the NWN2 skeletons don't have extra 'joint' bones to prevent the joint squashing (You'll see what I mean when we get to rigging proper)."

I almost missed that last sentence there, which might explain my problem with the Make Human model in the last post (armpits). So reducing the vertex count down below the arms could help if I understand right? Something to try. 

"The export script doesn't handle relative paths correctly - make sure you have specified your texture files with absolute paths. Although Blender can read .dds files it can't write them. Do the UV and texture last. Get the mesh right first."

Dunno what that absolute/relative paths is about. DDS thing is clear. Doing UV and texture next year as it seems anyway.... Hoping to get the mesh right until then.

Well, so far for this walkthrough... I hope Jester doesn't mind using his quotes here, but I think this serves well to illustrate my problems.


Frank Perez said...

I'm not sure if I can be of help in explaining things because I don't use Blender. As with any 3D modeling program, the learning curve is steep, and I haven't even begun to be an expert on 3DS Max. Anyway, here goes:

L01 and L02 meshes. I've observed the NWN2 engine make use of lower level-of-detail meshes while testing my own models. The engine seems to use them when your point of view is very far from the models. They are especially good to have when a lot of characters and creatures are on screen at the same time because the ones that are farther away will take less time to render than if they didn't have L01/L02 meshes. Besides, there may be some players out there who are still using older graphics cards. Their frame rates may sputter if L01/L02 meshes are not available. Regardless, it isn't absolutely necessary to have them, so it's really your call if you want to include them or not.

Collison Spheres. Now these are absolutely necessary to prevent your characters from passing through other objects like they were ghosts. You don't need to assign them to your character or clothing meshes because they are already attached to the skeletons that your meshes will be using. So unless you're making a new skeleton, you don't need to worry about them. In 3DS Max, you can hide objects from view if you don't want to see them. When working with meshes, I hide the collision spheres, and I usually hide the bones too if I'm not rigging the meshes. I can always "unhide" the bones later, but I've never had to unhide the collison spheres (except when making a new skeleton).

Fitting lingerie over a nude base. Now this is iffy at best because your lingerie model would need to have close to the same geometry and vertex weightings as the nude base. Otherwise, part of the lingerie geometry could occasionally sink through the body as it moves. OTOH, I can't really offer any better alternatives because I've never done clothing before.

By the way, I'm getting the impression that you want to know more than how to import clothing/armor to NWN2. If it were just that, you really don't need meshes from Make Human. (Cool-looking program. I ought to check it out.) If you can tell me what your immediate goal is, I might be able to help you more.

Casa said...

Well, my goal is mainly clothes - for one the conversion of existing models simply because there's a lot of great stuff ready to use, but also working on new ones. The reason why I'm interested in the Makehuman mesh is mainly because I was working on that skins hak already, still trying to make more clothes for the belt slot/gloves slot solution which I was quite enthusiastic about because of the new opportunities. But I think both the body base from Jester and his meshes for fitting outfits could be improved. Also, I might learn a bit more this way.
But if I had to decide what comes first I'd like to convert nifs to fit the Jester base for now. The point why the Jester base is mainly that many of the outfits show some skin, so I'd want to merge them with Jester's body model for the parts that aren't covered by clothes.

Frank Perez said...

It's interesting that you want to eventually design new clothes and not just convert existing ones. That said, converting models is easier than making them from scratch and can help you learn quite a bit about 3D modeling.

I see that you're passionate about learning this sort of thing, so I'd like to help you out. All other things being equal, passion trumps ability every time.

I'm not sure, but I have a feeling that model conversion won't be too difficult for me. I may be able to help you by writing a tutorial on it, but it would have to be for 3DS Max. It's what I'm familiar with. I believe that Blender will have similar functions for whatever will go into the Max workflow, so my tutorial may still be of help. I could probably try my hand at writing a Blender tutorial once I understand how to do it in Max, but I'm not promising that.

Btw, I write tutorials not because I know how to do 3D stuff but because I want to learn how to do it. I record my workflow as a tutorial so I can always refer to it if I forget what I learned. That means that whatever I write is not expert advice, but it is guaranteed to work.

If you want my help, you can email me 1 set of clothing that you want me to convert. I can write a tutorial and send you the converted clothing as well. Just make sure there won't be any legal issues with making the converted clothing available for download at the Vault. I think I can also pose your Make Human mesh, so you can email it to me as well.

I don't want to leave my email address where pesky web bots can find it, so the best way to email me is to go to my Vault profile and click on "send email to Elysius."

Casa said...

wow, really late reply here. I had to... uuuh... play a certain game... <_<

First of, I really appreciate your offer to write a tutorial! BUT, and that's where the issue is.... I already found some basic tutorials for 3DS and they really don't help at all with Blender, the two programs are too different i'm afraid. Maybe not for those with more insight into 3D apps in general who just see "ah, in 3Ds it's action x, that translates to Blender in this and that way". I tried, but failed... and since I know no legal way to obtain 3DS Max in a legal way without spending lots of cash I don't have, I'm afraid I have to look for other Blender stuff... Anyway, thanks for the offer.

Frank Perez said...

Ok, no problem. I hope you figure out the proper workflow. The modding communities can only benefit from having more people learn how to do these sorts of things.