Skeleton: Difference between revisions
No edit summary |
m (WIP) |
||
Line 2: | Line 2: | ||
{{todo|cleanup & clarify ... WIP}} | {{todo|cleanup & clarify ... WIP}} | ||
A model's [[Skeleton]] is sometimes called the model's ''Rig'' or ''Bonetree''. Every model in Source must have a Skeleton, even if it is just a single, invisible "bone". A Model's Skeleton is the reference framework for all of the model's [[vertex geometry]]<!-- 3D coordinates, normals, etc -->, and it is the Skeleton's "rootbone" that locates the model's geometry to the [[Model Entity]]'s position and orientation in the World. | |||
A [[Model]]'s Rendered '''[[Skin]]''' is ''[[UV|projected]]'' over the '''[[Mesh]]''' which ''[[enveloped|envelopes]]'' the '''[[Skeleton]]'''. | |||
A skeleton must have: | |||
* a rootbone. | |||
== Skeleton Types == | |||
There is one huge difference between just 2 types of skeleton : [[Rigid]] and [[NotRigid]]. | |||
=== [[Rigid]] Skeleton=== | |||
Most models in source have [[Rigid Skeleton]]s, which means they may change position and orientation, but the may not articulate - none of their 'internal' geometry can change. Happily, a Rigid Skeleton is so simple and easy to configure automatically that it is often overlooked. .... | |||
* [[Rootbone]] ... [[$rootbone]] ... [[$origin]] | |||
* prop_static, prop_physics, item, w_weapon, | |||
// eg: a "default" skeleton : | // eg: a "default" skeleton : | ||
version 1 | version 1 | ||
Line 18: | Line 26: | ||
end | end | ||
triangles | triangles | ||
... | // ... | ||
* | === [[NotRigid]] Skeleton=== | ||
** bonename (see also [[SMD#nodes]]) | only when the Skeleton has more than one bone can it have a joint to articulate. ... | ||
* prop_ragdoll : passive/physics ... [[$collisionjoints]] | |||
* prop_dynamic : active/animated ... see [[skeletal animation]] | |||
** machine model | |||
** character model (rigid npc: [[npc_rollermine]],...) | |||
** viewmodel | |||
== [[Bone hierarchy]] (summary) == | |||
* Entity Worldposition | |||
** [[$origin]] offset to [[rootbone]] ... [[$rootbone]] | |||
*** [[bonetree]] ... [[$bonetree]] ... [[$lod|bonetreecollapse]], [[$lod|replacebone]], | |||
**** [[bonename]] (see also [[SMD#nodes]]) | |||
** bones & joints (see also [[SMD#skeleton]]) | ** bones & joints (see also [[SMD#skeleton]]) | ||
** [[attachment]] points & sub-models | |||
*** [[movement hierarchy]] | |||
==Rigging== | |||
* {{todo|#REDIRECTS here:}} | |||
** [[rigged]] | |||
** [[rigging]] | |||
** [[rig]] & ... ? | |||
*** [[deformer]] [[deformation]] | |||
*** [[bone weight]]s [[$weightlist]] | |||
*** [[Enveloping]] deformable [[Mesh]], [[Weightmap]] | |||
== [[Vertex geometry]] == | |||
{{todo|probably move this section out to its own page ?}} | |||
Origin : Every game entity that can move has an origin. Every game entity that has non-brush geometry has an origin. All brush vertex geometry is related to the map origin = [[worldspawn]] entity. --> |
Revision as of 13:53, 3 May 2008

As a courtesy, please do not edit this while this message is displayed.
If this page has not been edited for at least several hours to a few days, please remove this template. This message is intended to help reduce edit conflicts; please remove it between editing sessions to allow others to edit the page.
The person who added this notice will be listed in its edit history should you wish to contact them.
A model's Skeleton is sometimes called the model's Rig or Bonetree. Every model in Source must have a Skeleton, even if it is just a single, invisible "bone". A Model's Skeleton is the reference framework for all of the model's vertex geometry, and it is the Skeleton's "rootbone" that locates the model's geometry to the Model Entity's position and orientation in the World.
A Model's Rendered Skin is projected over the Mesh which envelopes the Skeleton.
A skeleton must have:
- a rootbone.
Skeleton Types
There is one huge difference between just 2 types of skeleton : Rigid and NotRigid.
Rigid Skeleton
Most models in source have Rigid Skeletons, which means they may change position and orientation, but the may not articulate - none of their 'internal' geometry can change. Happily, a Rigid Skeleton is so simple and easy to configure automatically that it is often overlooked. ....
// eg: a "default" skeleton : version 1 nodes 0 "static_prop" -1 end skeleton time 0 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 end triangles // ...
NotRigid Skeleton
only when the Skeleton has more than one bone can it have a joint to articulate. ...
- prop_ragdoll : passive/physics ... $collisionjoints
- prop_dynamic : active/animated ... see skeletal animation
- machine model
- character model (rigid npc: npc_rollermine,...)
- viewmodel
Bone hierarchy (summary)
- Entity Worldposition
- $origin offset to rootbone ... $rootbone
- bonetree ... $bonetree ... bonetreecollapse, replacebone,
- bones & joints (see also SMD#skeleton)
- attachment points & sub-models
- $origin offset to rootbone ... $rootbone
Rigging
- Todo: #REDIRECTS here:
- rigged
- rigging
- rig & ... ?
- deformer deformation
- bone weights $weightlist
- Enveloping deformable Mesh, Weightmap
Vertex geometry
Origin : Every game entity that can move has an origin. Every game entity that has non-brush geometry has an origin. All brush vertex geometry is related to the map origin = worldspawn entity. -->