Jump to content

3D Junk

  • entries
    3
  • comments
    7
  • views
    1,407

Basic terminology


canderes

553 views

Let's start off with some simple terminology. This should be the bare minimum vocabulary you should know before learning any software for skyrim/oblivion/fallout. Understanding these will make it easier to communicate with others/read tutorials or documentation even if it isn't for this game or program.

 

 

Object/Node/Reference

An object that has a location in 3d space.

 

objects.jpg

 

There are many types/classes of object. In the above picture we have a box (polygonal/mesh objects), two bones (bone/joint objects), and two rigid bodies (RB).

-------------------------------------------------------------------------------------------------------------------------

Hierarchy

A collection of two or more objects linked together to form a complex system. This has a structure like that of a family tree. The objects being linked in a scene are children, and the objects being linked to are the parents. The children will inherit translation, rotation, and scale from the parent. Human skeletons and solar systems are good examples of this.

 

The center of mass (COM) is usually the parent with the most control in a skeleton, in Skyrim it is NPC COM [COM]. if COM is linked to anything else it is usually linked to an object acting as marker for the floor, NPC Root [Root] marks the point where the feet touch the ground and moving it will move all of its children as well. If an object does not have a parent, then it is the root of a hierarchy. To clear up confusion for when there is no parent for a root you can pretend that the root objects are linked to an object such as "world" or "space".

 

skeleton_hierarchy.jpg

 

In the above image NPC and CharacterBumper are both roots. NPC Pelvis [Pelv] and NPC Spine [spn0] are both children of NPC COM [COM]. NPC Root [Root] is the parent of NPC COM [COM].

 

Have caution when scaling objects in a hierarchy - when you scale an object in a hierarchy all of its children will inherit the scale too. Avoid scaling to stop things like this from happening:

 

ScreenShot3_zps95fa2290.png

 

In the image above the scale of the finger bones does not match the scale of the hand bones.

 

The plugin to load .nifs (file that holds model data) in 3ds max imports distorted bones, so some objects are improperly scaled. Later when I put something up for the bone tools I will show you how to reset the scale and fix it for existing animations.

-------------------------------------------------------------------------------------------------------------------------

Bone/Joint

Objects in space used to create a hinge. How the bone looks is unimportant, but the pivot and position of a bone are critical for a joint to behave correctly. Anything can be used as a bone since all you need is a hierarchy to create a joint, but use bone objects for now. Later we will see how a cleaner hierarchy can be made with other types of objects to make animating easier.

-------------------------------------------------------------------------------------------------------------------------

Skeleton

A hierarchy of bones. IK solvers can be added to a skeleton to animate using control points. IK solvers link bones in a way that allows them to bend and twist like knees and elbows. In a hierarchy the starting point of an IK controller is a child object and the end of the IK controller is the parent.

 

Moving the parent bone/end of IK joint in a skeleton will move the rest of the rig, but the point at the child/start of the IK joint stays planted. Imagine someone locked to the bindings of a snowboard, you can pull them up by the waist but their feet stay planted on the board.

 

leg_ik.jpgparent_moved.jpg

 

In this example the IK solver starts at the foot and ends at the thigh. The parent of the joint is the thigh or anything thigh is a child of. If we were to move thigh (or pelvis, COM, root...) in this case, the starting point at the foot wouldn't move but the joint would lock up.

-------------------------------------------------------------------------------------------------------------------------

Rigid body/RB

An object that can be used in collisions. For a rigid body to work it must have a shape/mesh and be of the rigid body class/type

 

com_rb.jpg

Here a capsule (TaperCapsule) is used as the mesh, the shape wrapping around it for collision is set to capsule, and it has a rigid body modifier added to it to specify mass, and quality type. Quality type is a marker that tells Havok if the rigid body just follows a bone (Keyframed), or if it moves and can collide with other rigid bodies (Debris).

-------------------------------------------------------------------------------------------------------------------------

Constraint

A relationship between two rigid bodies that is used to limit translation/rotation. Constraints use a hierarchy to determine which objects can move and what movement is allowed relative to a RB. Rigid bodies must be placed in a hierarchy before they can be used with a constraint.

 

ragdoll_constraint.jpg

In this image NPC Spine 2 is the child of NPC spine 1, and the cone area shown is the allowed area for NPC Spine 2 to move in. The green arrow is the parent (NPC Spine 1) of the constraint, meaning that the constraint will always stay planted on NPC Spine 1 and point towards the front of the chest, and the red arrow is where the child (NPC Spine 2) will begin moving from.

-------------------------------------------------------------------------------------------------------------------------

Ragdoll

A skeleton made up of rigid bodies. A regular skeleton is driven by keyframe animations made by someone or motion captured. A ragdoll uses constraints and other properties to simulate collisions of complex systems.

 

actor_and_dog.png

Dead actors, static objects, use ragdolls to for realtime movement/collisions. New limbs can be created/added to a ragdoll to simulate moving cloth, and add jiggle.

-------------------------------------------------------------------------------------------------------------------------

Property

A trait given or provided by an object. Actors have a race, rigid bodies have mass, boxes have length width and height... Some properties apply to all objects (name, position, scale), others are only listed for a specific type of object (race, age, mass).

 

max_properties.jpg

 

There are properties everywhere, so don't expect them to be specific to the game only. Very few are used in 3ds max (to describe rigid bodies, constraints, bones, materials), but there are many that can be changed. The ones used for scripting usually just hold a value (for quests and triggers: doors, kills, picked up objects) that the game checks until an event is met. In the picture the properties for NPC Spine 2 are listed. The $ symbol is used to act on the selected object in the viewport. Scripting makes creating new skeletons easy and rebuilding old ones fast.

-------------------------------------------------------------------------------------------------------------------------

Event

A set of actions triggered/activated by certain conditions being met. Properties can hold values that are changed by the game, and when the values meet conditions set by the game/scripter they can cause other events or change other properties to cause something in the game. Havok uses events to sort through animations in special conditions, like killmoves and paired animations.

-------------------------------------------------------------------------------------------------------------------------

Behavior

A collection of properties and events that interact to change something in the game. Scripting/programming can control events in the game, and Havok itself has a behavior system used to translate/trigger animations.

-------------------------------------------------------------------------------------------------------------------------

Keyframe(s)/Keyframe animation

A collection of positions/rotations/scales for an object, or hierarchy in single frame. Idle animations are created by rotating and moving bones for multiple frames. Avoid scaling an object in a hierarchy during an animation because the children of that object will also be affected.

0 Comments


Recommended Comments

There are no comments to display.

×
×
  • 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