Jump to content

HDT for Dummies? A tutorial someplace?


chajapa

Recommended Posts

I googled. I searched here. The only tutorial reference I found was an old one from a site that apparently no longer exists.

 

Setup:

I'm using the 10-24 stable, the HDT body (7B Bombshell beta v4), Groovtama's skeleton, and the big hdtPhysicsExtensionsDefaultBBP.xml by Stevierage... actually it's the one edited for the HDT all-in-one for the HDT body. 

 

HDT works and I can swap out some nifs and collisions work as well. So I can get it to work, BUT..... what if I want to edit how much that breast bounces?

 

I have JFF and NifScope.

 

What if I just want to loosen the bounce a bit?

I've seen terms like "make the inertia tensors more loose". Does that mean make the inertia tensors numbers LOWER?

 

"Shorten the linear constraints to force more after-bounce". "After-bounce" = jiggle? What linear constraints are we talking about here? In Constraints I see breast->preBreast with angular and linear constraint numbers. Is that what we're talking about here? :)

 

"Speed up the time frame" for.....what? More bounce? Is that the time factor number below the gravity factor? 

 

What if I want the breast to have more.... swing? When it moves up and down I want a longer arc. 

 

Finally... while messing with this I've made some pretty large changes and saw little to no change. I have a save game that I test on. I quit to desktop, make a change, start the game and start that save. Do I need to do anything else? I can see in the log that it's loading the xml. I've tried changing cells and still not seeing dramatic changes. 

 

I know this is a lot, but my very first attempts at editing an existing xml went great! Now.... I'm not seeing the changes I expect. If AAA.xml has the breast bounce I'm after, and I copy the breast parameters into BBB.xml, I expect to see the breast move like it does when using AAA.xml. The Constraints appear to be the same (I looked) so it SHOULD be a matter of the numbers on that one "page" in JFF (General Properties, Advanced Properties, Mass...) right?

 

ALL help is appreciated as I try to get my head around this. 

Thanks

Link to comment

This question has been asked countless times and countless people have answered various ways:

http://www.loverslab.com/topic/25482-setup-step-by-step-setup-basics-for-hdt-physics-extension/

 

Some users have stated that they will post a more detailed guide when time permits. Then it either never happens or people forget or something major changes.

Here's the best answer I've come across provided by StevieRage as to why no one is going to document how to do things in HDT yet:

http://www.loverslab.com/topic/25482-setup-step-by-step-setup-basics-for-hdt-physics-extension/?p=695107

Link to comment

Same issues I have sadly, no-one ever seemed to explain anything specificly in any way.

