[APOLOGIES IN ADVANCE FOR THE LONG POST - JUST WANT TO BE THOROUGH!]
{Also - i've tried umpteen Edits to try and keep this formatted with
line breaks etc but it refuses...}
Info:
-> Im running the latest version of the Content Tools and the binary
only Physics+Animation modules.
-> I can successfully create runtime primitives and display them on
the VDB.
-> Using 3ds Max 2012 with the Havok Export Tool Plug In.
-> Using Visual Studio 2010 Express with a view to integrate with
OpenGL
So i've been trying for the better part of a week now to successfully
import some physics and animation data into my engine.
I've tried a vast variety of Havok, my own and Skyrim/Fallout hkt/hkx
files to no avail. I've read the Content Tools and Serialization/Versioning
sections over and over and they just don't provide enough detailed explanation
for my issue. Obviously I've googled extensively as well as searched the Intel
Forums.
Everytime I try to load in an asset I get the following Assert error
message ( or a similar derivative of the versioning problem ) :
Unable to version data of class hkaAnnotationTrackAnnotation, version
0x00000000Patching to latest version failed. Have you registered the necessary
patches? e.g. hkFeature_serializeRegisterKeycodePatches() See the hkError
output for more detailsDBGHELP: SymSrv load failure: symsrv.dll
Now I'm pretty sure I'm not smart enough to figure out the whole runtime
patching thing - but I was forced to go through a few tutorials in order to
hack and figure out how to apply the content patching. I tried several dabbles
and eventually gave up because I couldnt really see how the demo framework tied
in with the whole version patching.
So the next step was to use the AssetCC2 tools to try and convert the
Havok_Girl_Rig file located in resources (hkRig_4011.hkx). I tried that to no
avail really. It converts a .hkx over to a .hkt tagfile for me, but doesnt
really do anything to resolve the versioning issue. AssetCC1 doesnt allow me to
do any conversions - just says something about "hkx is mutually
exclusive" to another format etc. An example of what I've been doing is
something like :
AssetCC2 -g hkRig_1404.hkx hkRig.hkt
I did have one success and that was when I used AssetCC2 to convert the
SimpleLoad examples' simple.hkx to simple.hkt. That basically allowed me to
serialize the physicsData but obviously didnt have any Skeleton/Animation data
in it for me to test the Animation import. That is basically the ONLY file that
I've been able to get working without a version error - I suspect because its a
really simple file in terms of contents.
I've literally tried loads of methods from NifTools on converted .KF to
.Nif and then exporting that as a .hkx/ .hkt/ .xml etc. I'm out of options at
this point and bashing my skull into my keyboard - but I'd really like to just
persevere with the Havok tools as I really believe they are a great, powerful
product.
The more concerning issue for me is that even if I create a brand new simple asset in Max and then export it from the havok plugin - I still get the versioning issue... Which I dont understand because surely I'm using the latest Content Tools with the latest Havok (2011.3 i believe).
1.) Am I using AssetCC2 correctly to
convert the example Havok files from the older rule .hkx to new .hkt? And is
this conversion from older packfile to newer tagfile meant to auto patch to the
latest version?
2.)I would
really appreciate some insight into what I'm doing incorrectly in terms of trying
to import the assets and how come even my new assets are giving me versioning
issues. I'd prefer not to go the complicated patching route as I intend to
create and use my own modern assets.
3.)Would it
have something to do with how I export from the Havok plugin in Max?I've tried to create a single cube and attach 2 bones + skin + IK +
simple animation(or combinations of those) and then I've tried various export
filter from just Skeleton to only Animation or even only the Inches to Meters
transform.
I've attached my 2 source code files in the hopes that it may provide
some insight into my issue. (I've noted inside where the Assert errors occur).
As you can see I keep throwing in as many includes as I can get my hands
on for troubleshooting.
Also - in order to pre-empt any of the include/define issues I've played
around with alot of the following:
#define HK_EXCLUDE_FEATURE_MemoryTracker
#define HK_EXCLUDE_FEATURE_SerializeDeprecatedPre700
#define HK_EXCLUDE_FEATURE_RegisterVersionPatches
as well as :
#include
#include
#include
Thanks a bunch for any assistance/insight you may be able to offer!!!
The End



