Aller au contenu

Photo

creating taller elves through 3ds max


  • Veuillez vous connecter pour répondre
68 réponses à ce sujet

#1
LukaCrosszeria

LukaCrosszeria
  • Members
  • 1 304 messages
Hello everyone,

I'm currently trying in 3ds max to create taller elves by using the head and body models I extracted with DA Tool.

I'm new to 3ds modeling however, and since I've been unable to find modeling tutorials for head/body models in Dragon Age (including the wiki), I thought I'd ask here.

As I see it there are two basic steps

1) modify the elf body model to be as tall as a human body (I assume I can select the whole thing and resize it, hopefully)

2) adust the relative position of the default elf head model to the rest of the body. When I imported the default elf head with Adinos' DA Tool, I saw that there is also a stick-figure like representation of the body imported, to show where the head is positioned. When I modify the elf body model to be as tall as a human's body, will this stick-figure representation also be adjusted? Otherwise I don't see how I can reposition the head.

#2
-Semper-

-Semper-
  • Members
  • 2 256 messages
in da:o the elves are just downscaled human models with different heads - so i thought. could be wrong. just counter-check this in the appearance 2da. if it's the case then change the scaling factor within the 2da and you've got taller elves.

rescaling the skeleton within max could result in errors ingame.

#3
DarthParametric

DarthParametric
  • Members
  • 1 409 messages
The 2DA scale entries only scale the animations, not the models. You'd have to manually scale the mesh and rig in Max/GMax or other app. There are a couple of existing threads related to this subject that you may want to peruse, including one from only a week ago just two threads down in the very sub-forum - http://social.biowar...2/index/8027929

#4
LukaCrosszeria

LukaCrosszeria
  • Members
  • 1 304 messages
Thank you both for the reply.

Hmm, well I don't want to create something that's going to generate errors. My other thought was just to remodel the human head into looking elvish....

I saw that thread, Darth, I must have missed something in it. I'll go check it, since I don't intend to give up on this till I figure it out :)

#5
-Semper-

-Semper-
  • Members
  • 2 256 messages
there is also the short way of scaling the elves with datool. after rescaling a creature made of parts you have to resize all the armor meshes too. else they won't fit anymore.

#6
LukaCrosszeria

LukaCrosszeria
  • Members
  • 1 304 messages
Thanks, semper. Ugh, I think I'll try DATool because this other stuff is hell.

I've tried rescaling the body model in gmax using the Xmodifier, which at least got rid of most of the errors, and I copied the resulting mmh and other files to the right folder, but I haven't been able to see if it's any good yet because I don't know how to make the new model show up in game.

Darth wrote in the other thread which he pointed me to: "Once you have the model, everything else is straight forward. It's exactly the same as any other custom item - create an extended variation GDA, create a UTI, create a script to load it into the player's inventory"

To create an extended variatian GDA, I downloaded the mock gda's.

http://social.biowar...1689/blog/1120/

The mao file that goes with the original extracted mmh is "hm_arm_nuda.mao", so I renamed the appropriate fields in the gda naked_variation_[edit].gda (I'm assuming it's this one).
I copied the msh, mmh, phy and mao and gda to my module's data folder, copied the dds to the texture folder (high and medium).

As for making the game use the new files, shouldn I copy the files in the packages/core data and texture folders of the game? I tried that, and when I took the clothes of the Warden to see any results, he had no body...:pinched:

Edit:l I just read the "SCALING.txt" that comes with DATool: "Note that this is only meant for scaling non-animated models.  Strange things may happen if you attempt to scale creatures." I suppose what is meant by that is what you wrote about rescaling armors? :D With DA tool same problem though, where do I save the files?

Modifié par LukaCrosszeria, 12 août 2011 - 11:25 .


#7
DarthParametric

DarthParametric
  • Members
  • 1 409 messages
What you quoted was for armour/clothes. Those are items. The naked body model isn't an item.

