Jump to content

HKXPack/HKXAnim - Animations in FO4


Recommended Posts

Posted

 

The power of boners defy all limits

 

 

In some countries the "correct" expression is: the power of the smell of a pussy makes the impossible possible.

Posted

 

 

The power of boners defy all limits

 

 

In some countries the "correct" expression is: the power of the smell of a pussy makes the impossible possible.

 

what if it smells like fish??

i guess that wouldnt be too bad, just smell some fish and BOOM fuck laws of physics

Posted

 

How in the hell do you keep 30k integers in your head trying to find a pattern?  Brain power maximus!

 

 

You break it down into chunks.  I'm not trying to do all 30k at once, I'd go cuckoo. :)

 

For instance, at regular intervals, we find most of the integers from 0 to 105 in sequence:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38

39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59

60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80

81 82 83 84 85 86 87 88 90 91 92 94 99 100 101 104 105

I think those are keyframe indices, since the file states that there are 106 frames in the animation. I believe it tells us which frames have a keyframe for this track. It's also a good delimiter between animation tracks, and I'm also breaking it up at those points.  The ones that are skipped are frames where there is no keyframe for that track.  That also tells me that Bethsoft probably used a lot of mocap, because you don't usually set a keyframe every frame when you animate by hand, and if it were baked, then there wouldn't be any skipped frames.  I'm guessing, at least.  Or perhaps it was baked, and then the compression algorithm reduced a few keys - except if that were the case, then there would be a lot fewer keys.  I think. :wacko:

 

And then there are big ugly blobs of numbers that don't seem to have any pattern at all.  Just sort of what the guys yell when they play football.  HIKE!

 

What I'm trying to do now is figure out how the data in between is encoded.  Just before that block above, we find a number that exactly matches the number of keyframe indices (97 in the above instance) and then 0 1 0.  Those might be flags telling us what kind of transform the track is, meaning translation, rotation, and scale. So that seems like it would be rotation, except the pattern below doesn't really support that.  A short excerpt from the numbers that follow those flags:

0 0 107 113 44 239

0 0 108 113 32 238

0 0 107 113 181 236

0 0 107 113 220 234

0 0 107 113 121 232

0 0 107 113 100 229

0 0 107 113 110 225

0 0 107 113 112 220

I rearranged the line breaks to show the pattern.  I do think I remember reading that the way HKX files are arranged, is that they encode one component of one axis of one bone, and that's a track.  I'm not too sure about rotations, though, because quaternions can't really be broken down into a single axis.  With quaternion rotations, you define your own axis, and then rotate it around that axis a number of degrees, which prevents gimbal lock. They look like this on paper (with real values for w, x, y, and z):

 

Q = w + xi + yj + zk

 

........ OMG I'm such a nerd.

 

By the way, I wasn't kidding when I said that the first 380 values, the part designated as the "maskAndQuantizationSize", are groups of four that ALL start with 69:

69 0 0 0

69 112 240 0

69 0 0 0

69 4 240 0

69 1 240 0

69 1 240 0

69 4 240 0

69 1 240 0

69 1 240 0

69 3 240 0

69 1 240 0

69 1 240 0

69 3 240 0

69 1 240 0

69 7 240 0

69 1 240 0

69 1 240 0

69 1 144 0

I've never done anything like this before, so if anyone has any advice, or if you have any insights, please share. :P

Posted

Mocap, yes, but also nobody animated a character's bones directly, some rig is always used. So, for example, if you use ik - you csn have just 2 keyframes, but on export it has to be baked onto joints, so... yeah, keyframe on every frame.

Posted

Mocap, yes, but also nobody animated a character's bones directly, some rig is always used. So, for example, if you use ik - you csn have just 2 keyframes, but on export it has to be baked onto joints, so... yeah, keyframe on every frame.

 

True.  I have actually made those rigs and used them - I was just thinking more about the data at the moment. :)

 

