Jump to content
The Dark Mod Forums

Using D3 Heads


Springheel

Recommended Posts

Did a quick test with the new Builder guard and added the D3 head_young to it. The good news: the size is perfect. The bad news?

 

headtest.jpg

 

I tried 3 different heads. One didn't work at all (black box) but the other two both were floating about the same height above the neck, so I'm guessing that the bone for attaching the head is higher in our models than the D3 ones?

 

Ascottk, you said something about there not being a way to offset the head--is that still the case? It sure would be handy if we could reuse some of the D3 heads, but if we can't actually move them up or down it doesn't look promising.

Link to comment
Share on other sites

  • Replies 180
  • Created
  • Last Reply

Top Posters In This Topic

Did a quick test with the new Builder guard and added the D3 head_young to it. The good news: the size is perfect. The bad news?

 

I'm guessing that the bone for attaching the head is higher in our models than the D3 ones?

 

Ascottk, you said something about there not being a way to offset the head--is that still the case? It sure would be handy if we could reuse some of the D3 heads, but if we can't actually move them up or down it doesn't look good.

I had to adjust the bones in the head to accomodate for oDD's bone placement. If we try to add offsets to the head then the heads will be replaced by a black box.

 

Other options for bone attachments would be: Head (default as seen in your shot), Neck (not low enough for d3 heads), & Spine2 which is way too low.

 

I wonder if offsets could be fixed with the sdk? Either that or use static meshes for the heads so we can add offsets.

Link to comment
Share on other sites

Using static meshes would mean we wouldn't have eyeblinking and other animations though, right? That's one of the main benefit of using the existing heads.

 

Hmm. Some way to offset them seems like the best approach if it's possible.

Link to comment
Share on other sites

That would be great if it's possible, Spar. You think our standard Builders are threatening? Wait 'till you see one with Betruger's head turn your way and scowl when it sees you. :)

Link to comment
Share on other sites

Using static meshes would mean we wouldn't have eyeblinking and other animations though, right? That's one of the main benefit of using the existing heads.

 

Hmm. Some way to offset them seems like the best approach if it's possible.

Yeah, that would suck to have no animations.

Well, we can certainly add an offset parameter with the sdk. Shouldn't be to hard IMO.

That's good to hear :) I do wonder why md5 meshes are treated differently than static though.

Link to comment
Share on other sites

That's probably our plan B, since it would be a fair bit of work and isn't as flexible (heads may line up great on one model but not another, frex).

 

Spar, when you say it should be pretty easy, does that mean easy like, "I can probably whip it up for you guys within a day or so," or easy like, "Someone else who has the time to figure it out will probably be able to do it at some point"? :)

Link to comment
Share on other sites

Problem is that I haven't done anything with AI and models, so it would probably take longer with me. Since I'm the only programmer here at the moment, until Isht is productive again, I can take a look at it. Would be nice if you put that model into a testmap that I can use for this purpose, and give it to me. I never put an AI into a map, and I don't want to learn it now just for that.

If it works as I think it should, then it shouldn't take longer than a few hours. Unless the animations don't screw it up, which I'm not sure of.

Gerhard

Link to comment
Share on other sites

For most cases though, if you model a head to work with a certain body, there shouldn't be any need to put in offsets - your head should just meet the specs for that body for it to match up properly.

 

So you should reasonably expect all human bodies to be able to swap heads okay (various armoured guards, pesants, etc,) but not swap between different species. Like putting a human head on a burrick - why would we need to acommodate for that by supporting offsets?

Link to comment
Share on other sites

So you should reasonably expect all human bodies to be able to swap heads okay (various armoured guards, pesants, etc,) but not swap between different species. Like putting a human head on a burrick - why would we need to acommodate for that by supporting offsets?

 

These are the kinds of things that make me wonder if you're reading the thread before posting.

 

Many of the existing D3 heads would look very good on our models. They are already animated as well. If we could use them, that essentially triples our collection of human heads. However, when trying to use them, they appear like the screenshot at the top of the page, because the bone they connect to in our skeleton is higher than the one in the D3 characters. Since changing the skeleton would be a PITA, it would be nice to have an offset system like the one that exists for static meshes, so that you can set a value to raise or lower the heads so that they fit perfectly on the model you want to attach them to.

 

Nothing at all to do with putting human heads on burricks.

Link to comment
Share on other sites

How big are the D3 AIs in comparison to ours now? Did you put them side by side?

 

They are the same size now (or at least the ones that have been resized are).

Link to comment
Share on other sites

I think Black and Asian characters would look quite out of place in a medieval European based setting, except perhaps in very exotic roles like mages or foreign mercenaries.