JFF is an amazing program and dose exactly what its made for, customising the bounce (and collision but that's limited right now)

 

now ill take a quick look at JFF and try to explain what each feature dose, but remember most/all of this is from experementation so it might not be right.

 

​Generic properties:

Name:

the name of which bone this specific set of details will effect

Motion Type:

The type of object it is, this is very complicated and i have barely touched this.

 >keyframes are like hooks tat hold everything together.

 >all the others are different types but i have barely scratched the surface of what they can do.

Friction:

 this is what govourns the specfic objects interation with "the outside" (I don't know much about it)

Restitution:

no idea what so ever.

 

Advanced Properties

liner Dampening:

unsure, think its the effect that "slows down/weakens" up and down bounce

Angular Dampening:

unsure, think its the effect that "slows down/weakens" left and right bounce

Gravity Factor:

weight/downwards force multiplier i think

Time Factor:

speed of which all effects "run" higher for quicker bounce with shorter effect, lower for slower bounce with longer effect

 

Mass Properties:

Mass:

weight/downwards force of object

Center of Mass:

depicts the placement of the center of the object (I have never had a reason to change this, and I really cant think of one right now...)

Inertia Tensor:

i have no clue.....

 

Collisions:

Shape:

the shape of the object when colliding with other objects. (hard to do, I got nothing...)

GroupID:

This is what defines what the object is considered as when colliding with other objects. allowing for the next one to work.

No Collide With:

this is the "collision control" section, i have no experience with using this so i cant tell you anything

 

 

That's all I can help you with for now as it s all i know. hope it helps!

Link to comment

O.o

 

to add to b00marrows post:

 

Motion Type:

Keyframe = Physics data to be pulled from an animated object

Others = The stuff with hkpsphere and stuff is that the way most game physics engines work is by simplifying a complex object down to a simple object and giving it the properties of the simple object. Breasts = Spheres (or Capsules) etc...

 

restitution = How elastic the collision effects are, 1 being completely elastic, http://en.wikipedia.org/wiki/Coefficient_of_restitution

 

Linear & Angular Damping = Relate to how much 'momentum' is lost in the respective field, these directly relate to the linear and Angular constraints, http://forums.coronalabs.com/topic/36543-angular-damping-and-linear-damping/

 

Inertia Tensor = Controls inertia... I'm not exactly sure how the calculation goes for these (I've been out of college physics for awhile now...) but I think lower numbers 'tighten' overall movement, and higher numbers 'loosen' movement? <--- Not 100% sure

 

Collisions: Yoo's got a VERY Excellent guide about this:http://www.loverslab.com/topic/27118-collision-filters-and-you/

 

Any other values are directly related to their physics counterpart (physics engine....) so just google those physics terms and up and you'll get corresponding formula which is for the most part what the engine uses.

Link to comment

Constraints:

 

Ball and Socket:

The ball and socket constraint is the simplest type of constraint provided by the Havok Content Tools. At runtime, this constrains the child space position in the child rigid body to the parent space position in the parent rigid body / world.

 

TLDR: You lock a rigid body to a parent and the child will move in every way.

 

 

Hinge:

The hinge constraint allows you to constrain two rigid bodies together relative to a position and axis in each body's space, or to constrain an axis in one body's space to an axis in world space. The constrained objects are then free to rotate about this axis. The allowed rotation between the attached objects may also be limited. This limit is defined with respect to an axis perpendicular to the hinge axis (the zero-axis) for each body. These sets of axes are defined by the child and parent constraint spaces.

 

TLDR: Its a hinge, not too much to explain. But, you can limit how much it moves

 

This is a HINGE

 

LIMITED HINGE

 

Ragdoll (the secret behind fake Cloth and Hair):

Rag doll constraints are useful for simulate complex joints, such as those found in some human and animal joints (shoulders, hips). These joints may require some freedom of rotation in more than one axis, as well as some ability to twist.

 

Like the other constraints we have seen so far, this one constrains the child space position in the child rigid body to the parent space position in the parent rigid body / world. However the rotational constraints have a somewhat complex parametrization which requires some additional explanation.

 

The parameters are:

Cone angle: The amount of freedom

Plane Max - Min: Think about it like a hinge inside the ragdoll. But the respective max values are limited to the cone angle.

And the twists values: How much it twists from -180° to 180°

 

 

Stiff spring (the secret behind cloth pulling mechanics)

 

The stiff spring constraint constrains the child space position in the child rigid body to lie a set distance from the parent space position in the parent rigid body (as if they were connected by an inflexible rod). As in the ball and socket constraint, there is no constraint on the child or parent space rotation.

 

TLDR: if a parent rigid body moves. The child will follow.

 

 

 

Prismatic Constraint (like in "The Dark Side of the Moon") (also usefull for bulge effects):

 

The prismatic constraint constrains the child rigid body to move along a specified axis relative to the parent body by specified distances in each direction (or if not specified, by an unlimited distance).

 

Mostly used for sliding but you can add an extra layer of control to a ragdoll chain assigning this constraint to the end of it.

 

 

Wheel Constraint: Its a wheel... how much could I say?

 

The wheel constraint constrains the child rigid body to rotate about a specified "spinning" axis relative to the parent body, and optionally to translate along a specified "suspension" axis for specified distances in each direction. The "steering" axis is by default aligned with the suspension axis, but may be offset relative to the suspension axis by a specified rotation angle about the spinning axis.

 

TLRD: Its a wheel... how much could I say?

 

what if I want to edit how much that breast bounces?

 

 

 

Meh... I wasted my time... Yoo have to read the OP before posting... silly Yoo, go back to your cave.

Link to comment

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

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

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use