This article's documentation is for anything that uses the Source engine. Click here for more information.

$bonesaveframe: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
($bonesaveframe)
 
m (Fix first line to improve legibility & improved several lines.)
Line 1: Line 1:
When using demand loaded animations (see [[$animblocksize]]) and asynchronous loading is enabled in the engine, the first frame of every animation is stored in a highly compressed form that the animation system will use that while waiting for the real data to show up, rather than just using the models reference pose.
{{LanguageBar}}
 
{{this is a|QC command|name=$sectionframes}} When using demand loaded animations (see [[$animblocksize]] and [[$sectionframes]]) and asynchronous loading is enabled in the engine, the first frame of every animation is stored in a highly compressed form that the animation system will use while waiting for the real data to show up. By default, all bones are written out in their entirety, but this is sometimes wasteful as not all bones need to both rotate & translate. This command allows you to specify which information is actually stored, in this case.
By default, all bones are written out. To better control which bones are written and what data is included, use <code>$bonesaveframe</code>


== Syntax ==
== Syntax ==
Line 35: Line 34:
  $BoneSaveFrame "Dog_Model.Hand_R_Drill" rotation
  $BoneSaveFrame "Dog_Model.Hand_R_Drill" rotation
  $BoneSaveFrame "Dog_Model.forward" rotation
  $BoneSaveFrame "Dog_Model.forward" rotation
== See also ==
* [[$animblocksize]]
* [[$sectionframes]]


[[Category:QC Commands|bonesaveframe]]__NOTOC__
[[Category:QC Commands|bonesaveframe]]__NOTOC__

Revision as of 16:32, 14 July 2024

English (en)Translate (Translate)

$sectionframes is a QC command available in all Source Source games. When using demand loaded animations (see $animblocksize and $sectionframes) and asynchronous loading is enabled in the engine, the first frame of every animation is stored in a highly compressed form that the animation system will use while waiting for the real data to show up. By default, all bones are written out in their entirety, but this is sometimes wasteful as not all bones need to both rotate & translate. This command allows you to specify which information is actually stored, in this case.

Syntax

$bonesaveframe <bone name> ["position"] ["rotation"]

Example

$BoneSaveFrame "Dog_Model.Pelvis" position rotation
$BoneSaveFrame "Dog_Model.Leg1_L" rotation
$BoneSaveFrame "Dog_Model.Leg2_L" rotation
$BoneSaveFrame "Dog_Model.Foot_L" rotation
$BoneSaveFrame "Dog_Model.Leg1_R" rotation
$BoneSaveFrame "Dog_Model.Leg2_R" rotation
$BoneSaveFrame "Dog_Model.Foot_R" rotation
$BoneSaveFrame "Dog_Model.Spine1" rotation
$BoneSaveFrame "Dog_Model.Spine2" rotation
$BoneSaveFrame "Dog_Model.Spine3" rotation
$BoneSaveFrame "Dog_Model.Neck1" rotation
$BoneSaveFrame "Dog_Model.Neck1_Length" rotation
$BoneSaveFrame "Dog_Model.Neck2" rotation
$BoneSaveFrame "Dog_Model.Neck2_Length" position rotation
$BoneSaveFrame "Dog_Model.Clavical_L" rotation
$BoneSaveFrame "Dog_Model.Arm1_L" rotation
$BoneSaveFrame "Dog_Model.Arm2_L" rotation
$BoneSaveFrame "Dog_Model.Hand_L" rotation
$BoneSaveFrame "Dog_Model.BigPhys_Attachment" position rotation
$BoneSaveFrame "Dog_Model.Pully_Arm_L" rotation
$BoneSaveFrame "Dog_Model.Clavical_R" rotation
$BoneSaveFrame "Dog_Model.Arm1_R" rotation
$BoneSaveFrame "Dog_Model.Arm2_R" rotation
$BoneSaveFrame "Dog_Model.Hand_R" rotation
$BoneSaveFrame "Dog_Model.Hand_R_Drill" rotation
$BoneSaveFrame "Dog_Model.forward" rotation

See also