If you want Human-sized Elves, you don't need to scale body or armour models - you can just use the existing Human ones (after all, the Elf versions are just scaled down Human ones anyway). What you need to do is scale up the Elf head models to the right size so they fit the Human body models and rig. Apr_Base list the Elf heights as 1.6m and 1.55m for male and female, respectively. Compared to the Human heights of 1.75m and 1.68m, you would need to scale the male Elf models by 109.375% and the female Elf models by 108.3870967741935% in order to use the Human body models.

DATool isn't going to be of use because you need to scale all the face morph target meshes which it doesn't open. Additionally, I think it only scales geometry, as the text file you mentioned alludes to. It doesn't scale collision properly and I suspect it doesn't scale rigs properly either. DATool is a viewer. It has its uses, but it's not a replacement for a proper 3D app.

Also note that if you are replacing all vanilla Elves with tall ones, you will effectively destroy the composition of all the conversations in the game. The camera will be framed for Elves of the original height, and thus the modified Elves will have their heads partially or fully out of shot.

Modifié par DarthParametric, 12 août 2011 - 12:41 .


#8
Eshme

Eshme
  • Members
  • 756 messages
IM gonna post my view too, there are several ways but not one is feasable to me.

Copying all human sized body/armor meshes, and redo ALL elven Headmorphs (over 100) to fit humanoid sceletons using a 3d app, and create a new race. Creating a new race probably requires changing the gamecode to some degree. This wont conflict with anything as would if current elves were suddenly taller.

Redo any and all Elven Body/Armor meshes AND all head morphs to fit a taller sceleton using a 3d app. This can probably be done by simply scaling. Redo ALL elven NPC's facemorphs in game to accomodate the bigger skeleton. May need to correct the scale factor the others told about. As a result all elves are taller, but this may result in heavy animation and cutscene quirks.

Redo all elven headmorphs to fit a humanoid sceleton, and overwrite all humanoid headmorphs. Trick the char creator into using them ,make a human with a elven face. After your char is created reroll the headmorph changes. This will make your player have a elven face, but the required work is inhuman.

What other options are there

#9
LukaCrosszeria

LukaCrosszeria
  • Members
  • 1 304 messages
Thanks guys for taking the time to reply. I think I'll do that, rescale the elf head models to fit on the human body models, Darth's suggestion and Eshme's third option.

I won't replace all the elves in the game with this new model if that will destroy composition of the game, also since Eshme said the required work is inhuman ><

I thought of using the taller elves only in my module. That should be possible right? There will only be one elf in my party and only a few elven npc's. That will lessen the workload considerably. Do you guys think that option is doable?

#10
DarthParametric

DarthParametric
  • Members
  • 1 409 messages
If they are all NPCs then that makes things easier - just set them as Human and you'll have no issue with equipping items or camera heights. The problem you are going to run into though in that case though is the morph targets. As far as I know you can't add additional morph targets. In the case where you were making all Elves Human-sized, you'd just override the originals. Having them flagged as Human denies that option. The most practical way would be to make custom head meshes for each and just side-step the morph system altogether. But you'd need some modelling skill for that, even if you started with the base head. If you've never done any organic modelling, that's not going to be practical.

#11
LukaCrosszeria

LukaCrosszeria
  • Members
  • 1 304 messages
I see, thanks for the explanation.

Do you think it's possible to alter a human head to look more elvish? Like say, the ears and eyes a little? Then I could override the originals even if they're flagged as human, right?

If not I'll have to learn how to make head meshes. I saw some tutorials on head modelling on youtube.

Modifié par LukaCrosszeria, 13 août 2011 - 08:04 .


#12
Eshme

Eshme
  • Members
  • 756 messages

LukaCrosszeria wrote...

Thanks guys for taking the time to reply. I think I'll do that, rescale the elf head models to fit on the human body models, Darth's suggestion and Eshme's third option.

You have forgot that the required work is inhuman. Its less the models but the skeleton.

I won't replace all the elves in the game with this new model if that will destroy composition of the game, also since Eshme said the required work is inhuman ><

That was meant for only one NPC.