That said, though, there wouldn't be any frames skipped if it was baked, would there?  And if it were keyframe reduction, wouldn't there be a lot fewer keys?  There do seem to be frames skipped in the file - but very few.  Like 5-10 out of a 106 frame animation.  And it seems to be a different set of them skipped for each animation block.

 

Of course, every time I did mocap, the software would apply the animation directly to the bones, and not the rig - which makes sense, because the rig is there for keyframing by hand.  With mocap, you just need to clean up a bit after the fact.

 

I'm still working on the data, by the way.  I'm sort of down to trying to figure out how they did the quantization of the data.  Everything is integers, and they seem to be in either groups of five or groups of six.

 

SNAP! I think I just figured it out.  ShadeAnimator, I think you're qualified to answer this.  I think the groups of five and six would have to include tangent data - meaning each key can have different in and out interpolation.  Do you think that an in tangent or an out tangent could be expressed using a single value? If so, then that might mean the groups of five are translation (three for x,y, and z, plus two for the in tangent and the out tangent) and the groups of six would be the rotations (four for w,x,y, and z, and two for the tangents). I mean, I know that you don't normally use translation data except on IK handles and the root node, but if it's baked like you said, then the baking process would create translation keys even if there's no translate animation. Thoughts?

 

On that note, if anyone here knows how they did quantization in Skyrim, we should experiment with it to see if Fallout 4 uses the same quantization technique.  I have a feeling that the most drastic change from the format used in Skyrim, is the changes to the skeleton.  I'm totally guessing, but it might be worth it to try.  The worst that can happen is a totally messed up test animation.

Posted

I am not sure, but I think yes, if in and out tangent is locked it can be expressed in single value, because one depends on the other.

 

Hm, remind me, what exactly are you trying to crack? :D

Posted

I am not sure, but I think yes, if in and out tangent is locked it can be expressed in single value, because one depends on the other.

 

Hm, remind me, what exactly are you trying to crack? :D

 

:)

 

I'm trying to figure out how the data in the XML file is encoded so we can encode it ourselves.  That way we don't need HCT.  It would actually be one value for each.  I don't think I was very clear on that.  There are six values for what I think are rotation keys, which would mean four for a quaternion rotation, and then one for the in tangent, and then one for the out tangent.  I never have looked at the interpolation math in-depth, so I'm not sure how it's represented in memory or on disk - I just pull the handles around until the curve looks like what I want.  So you think those two extra values could be the in tangent and the out tangent respectively?

 

If I'm understanding what you are saying, then an in tangent only needs one value anyway.  If that's the case, then I think I at least have the general layout figured out.  What I need now is to figure out how each individual value is encoded.  I know it's quantized somehow, but it's quantized in a way that a float becomes an integer.  That's what I don't understand, unless they're just rounding off to the nearest integer.  But that doesn't make sense, because then they would lose too much precision - especially with quaternion rotations.  So maybe they are multiplying by a certain number and THEN rounding off?

 

Sorry, I'm thinking while I type.  I's my way.  :)

Posted

Yeah thinking while typing I can understand.

 

But I don't think I can actually help you on this, though I might try to look into it, but I'm ok with HCT :D

Posted

Came across this framework mod today: http://www.nexusmods.com/skyrim/mods/76744/?

 

It mentioned action scripts instead of Papyrus: what difference does this make to animation?

 

This might be more a framework question, if so can please directed to right thread.

 

This framework only manages animations after they are added to skyrim(via FNIS). It does manage how to play animations.....

 

Moin

Oli

Posted

Mocap, yes, but also nobody animated a character's bones directly, some rig is always used. So, for example, if you use ik - you csn have just 2 keyframes, but on export it has to be baked onto joints, so... yeah, keyframe on every frame.

 

How is the baking script done in 3dmax ?? is it just snooze like blender ?? normally it does it really quick as long as the frames stays well down to 100 frames anything bigger then that and it could take hours before the baking process is finished.

Posted

 

Mocap, yes, but also nobody animated a character's bones directly, some rig is always used. So, for example, if you use ik - you csn have just 2 keyframes, but on export it has to be baked onto joints, so... yeah, keyframe on every frame.

 

