Jump to content

Fallout 4 HAVOK Guide


ajs52698

Recommended Posts

Been doing some work on this as well. I found a Max plugin HavokMax, and the library that drives it: HavocLib. I've got a modified version of Anton's Skyrim scripts to export from Blender to JSON. So if I can just get Havoc lib to compile and link with my own code, I can read the JSON and generate HKX files using (hopefully) proven code.

 

Major hurdle at the moment is that CMake hates me. There are a doze different ways to configure a CMake build, almost all of which fail to compile at some point. The one that does compile, generates no output - which wouldn't be so bad, but it breaks if I try and compile for debug, so I can't debug into the library to see what needs doing.

 

Oh well, if it was easy, everyone would want to do it...

Edited by DocClox
Link to comment
Share on other sites

  • 3 weeks later...

Been doing some work on this as well. I found a Max plugin HavokMax, and the library that drives it: HavocLib. I've got a modified version of Anton's Skyrim scripts to export from Blender to JSON. So if I can just get Havoc lib to compile and link with my own code, I can read the JSON and generate HKX files using (hopefully) proven code.

 

Major hurdle at the moment is that CMake hates me. There are a doze different ways to configure a CMake build, almost all of which fail to compile at some point. The one that does compile, generates no output - which wouldn't be so bad, but it breaks if I try and compile for debug, so I can't debug into the library to see what needs doing.

 

Oh well, if it was easy, everyone would want to do it...

 

I cloned havoklib (the original one). Cloned submodules. Opened the repo with visual studio 2019 and was able to compile it with no issues. When I run it, it fails during a test procedure because of a missing skeleton test file I assume. Dunno where your problem accured exactly.

Link to comment
Share on other sites

  • 2 weeks later...

doing a string dump of the fallout4.exe as well as the creationkit.exe provides many things to do with havok and some useful information. I've done alot of animation and played abit with some of the other havok things. Mostly interested in doing behaviors and finding easier ways to make and edit them.
Found a list of of all the node types that fallout 4 has for havok though

 

 