I thought of using the taller elves only in my module. That should be possible right? There will only be one elf in my party and only a few elven npc's. That will lessen the workload considerably. Do you guys think that option is doable?

There is no feasable option with low workload to do that

#13
Eshme

Eshme
  • Members
  • 756 messages

LukaCrosszeria wrote...

I see, thanks for the explanation.

Do you think it's possible to alter a human head to look more elvish? Like say, the ears and eyes a little? Then I could override the originals even if they're flagged as human, right?

If not I'll have to learn how to make head meshes. I saw some tutorials on head modelling on youtube.


All you are overriding would be the morph targets. Editting one would be insignificant, you'd have to edit at least a good portion of highrated targets. However all you'd do is create targets from the wrong base, the results are questionable.
That is also a good bit more timetaking than using the current elven heads.

How about you try to scale the elven base morph only to fit a human skeleton, and override the human base morph. Then examine the results and you will see what i mean the whole time.

#14
DarthParametric

DarthParametric
  • Members
  • 1 409 messages
So whilst mulling over this thread, I hit on a way to export a morph as a mesh. It's a bit convoluted and I've only done limited testing, but it seems to work.

I took this morph I quickly created in the toolset's morph editor:

Posted Image

And managed to get it into a game-useable mesh:

Posted Image

Add in a bit of GDA work and I set the head up as a replacement for Berwick (the Elf in Redcliffe that poisoned Eamon) in the toolset:

Posted Image

You'll notice there that he is using a head (i.e. mesh) and not a morph.

And here he is in the game:

Posted Image Posted Image

I went a bit overboard with the squint in the morph settings, so as a consequence he looks a bit constipated most of the time lol. But you get the idea.

Anyway, onto the core of how it works. I always knew the morph contained geometry data that was compiled from the morph target meshes, but the question was always how to extract and convert that into a game-usable format. In the toolset's morph editor there is an option on the top of the window to export the morph as an XML. This not only gives you the morph data in a nice clean format, it also (fortunately) follows the same format as the game's models (at least for the vertex data we are interested in). Looking at the resultant XML, it revealed vertex data, but not the other critical information a proper MSH file contains like UV co-ords, normals, etc. Given that morphs of a specific sex and race all derive from variations of the same base model, I figured that I should be able to use the source files of the appropriate base model and just substitute in the vertex data from my morph, as the vertices should – in theory – be identical, just positioned differently, and thus all the other data like weighting and normals would be identical. So what I did was take the base Elf male head model (em_uhm_basa_0) and ran it through Eshme's script. This gave me the XML files for the vanilla model's MMH and MSH. I then edited those, replacing the vertex data in the MSH file with that from my morph and changing the filenames. I then recompiled those into a MMH/MSH/PHY set and imported them back into Eshme's script to see if it actually worked. It did. The UV co-ords and skin weighting transferred across with no noticeable issues. I was concerned there might be some disparity in vertex ID numbers between the original models and Eshme's processed versions, which would cause weighting and other problems, and this might still prove to be the case with further testing - I'll leave that for Eshme to comment on.

Now that I had what appeared to be a functional model, I needed to actually get it into the game to test. The first step was extending the elf_heads GDA and adding in the info from my model. I did this and the head loaded up fine in the UTC editor. Eyes worked, however I was unable to select any hair. So another GDA extension was in order, this time for elf_hair. This simply required pointing the game to the vanilla hair models – there was no need for custom models (the vanilla GDA only contains info for the bald model). Upon doing this I was now able to select a hair mesh in the UTC editor, but I couldn’t choose a colour. Another GDA extension, this time hair_tints, was duly produced, pointing the game to the vanilla TNT files. However, I didn’t manage to get this to work – the hair remained white regardless. I’ll have to play around further with this. There is a brute force workaround if absolutely required; namely using custom hair models with texture-based colouring instead of tints, but I’ll determine if that is necessary at a later date.

