blabba Posted March 10, 2014 Posted March 10, 2014 PURPOSE: This thread is geared towards providing guides/tutorials and support for beginners to the wonderful world of HDT physics modding. This guide will be broken up into two posts, the first main post will be geared towards end users, contain FAQ, Resource links and support tips. The second post will contain tutorials/guides and other miscellaneous resources and info for modders. CREDITS: HydrogensaysHDT - Creator of HDT plugins Monsto Brukes - Creator/Moderator of HDT Subforums Canderes - Contributor to HDT physics, click on name for his guides & resources Yoo - Contributor to HDT physics modding, click on name for his latest project Groovtama - Resident Skeleton Wizard and provider of HDT Rig Map Fix. Enskyment - For Making a kick-ass guide for newbie end users! Special thanks to: Vioxsis, b00marrows, jacques00, Daiemonic, Stevierage, clp2011 and others for contributing to the HDT physics scene RESOURCES: HDT Download 14-28 Havok Physics SDK Feature Guide TERMINOLOGY: Read this section if you are new or unfamiliar with some of the terms in the guides and/or feedback from other users Stable - Usually refers to the last version of the HDT plugin, this is the SUGGESTED download for inexperienced beginners Latest - Refers to latest version of HDT plugin, commonly found under HydrogensaysHDT's baidu link. Just For Fun (JFF) - A tweak program made by HydrogensaysHDT for tweaking & creating Havok physics parameters, the tool reads packed and unpacked xml files. Also known as hdtHavokModifier. HDT PE - Shorthand for HDT Physics Extension Rig Map - The skeleton_female.hkx file, this file contains information for the Havok Animation System to match data from the animation file to the skeleton. Collision - The effect of having an object (such as breasts) transform when being affected by another object (such as hands) Bounce Kit - The hdtPhysicsExtensionsDefaultBBP.xml file. This can be changed via the JFF (Just For Fun) program to build a physics profile for a particular mesh, whether body, hair, cape, etc. GUIDE 0: For Absolutely New to HDT: Click the above link for an awesome guide made by Enskyment meant to quickly get you up to speed with all of this stuff! GUIDE 1: Basic HDT Physics Installation (No Pics Yet): This guide will teach new users how best to properly setup a basic HDT PE installation Step 0: Prerequisites to installing: A. You have a BBP/TBBP enabled body (More specifically, your body replacer has Breast Bone Weights, and/or Butt Bone Weights) B. You have a proper skeleton file (More Specifically, your skeleton has NPC Breast bones and NPC Butt Bones) Recommended Skeleton C. If not using the aforementioned skeleton file, make sure you at least use the patched up Rig Map file from Groovtama, so you will not get weird Breast & Butt issues. Step 1: Download the hdtPhysicsExtensions.dll & hdtPhysicsExtensionsDefaultBBP.xml files NOTE: The latest versions of HDT PE have these additional files as well: hdtPhysicsExtensions.ini, hdtSkyrimMemPatch.dll, hdtSkyrimMemPatch.ini Step 2: Manually Place the above mentioned files into your 'Data\SKSE\Plugins' Folder NOTE: If using Mod Organizer, It is still preferred you put these files MANUALLY into your REAL Skyrim install folder (Optional) Step 3: Tweak your Skyrim.ini settings to optimize the Havok engine if you have a multi-core processor (Optional) Step 4: If using older versions of HDT PE, tweak your enblocal.ini for better visual effect. (Optional) Step 5: Tweak your hdtPhysicsExtensions.ini & hdtSkyrimMemPatch.ini GUIDE 2: Adding Collision to your HDT PE Installation (Manually) (On Hold): See Guide 0 link for now FAQ: Q: I heard deleting the skeleton_female.hkx (Rig Map) file helps fix things with HDT Physics?A: NO, stop it. That piece of information is old and even then it was a horrible 'workaround'. DO NOT DELETE THIS FILE. Instead use the attached Groovtama's Rig Map file for maximum HDT Compatibility. Q: I do use my own custom skeleton and use HDT Physics, anything further I need to do?A: Yes, Download and install Groovtama's custom Rig Map, be warned though that if you are using a custom skeleton that has a new non-standard bone used for animation that is not already included in the XPMS skeleton, that this Rig Map will not contain the animation data for that new bone and you will need to add it yourself. Permissions: Feel free to copy/paste or link this guideFeel free to translate the guide.Feel free to make your own guide , I've attached the images to help you! (They'll be updated for revisions/changes) Groovtama HDT Rig Map.rar 2
blabba Posted March 10, 2014 Author Posted March 10, 2014 JFF Guide 1: Getting Started: This guide is geared towards beginners getting setup with the Just For Fun (JFF) Tool to tweak settings for their character Step 1: Download the JFF tool from LL here, or download from Baidu. (Optional) Step 2: If you cannot run JFF or missing .dll error comes up, make sure you have the latest version of Microsoft's C++ Libraries Step 3: Load up JFF tool by double clicking hdtHavokModifier.exe Step 4: Click the Load button and navigate to and select the .xml file you want to edit A. If editing bounce, typically the name of the file is hdtPhysicsExtensionsDefaultBBP.xml B. If editing collision, typically the name of the file is hdt.xml (for males it is called hdtm.xml) C. If using an 'All-in-One' then step A also loads up the collision as well as bounce data (only for females, see step B for males). JFF Guide 2: Generic Properties: The purpose of this guide is to get you familiar with the feilds within the first two boxes of JFF. Step 1: Double click on which Object you would like to edit. Step 2: The Name Field should match the skeleton.nif/skeleton_female.nif bone name word for word. Step 3: The Motion Type field tells the program how to handle the object A. Motion Dynamic - The Object will be controlled exclusively by Havok Physics Data (Unknown Effect) B. Motion Sphere Inertia - The Object will adopt the physical properties of a sphere and be controlled by Havok Physics Data (Sphere Physics) C. Motion Box Inertia - The Object will adopt the physical properties of a box and be controlled by Havok Physics Data (Cuboid Physics) D. Motion Keyframed - The Object will follow normal animation path and should not make use of Physics Data E. Motion Fixed - The Object is fixed and does not move via animation or physics data F. Motion Thin Box Inertia - The Object adopts the physical properties of a 'Thin Box' (Unsure of what physics equations used) G. Motion Character - (Unknown Effect) Step 4: Friction Constant to be used in friction equations depending on which Motion Type you chose. This field effects how much of a 'Drag' effect you see. A. If using Fixed or Keyframed this field only applies in collision equations and effects the property of the Physics enabled object (IE: The hand touching the breasts, the breasts will be affected by the hands friction) Step 5: Restitution field refers to how Elastic or Inelastic collisions will be. Value of 1 is completely Elastic and Value of 0 is completely Inelastic. A. If using Fixed or Keyframed Objects, then during collision this field will only effect the other object visually that uses the Physics Data JFF Guide 3: Advanced Properties: This guide will focus on the details of the advanced property box in JFF and tell what they affect. Step 1: Linear Damping refers to how much linear movement is 'lost' after the first 'bounce' or movement of the object. Value of 1 means virtually no consecutive movements. Value of 0 means no movement loss on consecutive 'bounces'. It is tied to the linear constraint limits. Step 2: Angular Damping refers to how much rotational movement is 'lost' after the first 'bounce' or movement of the object. Value of 1 means virtually no consecutive movements. Value of 0 means no movement loss. It is tied to the angular constraint limits. Step 3: Gravity Factor refers to how much the world's gravity amount affects the object. In HDT physics world, gravity is set to 9.8 exactly. Any values are possible. Step 4: Time Factor refers to the ΔT of the physics engine's Impulse calculation. In layman's terms it can speed up or slowdown movement as well as collision effects (while also altering how accurate the collisions are). JFF Guide 4: Mass Properties: This guide will focus on the details of the Mass properties box in JFF and tell what they affect. Step 1: Mass(kg) refers to the assigned mass of the virtual object. Changing this value will affect movement. Reserved post for the modder's guides/resources If your wondering why this thread is half-assed currently, it's because I'm still working on it Thank You very much. Need to update links for all credited people first and work on how best to make end user install guides with gifs and all that, so please be patient and bear with me 2
dje34 Posted March 11, 2014 Posted March 11, 2014 Many thanks for this, blabba ! Keep up the good tutoring !
Caro Posted March 18, 2014 Posted March 18, 2014 when tweaking these HDT settings, what is the best way to test them. Loading up the game etc takes a while just to test a small change. Is there a recommended way to optimize the workflow?
blabba Posted March 18, 2014 Author Posted March 18, 2014 when tweaking these HDT settings, what is the best way to test them. Loading up the game etc takes a while just to test a small change. Is there a recommended way to optimize the workflow? Quitting to main menu and re-loading the save usually works for me. Or moving into a new cell. There's a few other ways I'll write about as well when I get the time.
Monsto Brukes Posted March 19, 2014 Posted March 19, 2014 Added to the News and Info post Tutorial section as an In-Depth Guide. Thanks man. Nice job. [edit] oh btw . . . that "Latest" download link will always be valid. I decided that changing the one post will be better for posterior because links to "Latest" will never b
Monsto Brukes Posted March 19, 2014 Posted March 19, 2014 OH BTW... might add this to the terms: Bounce Kit: The hdtPhysicsExtensionsDefaultBBP.xml file. This can be changed via the JFF (Just For Fun) program to build a physics profile for a particular mesh, whether body, hair, cape, etc.
blabba Posted March 19, 2014 Author Posted March 19, 2014 OH BTW... might add this to the terms: Bounce Kit: The hdtPhysicsExtensionsDefaultBBP.xml file. This can be changed via the JFF (Just For Fun) program to build a physics profile for a particular mesh, whether body, hair, cape, etc. Thanks, and added Let me know if any other terms/corrections or anything else needs to be added (aside from the obvious WIP guides/pics I'll need to add to after I finish my Unibody Project )
Kathonica Posted March 20, 2014 Posted March 20, 2014 Ooh, another Blabba tutorial. You got me working with Outfit Studio with your last one; what kind of trouble are you going to get me into this time? *reads*
useronsite Posted March 23, 2014 Posted March 23, 2014 In JFF, does anyone know if there's a way to effect duration? Like when coming to a stop after movement and the parts jiggle. Is there a way to effect how long after stopping that they'll continue moving before coming to a total stop?
b00marrows Posted March 23, 2014 Posted March 23, 2014 In JFF, does anyone know if there's a way to effect duration? Like when coming to a stop after movement and the parts jiggle. Is there a way to effect how long after stopping that they'll continue moving before coming to a total stop? hmm... not 100% sure but: Linear dampening + angular dampening = how quickly the bouncing ends.... hard to explain...reduces the time it takes to stop bouncing (lower=slower) Time factor = the speed the selected rigdibodies works at 1=normal 0.1 = slow motion
useronsite Posted March 24, 2014 Posted March 24, 2014 In JFF, does anyone know if there's a way to effect duration? Like when coming to a stop after movement and the parts jiggle. Is there a way to effect how long after stopping that they'll continue moving before coming to a total stop? hmm... not 100% sure but: Linear dampening + angular dampening = how quickly the bouncing ends.... hard to explain...reduces the time it takes to stop bouncing (lower=slower) Time factor = the speed the selected rigdibodies works at 1=normal 0.1 = slow motion Thanks a lot. Its not perfect of course, but changes to those helped a load
blabba Posted April 18, 2014 Author Posted April 18, 2014 Updated guide 3, will be picking up this guide thread again and adding more details/links for now. My other projects are unfortunately at a stand still for now due to things out of my control
Dubhorizon Posted April 28, 2014 Posted April 28, 2014 Thank you kind sir, erm orange for the awesome HDT body and for these awesome guides! Especially the jff helped me alot! To show my gratitude, I made the following video for you and everyone who wants to be motivatd to read the guide and tweak their characters. http://www.naughtymachinima.com/video/9452/succuborn-with-hdt-body-hair-piercings-and-collision
ratbag Posted May 26, 2014 Posted May 26, 2014 Did anyone work out the point of impact? I've got a pretty good belly distortion in the works, but the penis always seems to hit way too forward of actual mesh?
Vulgar1 Posted May 28, 2014 Posted May 28, 2014 Can you elaborate or expand on the optional steps 3 - 5. TIA.
blabba Posted May 28, 2014 Author Posted May 28, 2014 Can you elaborate or expand on the optional steps 3 - 5. TIA. Which guide?
Bihlbo Posted June 13, 2014 Posted June 13, 2014 What does "drag" mean in the final outcome? Does friction only affect collision or is that also modeling air friction? If it's the former and not the latter then I would expect a moving object (a flag, let's say) would not be distorted by movement, only whatever inertia the mass lets it have, but if friction creates a sense of drag then the moving flag would constantly flap even after inertia bled off. Or, am I off-base and friction only affects whether the flag would flow over a hand like water, or flow over a hand like a piece of cloth being lightly tugged by the friction of the object touching it? I would sure like some more elaboration on "Changing [mass] will affect movement." In what way? What's the center of mass do, and the inertia tensor? What is the orientation of each axis when looking at an object, and if it can't be obvious (for instance, an earring) how can you determine that? How much mass is "lots" or is there some sort of way to tell how a change to mass will affect an object? Is mass all relative, or does a 10-ton dress basically not move when the wearer does?
blabba Posted June 13, 2014 Author Posted June 13, 2014 What does "drag" mean in the final outcome? Does friction only affect collision or is that also modeling air friction? If it's the former and not the latter then I would expect a moving object (a flag, let's say) would not be distorted by movement, only whatever inertia the mass lets it have, but if friction creates a sense of drag then the moving flag would constantly flap even after inertia bled off. Or, am I off-base and friction only affects whether the flag would flow over a hand like water, or flow over a hand like a piece of cloth being lightly tugged by the friction of the object touching it? I would sure like some more elaboration on "Changing [mass] will affect movement." In what way? What's the center of mass do, and the inertia tensor? What is the orientation of each axis when looking at an object, and if it can't be obvious (for instance, an earring) how can you determine that? How much mass is "lots" or is there some sort of way to tell how a change to mass will affect an object? Is mass all relative, or does a 10-ton dress basically not move when the wearer does? In terms of HDT, friction only refers to how one collision object interacts with another. The HDT physics world (in this case) doesn't have 'air'. Changing mass will effect movement in that, virtually all physics equations require a mass. Depending on the calculations, and the the constraint limits as well as other factors, the difference might be a lot or not. It's required for this value to be greater than 0 if you want to see any movement though (otherwise you would the physics calculations and end up with a static object) Inertia tensors do exactly as what they state, the y control the inertia amounts in the various directions, I feel like I posted a wiki link explaining how it works. I found out that trying to figure out the orientation of each axis manually in JFF is impossible. As the xml's do not store bone pivots. All I can say is, you'd need to load up the mesh in 3dsMax or Blender, select the bone, and see which way the pivot point is facing. Mass is relative to all the other constraints and limits.
foreveraloneguy Posted June 17, 2014 Posted June 17, 2014 If I may, I would like one simple tutorial; what do each of the axes correspond to? I know it's Cartesian, but the alignment is not from the front it would seem. Or maybe it is, and I'm missing it. So I'm looking for a simple x=?, y=?, z=? explanation. In other words, at the level of "increase x for more front/back bounce", etc.
blabba Posted June 17, 2014 Author Posted June 17, 2014 If I may, I would like one simple tutorial; what do each of the axes correspond to? I know it's Cartesian, but the alignment is not from the front it would seem. Or maybe it is, and I'm missing it. So I'm looking for a simple x=?, y=?, z=? explanation. In other words, at the level of "increase x for more front/back bounce", etc. Which is virtually impossible for me to tell you because the axis can be pointing any which way depending on how the original author rotated and moved the pivot of the object. Now usually, the pivot is facing the same way as the bone's in nifskope and dependant on the constraint type.Maybe Daiemonic or CLP2011 might know for the default BBP .xml on which way the pivots are pointing.
foreveraloneguy Posted June 18, 2014 Posted June 18, 2014 To clarify a bit, I'm just looking for bodies. Are you saying that, for example, the breast and prebreast bones can have pivots in multiple directions?
blabba Posted June 18, 2014 Author Posted June 18, 2014 To clarify a bit, I'm just looking for bodies. Are you saying that, for example, the breast and prebreast bones can have pivots in multiple directions? They can be any which way yes, If I remember correctly though, the stuff for breasts was standard math coordinate system. So, Z is up/down, X is right/left, and Y is in/out. Though this could be different per file or skeleton. To be 100% sure just look up the bone pivot axis on the skeletonfemale.nif and it'll follow those directions.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now