Reference model: Difference between revisions
Jump to navigation
Jump to search
Tip:See SMD file format for exactly how this data is stored in each "Studio Model Data" file.
mNo edit summary |
m (→Reference.smd) |
||
Line 28: | Line 28: | ||
== Reference.smd == | == Reference.smd == | ||
* The Reference.smd is traditionally named <code>"modelname_ref.smd"</code>. | * The Reference.smd is traditionally named <code>"modelname_ref.smd"</code>. | ||
* It defines the model's Reference Skeleton and its "default" 3D Rendering Geometry: | * It defines the model's [http://en.wikipedia.org/wiki/Frame_of_reference Reference] Skeleton and its "default" 3D Rendering Geometry: | ||
** <!--smd|nodes & skeleton-->The '''Reference Skeleton''' is the key for all of the model's geometry: vertex data for the render mesh, sub meshes, collisionmodel, hitboxset, attachments, animations, gibs, etc. all ''reference'' the skeleton. <!--so be careful with [[$lod]] bone modification!--> | ** <!--smd|nodes & skeleton-->The '''Reference Skeleton''' is the key for all of the model's geometry: vertex data for the render mesh, sub meshes, collisionmodel, hitboxset, attachments, animations, gibs, etc. all ''reference'' the skeleton. <!--so be careful with [[$lod]] bone modification!--> | ||
<!--The '''Default Pose''' is used when no animation or vphysics is applied to the skeleton.--> | <!--The '''Default Pose''' is used when no animation or vphysics is applied to the skeleton.--> |
Revision as of 17:18, 5 May 2008

This page is actively undergoing a major edit.
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.
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.
The plan is to break out this stuff when it's finished. --Beeswax 19:08, 1 May 2008 (PDT)
Compiling a Model
probable destination for this section is an introduction to Compiling models for Source. 3rd party MDL compilers often provide a different GUI to the QC file than StudioMDL, so a checklist of "things you should already have done" would be relevant to all MDL compiler docs. It includes model anatomy/glossary definitions for #REDIRECTs ?
Reference.smd
- The Reference.smd is traditionally named
"modelname_ref.smd"
. - It defines the model's Reference Skeleton and its "default" 3D Rendering Geometry:
- The Reference Skeleton is the key for all of the model's geometry: vertex data for the render mesh, sub meshes, collisionmodel, hitboxset, attachments, animations, gibs, etc. all reference the skeleton.
- The Reference Mesh is the "main body" (as opposed to $bodygroup sub-meshes) of the Render Model. The Reference Mesh's Skinning data also defines the filename(s) of the model's Default Skin(s).
- Notably, the reference.smd does not contain the model's
- Physics geometry (collision & hitboxes)
- Skin files
- LOD meshes & skins
- Optional meshes & skins
- Animations
- Game settings (QC /StudioMDL parameters)

Submesh.smd
"submeshname_sub1.smd"
,"modelname_ref_sub1.smd"
or"modelname_hat_ref.smd"
.- defines a rendered submesh which may be added to the default mesh via $bodygroups. Submeshes cannot be included in the reference.smd.
- includes: ref-skeleton, defines: mesh (ie: skinname, uvmap, envelope & weightmap data)
- submesh.smd must be enveloped to the ref-skeleton ...
LOD.smd
"lod1_modelname_ref.smd"
,"lod1_modelname_sub1.smd"
.- LOD Models are simplified versions of renderable meshes. each requires its own smd, and are compiled into VVD/VTX of main model via the $lod configuration.
- the convention is to prefix the modelname "lod#_". The ref and sub.smds are effectively lod0_modelname_ref.smd, lod0_modelname_sub.smd,
- includes: ref-skeleton, defines: mesh geometry (ie: coords, smoothing, skinname, uvmap, envelope & weightmap data)
Physics.smd
- The Physics.smd is traditionally named
"bodymeshname_phy.smd"
. _physmodel.smd or _physbox.smd - defines the hull geometry, envelope and smoothing group data for the collisionmodel. incl ref-skeleton.
- includes the ref-skeleton and defines: hull geometry(s) (ie: vertex coords, normals, & envelope data)
- Because hulls are rigid and not rendered, they don't use any UVmap or weightmap data.
- Each hull must be a convex shape ie somewhere between a sphere and a box. Overlapping/intersecting multiple hulls are used to create ($concave) models.
- Rigid collisionmodels ($collisionmodel) envelope all hulls to the same bone.
- Jointed collisionmodels ($collisionjoints) envelope some hulls to different bones.
Hitbox.smd
Confirm:not compiled by StudioMDL, but opened in text editor for hitbox vertex coordinates?
- not rendered, simple collision = simple box geometry
Animation.smd
- Each Animation.smd is traditionally named
"sequencename.smd"
. - includes the ref-skeleton and defines a keyframed sequence of skeletal poses.
- $sequence "idle" "modelname_idle.smd"
- $sequence "ragdoll" "ragdoll.smd" ACT_DIERAGDOLL 1 fps 30.00
- $includemodel includes an AnimationLibrary.mdl