Once that was all done, a quick in-game test was done to check that animations worked properly and there were no other issues. Getting Berwick outside revealed the old missing LODs issue (at a distance the game tried to pair the LOD2 and LOD3 body meshes with the LOD0 head rig, causing wild distortion), so I had to figure out a way to generate those. The LOD2 and 3 models for the base head are easy enough to get, but the toolset only exports the LOD0 morph. I presume the game must dynamically produce morph LODs, seeing as pretty much all humanoid NPCs use morphs and the game uses the head rig for the entire body. Perhaps they are available via a save once the morph has been brought into the game – that might warrant further investigation. Anyway, for my purposes I just loaded up the base head LOD2 and LOD3 models, merged in my morph head, used the old head to reweight the new head, then deleted the old head and exported. While this works perfectly fine, the downside is some unnecessary polys (the LOD0 head is 3608 tris versus 1044 and 328 for the LOD2 and LOD3 respectively), but I don’t see that as much of an issue – a couple thousand extra polys is hardly going to bring a system to its knees.

As far as relevance to this thread goes, this method should allow the generation of whatever morphs are required for the NPCs. These can then be converted into models just as I have done, the only difference being the need to scale up everything as previously mentioned to make them the appropriate Human height. An additional difference might be merging the hair model into the head model, as I suspect a scaled Elf head is not to going to mate perfectly with the Human hair meshes. Then these heads would be added to an extended human_heads GDA and any UTCs set as Human. I might have a crack at that if I get a chance at some point in the next week or so, but I’m pretty busy with work atm so no promises.

#15
Eshme

Eshme
  • Members
  • 756 messages
Using a fixed mesh could probably be the answer. I assume what you did is working. Could be made easier if someone made my script import morphs directly, if thats possible.

But that doesnt make the heads taller yet.

#16
DarthParametric

DarthParametric
  • Members
  • 1 409 messages

Eshme wrote...

But that doesnt make the heads taller yet.


No, but this does:

Posted Image

#17
Eshme

Eshme
  • Members
  • 756 messages
Looks like the neck seam lines up just fine. I think your methods are competetive ,i must assume the OP is full of questions however, that its gonna be hard.

#18
DarthParametric

DarthParametric
  • Members
  • 1 409 messages
Unfortunately the neck seams don't align perfectly. They are close enough to work with the vanilla Human armour and clothes, but there is a visible gap on the naked body mesh. However, that should be resolvable with a bigger necklace to hide the gap. The scalp seam is even further off, necessitating scaled hair models. The eyes don't line up either, again requiring a scaled up eyes model. Whilst the rigs appear to align very closely (to within a few millimetres), they are not exact match and as I said the meshes are quite disparate, so I gather the scaling factor I derived from the apr_base heights is not entirely accurate. Maybe I'll try a long shot and PM one of the devs about it.

As far as explanations go, as I said earlier I don't have a lot of time at the moment, but I'll run through the entire process when I get the chance. I wouldn't say that it is hard as such though, more laborious. Certainly it is a lot easier than trying to model heads from scratch.

#19
alschemid

alschemid
  • Members
  • 474 messages

DarthParametric wrote...

Anyway, onto the core of how it works. I always knew the morph contained geometry data that was compiled from the morph target meshes, but the question was always how to extract and convert that into a game-usable format. In the toolset's morph editor there is an option on the top of the window to export the morph as an XML. This not only gives you the morph data in a nice clean format, it also (fortunately) follows the same format as the game's models (at least for the vertex data we are interested in). Looking at the resultant XML, it revealed vertex data, but not the other critical information a proper MSH file contains like UV co-ords, normals, etc.


Oh... my... :o

Indeed it would be great if integrated into Eshme plugin... *puppy eyes*

#20
DahliaLynn

DahliaLynn
  • Members
  • 1 387 messages

alschemid wrote...

DarthParametric wrote...

