VCE: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(Created page about undocumented file format)
 
(formatting)
 
Line 2: Line 2:
{{stub}}
{{stub}}


'''Valve Choreography Events''' ('''VCE''') is a file format used by {{hlfaceposer|4}} to store individual events, to later import them in [[VCD|scene files]].
'''Valve Choreography Events''' ('''VCE''') is a file format used by {{faceposer|4|nt=0}} to store individual events, to later import them in [[VCD|scene files]].


{{warning|In {{hlfaceposer|1|nt=0}}, some events cannot be exported if the scene was not save first.}}
{{bug|hidetested=1|In {{faceposer|1|nt=0}}, some events cannot be exported if the scene was not saved first.}}
{{warning|Incorrectly nested or corrupted files will make {{hlfaceposer|1|nt=0}} freeze forever.}}
{{warning|Incorrectly nested or corrupted files will make {{faceposer|1|nt=0}} freeze forever.}}


== Format ==
== Format ==


VCE files use the same format as [[VCD]] files, with the exception that they only store events.
VCE files use the same format as [[VCD]] files, with the exception that they only store events.
<br>


 
Every VCE file created by {{faceposer|1|nt=0}} starts with this comment :
Every VCE file starts with this comment :
<source>
  // Choreo version 1:  <x> Exported Events
// Choreo version 1:  <x> Exported Events
</source>
:Where <code>x</code> is the number of exported events. The "choreo version" is always the same.
:Where <code>x</code> is the number of exported events. The "choreo version" is always the same.
:{{confirm|Is it used by {{hlfaceposer|1|nt=0}} ? From my testing, it doesn't.}}
:{{confirm|Is it used by {{hlfaceposer|1|nt=0}} ? From my testing, it isn't.}}


 
It is then followed by event(s), written in the same way as in [[VCD]] files.
It is then followed by events, wrote the same way as in [[VCD]] files.
{{note|If multiple "event headers" follow eachother whitout being separated by curly brackets, only the first "header" will be parsed by {{hlfaceposer|1|nt=0}}.}}
{{note|If multiple "event headers" follow eachother whitout being separated by curly brackets, only the first "header" will be parsed by {{hlfaceposer|1|nt=0}}.}}
<br>


 
{{expand|title=Full example|
'''Full example :'''
<source lang=js>
{{expand|{{clr}}
<syntaxhighlight lang=js>
// Choreo version 1:  <1> Exported Events
// Choreo version 1:  <1> Exported Events
event gesture "Gesture event 1"
event gesture "Gesture event 1"
Line 46: Line 46:
   sequenceduration 1.700000
   sequenceduration 1.700000
}
}
</syntaxhighlight>
</source>
}}
}}


'''Event header particularity example :'''
{{expand|title=Event header particularity example|
{{expand|{{clr}}
<source lang=js>
<syntaxhighlight lang=js>
// Choreo version 1:  <1> Exported Events
// Choreo version 1:  <1> Exported Events
     event generic "header 1"
     event generic "header 1"
Line 62: Line 61:
       param2 "!target1"
       param2 "!target1"
     }
     }
</syntaxhighlight>
</source>
}}
}}


[[Category:Choreography]]
[[Category:Choreography]]
[[Category:File formats]]
[[Category:File formats]]

Latest revision as of 04:21, 27 June 2025

English (en)Translate (Translate)

Stub

This article or section is a stub. You can help by expanding it.

Valve Choreography Events (VCE) is a file format used by HLFaceposer Faceposer to store individual events, to later import them in scene files.

Icon-Bug.pngBug:In Faceposer, some events cannot be exported if the scene was not saved first.
Warning.pngWarning:Incorrectly nested or corrupted files will make Faceposer freeze forever.

Format

VCE files use the same format as VCD files, with the exception that they only store events.

Every VCE file created by Faceposer starts with this comment :

// Choreo version 1:  <x> Exported Events
Where x is the number of exported events. The "choreo version" is always the same.
Confirm:Is it used by Faceposer ? From my testing, it isn't.

It is then followed by event(s), written in the same way as in VCD files.

Note.pngNote:If multiple "event headers" follow eachother whitout being separated by curly brackets, only the first "header" will be parsed by Faceposer.


Full example
// Choreo version 1:  <1> Exported Events
event gesture "Gesture event 1"
{
  time 0.000000 -1.000000
  param "G_shrug"
  absolutetags playback_time
  {
    "apex" 0.160000
    "accent" 0.240000
    "loop" 0.320000
    "end" 0.440000
  }
  absolutetags shifted_time
  {
    "apex" 0.160000
    "accent" 0.240000
    "loop" 0.320000
    "end" 0.440000
  }
  sequenceduration 1.700000
}
Event header particularity example
// Choreo version 1:  <1> Exported Events
    event generic "header 1"
    event moveto "header 2" //ignored
    event face "header 3"   //ignored
    event lookat "header 4" //ignored
    {
      time 1.000000 5.000000
      param "debugtext Debug text"
      param2 "!target1"
    }