How is the baking script done in 3dmax ?? is it just snooze like blender ?? normally it does it really quick as long as the frames stays well down to 100 frames anything bigger then that and it could take hours before the baking process is finished.

 

 

10000 frames in a few seconds? And what's 'snooze'?

 

You don't really need to bake anything manually in max. It automatically bakes everything when you export FBX (or HKX) file in a matter of seconds. That's just how FBX and HKX exporters both work. Not sure about all other formats though.

 

You can also bake keyframes to joints from IK and other controllers manually, without exporting, but thats another story.

  • 4 weeks later...
  • 3 weeks later...
Posted

I've been trying to decipher the XML for some time, but it's slow going, and now school is getting in the way.  If anyone is interested in picking it up, I'm attaching my notes.  In the "dissection" file, they're interspersed with the actual data.  I hope someone can help, because I literally have maybe a couple hours a week that I can look at this.

 

Thank you to anyone who can pick up where I left off!  Right now, if I wanted to add some animations, which I do, then I need to find someone kind enough to convert them for me.  My HCT crashes. :(

 

Edit: fixed some notes that weren't accurate.

hkx notes.txt

EnterFromStand dissection.txt

hkx_xml_notes.txt

  • 3 weeks later...
Posted

 

If you guys need the animation tool and content tool (maya/max/softimage) 2014 version here it is. DO NOT POST LINKS TO THIS ANYWHERE ELSE. They who shall not be named removed the tools from the Intel site, and the only other way to get them is through baidu. It probably won't be of that much use, but the animators will need it eventually.

 

https://mega.nz/#!a9xWHLRD!7LpEvkGQVE_kmCJbMCyCCQAwNlf-msOg4BeY4vczSHA

 

Since now the NDA is void, I can talk. Bethesda kindly gifted us a nif exporter for 3ds Max 2013. When specifically asked about the BSClothExtraData node, one Beth dev said that the tool can export that data, but you need the havok content tools to create the data in the first place.

And when you install the nif exporter then among other gui elements  a scene export button appears that leads to an error message complaining about a missing dll. UNLESS you install the havok tools from the link above, then a new dialog appears with lots of stuff to select (among other a "cloth" tab). I have too few knowledge about havok and 3ds max to investigate further, but someone else might.

 

 

Well, that's nice & all, but when I upgraded my motherboard, memory, CPU, & video cards.......And upgraded to Windows 10, 3D Max decided it wanted another $4G.........So I deleted it.

Posted

 

 

If you guys need the animation tool and content tool (maya/max/softimage) 2014 version here it is. DO NOT POST LINKS TO THIS ANYWHERE ELSE. They who shall not be named removed the tools from the Intel site, and the only other way to get them is through baidu. It probably won't be of that much use, but the animators will need it eventually.

 

https://mega.nz/#!a9xWHLRD!7LpEvkGQVE_kmCJbMCyCCQAwNlf-msOg4BeY4vczSHA

 

Since now the NDA is void, I can talk. Bethesda kindly gifted us a nif exporter for 3ds Max 2013. When specifically asked about the BSClothExtraData node, one Beth dev said that the tool can export that data, but you need the havok content tools to create the data in the first place.

And when you install the nif exporter then among other gui elements  a scene export button appears that leads to an error message complaining about a missing dll. UNLESS you install the havok tools from the link above, then a new dialog appears with lots of stuff to select (among other a "cloth" tab). I have too few knowledge about havok and 3ds max to investigate further, but someone else might.

 

 

Man, fuck me, this is what happens when a topic get too big, you miss out on the good stuff people mention.

 

Is there any info. on where the Tab for Cloth is or if it was released in the final public version for 2013?

 

We've been hunting for anything related to ClothData forever at this point, and my friend did freelance with a Havok license at one point in the past, but there was no ClothData information or Roll-Tabs being shown (I mean Havok still needs to be installed in a unique path to be even read by Max, if you install it a default path, it won't find or read the folders) so any information on how to just 'open' the tab will help so much.

 

Posted