HKB_NODE_TYPE_INVALID
HKB_NODE_TYPE_FIRST_GENERATOR
HKB_NODE_TYPE_BEHAVIOR_GRAPH
HKB_NODE_TYPE_BEHAVIOR_REFERENCE_GENERATOR
HKB_NODE_TYPE_BLENDER_GENERATOR
HKB_NODE_TYPE_CLIP_GENERATOR
HKB_NODE_TYPE_MANUAL_SELECTOR_GENERATOR
HKB_NODE_TYPE_MODIFIER_GENERATOR
HKB_NODE_TYPE_REFERENCE_POSE_GENERATOR
HKB_NODE_TYPE_STATE_MACHINE
HKB_NODE_TYPE_SCRIPT_GENERATOR
HKB_NODE_TYPE_LAYER_GENERATOR
HKB_NODE_TYPE_END_OF_SPU_GENERATORS
HKB_NODE_TYPE_DOCKING_GENERATOR
HKB_NODE_TYPE_PARAMETRIC_MOTION_GENERATOR
HKB_NODE_TYPE_PIN_BONE_GENERATOR
HKB_NODE_TYPE_OTHER_GENERATOR
HKB_NODE_TYPE_BS_GAMEBRYO_SEQUENCE_GENERATOR
HKB_NODE_TYPE_BS_CYCLIC_TRANSITION_GENERATOR
HKB_NODE_TYPE_BS_BONE_SWITCH_GENERATOR
HKB_NODE_TYPE_BS_OFFSET_ANIMATION_GENERATOR
HKB_NODE_TYPE_BS_SYNCHRONIZED_CLIP_GENERATOR
HKB_NODE_TYPE_BS_ISTATE_TAGGING_GENERATOR
HKB_NODE_TYPE_BS_DYNAMIC_ANIMATION_TAGGING_GENERATOR
HKB_NODE_TYPE_BS_BEHAVIOR_GRAPH_SWAP_GENERATOR
HKB_NODE_TYPE_BS_RETARGET_BODY_BLEND_GENERATOR
HKB_NODE_TYPE_FIRST_TRANSITION_EFFECT
HKB_NODE_TYPE_BLENDING_TRANSITION_EFFECT
HKB_NODE_TYPE_GENERATOR_TRANSITION_EFFECT
HKB_NODE_TYPE_END_OF_SPU_TRANSITION_EFFECTS
HKB_NODE_TYPE_MANUAL_SELECTOR_TRANSITION_EFFECT
HKB_NODE_TYPE_FIRST_MODIFIER
HKB_NODE_TYPE_ATTACHMENT_MODIFIER
HKB_NODE_TYPE_ATTRIBUTE_MODIFIER
HKB_NODE_TYPE_CHARACTER_CONTROLLER_MODIFIER
HKB_NODE_TYPE_COMBINE_TRANSFORMS_MODIFIER
HKB_NODE_TYPE_COMPUTE_DIRECTION_MODIFIER
HKB_NODE_TYPE_COMPUTE_ROTATION_FROM_AXIS_ANGLE_MODIFIER
HKB_NODE_TYPE_COMPUTE_ROTATION_TO_TARGET_MODIFIER
HKB_NODE_TYPE_DAMPING_MODIFIER
HKB_NODE_TYPE_DELAYED_MODIFIER
HKB_NODE_TYPE_EVALUATE_EXPRESSION_MODIFIER
HKB_NODE_TYPE_EVENTS_FROM_RANGE_MODIFIER
HKB_NODE_TYPE_EVENT_DRIVEN_MODIFIER
HKB_NODE_TYPE_FOOT_IK_CONTROLS_MODIFIER
HKB_NODE_TYPE_GET_WORLD_FROM_MODEL_MODIFIER
HKB_NODE_TYPE_HAND_IK_CONTROLS_MODIFIER
HKB_NODE_TYPE_KEYFRAME_BONES_MODIFIER
HKB_NODE_TYPE_LOOK_AT_MODIFIER
HKB_NODE_TYPE_MIRROR_MODIFIER
HKB_NODE_TYPE_MODIFIER_LIST
HKB_NODE_TYPE_MOVE_BONE_ATTACHMENT_MODIFIER
HKB_NODE_TYPE_MOVE_CHARACTER_MODIFIER
HKB_NODE_TYPE_POWERED_RAGDOLL_CONTROLS_MODIFIER
HKB_NODE_TYPE_RIGID_BODY_RAGDOLL_CONTROLS_MODIFIER
HKB_NODE_TYPE_ROTATE_CHARACTER_MODIFIER
HKB_NODE_TYPE_SET_WORLD_FROM_MODEL_MODIFIER
HKB_NODE_TYPE_TIMER_MODIFIER
HKB_NODE_TYPE_TRANSFORM_VECTOR_MODIFIER
HKB_NODE_TYPE_TWIST_MODIFIER
HKB_NODE_TYPE_END_OF_SPU_MODIFIERS
HKB_NODE_TYPE_DETECT_CLOSE_TO_GROUND_MODIFIER
HKB_NODE_TYPE_EVALUATE_HANDLE_MODIFIER
HKB_NODE_TYPE_GET_HANDLE_ON_BONE_MODIFIER
HKB_NODE_TYPE_GET_UP_MODIFIER
HKB_NODE_TYPE_JIGGLER_MODIFIER
HKB_NODE_TYPE_SENSE_HANDLE_MODIFIER
HKB_NODE_TYPE_SEQUENCE
HKB_NODE_TYPE_AI_STEERING_MODIFIER
HKB_NODE_TYPE_AI_CONTROL_MODIFIER
HKB_NODE_TYPE_ROCKETBOX_CHARACTER_CONTROLLER_MODIFIER
HKB_NODE_TYPE_LEAN_ROCKETBOX_CHARACTER_CONTROLLER_MODIFIER
HKB_NODE_TYPE_OTHER_MODIFIER
HKB_NODE_TYPE_BS_COMPUTE_ADD_BONE_ANIM
HKB_NODE_TYPE_BS_DECOMPOSE_VECTOR
HKB_NODE_TYPE_BS_DIRECT_AT
HKB_NODE_TYPE_BS_DIST_TRIGGER
HKB_NODE_TYPE_BS_EVENT_EVERY_N_EVENTS
HKB_NODE_TYPE_BS_EVENT_ON_DEACTIVATE
HKB_NODE_TYPE_BS_EVENT_ON_FALSE_TO_TRUE
HKB_NODE_TYPE_BS_GET_TIME_STEP
HKB_NODE_TYPE_BS_INTERP_VALUE
HKB_NODE_TYPE_BS_IS_ACTIVE
HKB_NODE_TYPE_BS_ISTATE_MANAGER
HKB_NODE_TYPE_BS_LIMB_IK
HKB_NODE_TYPE_BS_LOOK_AT
HKB_NODE_TYPE_BS_MODIFY_ONCE
HKB_NODE_TYPE_BS_PASS_BY_TARGET_TRIGGER
HKB_NODE_TYPE_BS_RAGDOLL_CONTACT_LISTENER
HKB_NODE_TYPE_BS_REVERSE_SPINE_TWIST
HKB_NODE_TYPE_BS_ROOT_TWIST
HKB_NODE_TYPE_BS_SPEED_SAMPLER
HKB_NODE_TYPE_BS_TIMER
HKB_NODE_TYPE_BS_TWEENER
HKB_NODE_TYPE_BS_ASSIGN_VARIABLE
HKB_NODE_TYPE_BS_ALIGN_BONE
HKB_NODE_TYPE_BS_LIMB_CYCLE
HKB_NODE_TYPE_BS_LOOKAT_CAPTURE_POSE
HKB_NODE_TYPE_BS_DIRECTAT_CAPTURE_POSE
HKB_NODE_TYPE_BS_RANDOM_ALARM

 


You can find many generators and info about them in the links already posted. The nodes that start with "BS" though are ones that Bethesda custom made for fallout however and not much documentation about them

Link to comment
Share on other sites

  • 2 weeks later...

Hi! Thanks for all the information here, it's super useful.
Is there an editor for behavior/hkx/xml files out there or even a text editor that would make the structure easier to follow for a code noob?
I've been using notepad++ and I'm struggling to properly edit the files.
I'm trying to merge two gun behavior files (Minigun FX and Laser Rifle behavior) but at the moment only the minigun events are playing.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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