Link to comment
Share on other sites

As soon as I have a map with an example AI that exhibits the problem, I can implement it.

 

Ok, I've uploaded a map (test_head) with a builder that I've added a line to:

 

"def_attach" "head_young"

 

That's a D3 head--here's the entitydef for it:

 

model head_young {

mesh models/md5/characters/npcs/heads/h2.md5mesh

channel eyelids ( Ruplid Rlolid Luplid Llolid )

 

anim idle models/md5/characters/npcs/heads/h2idle.md5anim

anim stand models/md5/characters/npcs/heads/h2idle.md5anim

anim blink models/md5/characters/npcs/heads/h2blink.md5anim

anim dead models/md5/characters/npcs/heads/h2death.md5anim

anim IPN_News models/md5/heads/young/marscity/IPN_News.md5anim {

frame 1 sound_voice sound/vo/video/video_ipn_news.wav

}

 

}

 

You can see right away what the problem is. We'd like to be able to add a line to the entitydef for the model like "offset x, y, z" so the head can be positioned properly (only z really needs to be changed for most).

Link to comment
Share on other sites

How much of an offset you want depends on the head more than the model. You don't want a model to apply an offset to our own heads, frex. Think of it like attaching things to an ai's belt.

 

I think I was sloppy with my terms...I mean adding the offset line to the *entityDef* for the head, not the model itself. So if necessary, we make defs for head_young_builder, head_young_guard, head_young_mage, etc, each with a separate offset value, but all using the head_young model.

Link to comment
Share on other sites

Huh? But if you add the offest to the head, then this would be the same offset, regardless of the model that you use. You sure this is what you want? I mean, it doesn't really matter where you put it, because fortunately the scripting system was written such that you can easily override the settings anyway. Well, I see if I can implement it and then you can play with it. We can always fix it later, once it works properly.

Gerhard

Link to comment
Share on other sites

I just looked at the code, to see where best to put this, and guess what I found. :) :) :)

 

There already exists a key named "modelOffset" and guess what it does. :)

 

Can you give this a try and see if it actually does what you want? Well, I can also try it mysel, which is exactly what I'm going to do right now, but you might also check it and see if it helps you.

 

"modelOffset" "0 0 0"

 

The three values are the offset values for the axis.

Gerhard

Link to comment
Share on other sites

I just looked at the code, to see where best to put this, and guess what I found. :) :) :)

 

There already exists a key named "modelOffset" and guess what it does. :)

 

Can you give this a try and see if it actually does what you want? Well, I can also try it mysel, which is exactly what I'm going to do right now, but you might also check it and see if it helps you.

 

"modelOffset" "0 0 0"

 

The three values are the offset values for the axis.

Cool B) Does this go into the entityDef or the head model declaration?

Link to comment
Share on other sites

D3 doesn't mind where you put it. I put it directly in the map file, but it should work the same in the entity def. You can try it in the model declaration. I don't know where this is. If it doesn't work, then put it in the entity def where IMO it makes the most sense.

 

A value like -7 for the Z axis looks quite good.

 

I played with some values and -7 looks perfect. :)

Gerhard

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

    • nbohr1more

      Was checking out old translation packs and decided to fire up TDM 1.07. Rightful Property with sub-20 FPS areas yay! ( same areas run at 180FPS with cranked eye candy on 2.12 )
      · 1 reply
    • taffernicus

      i am so euphoric to see new FMs keep coming out and I am keen to try it out in my leisure time, then suddenly my PC is spouting a couple of S.M.A.R.T errors...
      tbf i cannot afford myself to miss my network emulator image file&progress, important ebooks, hyper-v checkpoint & hyper-v export and the precious thief & TDM gamesaves. Don't fall yourself into & lay your hands on crappy SSD
       
      · 3 replies
    • OrbWeaver

      Does anyone actually use the Normalise button in the Surface inspector? Even after looking at the code I'm not quite sure what it's for.
      · 7 replies
    • Ansome

      Turns out my 15th anniversary mission idea has already been done once or twice before! I've been beaten to the punch once again, but I suppose that's to be expected when there's over 170 FMs out there, eh? I'm not complaining though, I love learning new tricks and taking inspiration from past FMs. Best of luck on your own fan missions!
      · 4 replies
    • The Black Arrow

      I wanna play Doom 3, but fhDoom has much better features than dhewm3, yet fhDoom is old, outdated and probably not supported. Damn!
      Makes me think that TDM engine for Doom 3 itself would actually be perfect.
      · 6 replies
×
×
  • Create New...