Anyway, onto the core of how it works. I always knew the morph contained geometry data that was compiled from the morph target meshes, but the question was always how to extract and convert that into a game-usable format. In the toolset's morph editor there is an option on the top of the window to export the morph as an XML. This not only gives you the morph data in a nice clean format, it also (fortunately) follows the same format as the game's models (at least for the vertex data we are interested in). Looking at the resultant XML, it revealed vertex data, but not the other critical information a proper MSH file contains like UV co-ords, normals, etc.


Oh... my... :o

Indeed it would be great if integrated into Eshme plugin... *puppy eyes*


I second this! :wizard: *more puppy eyes for effect* ^_^

#21
LukaCrosszeria

LukaCrosszeria
  • Members
  • 1 304 messages
 I am full of questions yes, :lol: I'll try to figure as much out myself first before asking though. Although I'm pretty low level compared to the skilils you guys have :whistle:
Darth, the stuff you figured out is like mindboggling :o  Laborious I don't mind, as long as I get what I'm supposed to do. I could have never figured this stuff out, but now I'm excited at the prospect of making this work :wizard:

(goes back to reading post)

#22
-Semper-

-Semper-
  • Members
  • 2 256 messages

alschemid wrote...

Indeed it would be great if integrated into Eshme plugin... *puppy eyes*


for what purpose exactly? if you want to create different heads from the bases then use the facemorph system the toolset provides. if you want to create heads which are not possible with the mophs then you have to create it within a 3d app. in this case an imported morh is of absolutely no help.

#23
DarthParametric

DarthParametric
  • Members
  • 1 409 messages
The most likely reason for wanting a morph to mesh script I would think would be some sort of DA2 to Origins port or vice versa. Or something like what the OP is after. A specific app or script (standalone or an extension to Eshme's) probably doesn't have wide scale use and therefore is probably not worth the coding effort, but I wouldn't go as far as to say that a converted morph is of no use.

#24
LukaCrosszeria

LukaCrosszeria
  • Members
  • 1 304 messages

DarthParametric wrote...

Unfortunately the neck seams don't align perfectly. They are close enough to work with the vanilla Human armour and clothes, but there is a visible gap on the naked body mesh. However, that should be resolvable with a bigger necklace to hide the gap. The scalp seam is even further off, necessitating scaled hair models. The eyes don't line up either, again requiring a scaled up eyes model. Whilst the rigs appear to align very closely (to within a few millimetres), they are not exact match and as I said the meshes are quite disparate, so I gather the scaling factor I derived from the apr_base heights is not entirely accurate. Maybe I'll try a long shot and PM one of the devs about it.

As far as explanations go, as I said earlier I don't have a lot of time at the moment, but I'll run through the entire process when I get the chance. I wouldn't say that it is hard as such though, more laborious. Certainly it is a lot easier than trying to model heads from scratch.


Thanks for looking into this, Darth. :happy:

So what is needed beside the scaled elf head is:

1) bigger necklace for the naked body mesh
2) scaled hair models
3) scaled eye models

DarthParametric wrote...

The most likely reason for wanting a morph to mesh script I would think would be some sort of DA2 to Origins port or vice versa. Or something like what the OP is after. A specific app or script (standalone or an extension to Eshme's) probably doesn't have wide scale use and therefore is probably not worth the coding effort, but I wouldn't go as far as to say that a converted morph is of no use.


I think it has a very good use, since that seems to be the only way to get taller elves in my mod. I just wish I knew more - a lot more - about this stuff. I've gone over your long post repeatedly and it's clear that this is still so far out of my league :crying: I've learned a lot in the process of creating my mod (areas, scripts, cutscenes) but nothing like this. I understand what you're saying, but I don't know how to do it :lol: I've got a lot of learning to do before I'll see that taller elf methinks.

#25
alschemid

alschemid
  • Members
  • 474 messages

-Semper- wrote...

 if you want to create heads which are not possible with the mophs then you have to create it within a 3d app.


I do agree it is very specific, probably not worth coding it, but I was in need of a way to export one of the morphs I have created in the toolset to the 3app to make a new creature from it (changing the ears, back and top of the head) without have to waste most of my time figuring out how to rig the face properly to use the face animations and facefx. ;)