The installer has some serial key activation for the destruction and cloth plugins, chances are its proprietary stuff that can't be shared by Bethesda because of their license terms. The only thing we can do is wait until we are able to generate ragdoll limbs with what we have already and have it embedded into to the nifs, but that is probably a ways off.

  • 3 weeks later...
  • 2 months later...
  • 4 weeks later...
Posted

Is there somewhere i can donate money for this project?

 

Nope. At least, not to me, and for several reasons :

- I don't want to "work more", for any reason, on this. It's a side project, I do it because I like it and if - like now - I want to take a year long break from it, I can without remorse. This wouldn't be the case with money involved

- I've already got stuff to do where I need to justify money spent on me (a.k.a. a job) and don't need no side projects with this kind of hassle

- Keeping the project collaborative and including donations would cause a lot of politics to happen, and I don't like politics

- There's people actually working on the same thing for money, called Havok, and they'd find it "not cool" if I got money too

- There's a lot of people out there that would like this money way more than I do

 

However, it'd be nice if you wanted to give that money to somebody who needs it...

- One of the people here who do stuff you like and have donations already setup (Ashal/LoversLab directly is the obvious choice, but a lot of other people have patreons too)

- One of the people out there creating stuff you like (I think Piroro opened a patreon recently if you like his stuff)

- One of the organizations involved in providing for the unlucky people out there (I recently saw a video about the Free Burma Rangers who go directly to the warzones and give food, shelter, toys and protection to the people there)

- directly to your local shelters

- etc...

 

Also, about that. Big humanitarian organizations don't usually need money from small donations, but just donators as individuals. It has an impact as a "sheer number of people" and they can then say "Look : we have 250.000 independent people that donated to us last year !". Depending of which you find deserving, don't hesitate to donate $1/2/5 to one of the "big ones" from time to time. That will really help, not only for the money but to show that one more person believes in them - and governments/companies will be that much easier to convince.

  • 1 year later...
Posted

I've just got a couple of questions pertaining to the opening post.

On 12/27/2015 at 1:08 PM, DexesTTP said:
  • With Havok animation studio
    • Done (native)
  • With Havok Content Tools and the 3DsMax Nif plugin

I've found a lot of helpful information about the animating process itself looking around on here, & I've used 3DS Max in the past so this is feeling doable. The only thing I'm not sure about is, where might I be able to find Havok Content Tools &/or Havok Animation Studio? I've got 3DS Max 2013 & I found HCT but then also found postings about the specific one I found, indicating it is actually not the right version.

On 7/18/2016 at 10:16 AM, ShadeAnimator said:

You'll have to ask other modders to obtain a link for HCT

Per the thread linked it says I must ask other modders in order to obtain a link for HCT. I've tried already on nexus asking some modders on there but have either gotten ignored or outright rude replies. Is there someone I could ask here, who might not mind if I ask them? I might PM some of the contributors but thought I'd try posting here first, so that I might avoid PMing people who potentially may be very annoyed by a PM out of the blue. On nexus it seems as though you're very likely to get a very negative response doing this. Hopefully I could be pointed towards someone friendly or maybe a friendly neighborhood animator could help me out.

 

On 12/27/2015 at 1:08 PM, DexesTTP said:
  • Killmoves
    • Not known yet
  • Paired animations
    • Not known yet

Given that the original posting date is December 27th 2015 though this is a Stickied topic, would it be a fair question to ask if this is still the case of if people have done it yet? I didn't see any "Edited on x date" in the posts but not all forums include a message indicating when a post has most recently been edited.

 

I'd like to get into animating and these are included in what I'm interested in trying. I'd most like combat centric moves featuring custom animations. CQC style attacks. I imagine I can probably find other ways to hook into animations like perhaps via AAF, though the most preferred route for me would be making combat moves that can have a chance to trigger on melee attack either as a new killmove animation or otherwise as a "Super" similar to command grabs or other supers in fighting games to do a higher damage attack & maybe other effects.

 

I've got a possible animations pack forming in mind and can't wait to try out the tools & figure out what I can do.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...