Difference between revisions of "Gesture Manipulation"

From Valve Developer Community
Jump to: navigation, search
(Created new article.)
 
m
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Category:Choreography]]
 
__TOC__
 
 
 
==Suggested Reads for this Article==
 
==Suggested Reads for this Article==
* [[Choreography_Tool|Choreography Tool]]
+
* [[Choreography_creation/Creating_Events/Body_animation#Timing_Tag_manipulation|Choreography creation: Timing Tag manipulation]] (alternative guide)
 +
* [[Choreography Tool reference]]
 
* [[Other_FacePoser_Tools|Other FacePoser Tools]] ([[Other_FacePoser_Tools#Ramp_Tool|Ramp]], [[Other_FacePoser_Tools#Gesture_Tool|Gesture]], [[Other_FacePoser_Tools#Time_Sample_Snapping|Time Sample Snapping]])
 
* [[Other_FacePoser_Tools|Other FacePoser Tools]] ([[Other_FacePoser_Tools#Ramp_Tool|Ramp]], [[Other_FacePoser_Tools#Gesture_Tool|Gesture]], [[Other_FacePoser_Tools#Time_Sample_Snapping|Time Sample Snapping]])
 
  
 
==Introduction==
 
==Introduction==
Line 11: Line 8:
 
FacePoser has the ability to modify the playback of model animations within Source. By using the Gesture tool, scene designers can modify certain aspects of a model’s animation sequence(s) without having to use a 3D modeling application.
 
FacePoser has the ability to modify the playback of model animations within Source. By using the Gesture tool, scene designers can modify certain aspects of a model’s animation sequence(s) without having to use a 3D modeling application.
  
In this article, the gesture named in the Alyx model will be modified.
+
In this article, the gesture named "A_g_fingptfwd" in the Alyx model will be modified.
 
 
  
 
==Overview==
 
==Overview==
Line 21: Line 17:
 
* Play back and tweak the choreography
 
* Play back and tweak the choreography
 
* Conclusion and Tips
 
* Conclusion and Tips
 
  
 
==Creating the Scene==
 
==Creating the Scene==
  
Load the Alyx model and create a new scene. Name the actor and create two channels: one named and one named “Manipulated.In the Original channel, create a sequence event named , select the A_g_fingptfwd animation, set the start time at 0 seconds, uncheck the end time box, and push OK ''(The blank end time field lets the event occupy the same time span of the intended animation, instead of stretching or compressing it.)'' In the Manipulated channel, create a null gesture. Enter in values for the start and end time fields that would have the event occur somewhere within the timespan of ''(This will prevent the sequence and gesture from crossfading into each other.)'' In the same channel, create a gesture event named , select the A_g_fingptfwd gesture, enter in a value in the start time field that would have After occur after Before, uncheck the end time box, and push OK. The scene should look somewhat like this:
+
Load the Alyx model and create a new scene. Name the actor and create two channels: one named "Original" and one named "Manipulated." In the Original channel, create a sequence event named "Before", select the A_g_fingptfwd animation, set the start time at 0 seconds, uncheck the end time box, and push OK ''(The blank end time field lets the event occupy the same time span of the intended animation, instead of stretching or compressing it.)'' In the Manipulated channel, create a null gesture. Enter in values for the start and end time fields that would have the event occur somewhere within the timespan of "Before" ''(This will prevent the sequence and gesture from crossfading into each other.)'' In the same channel, create a gesture event named "After", select the A_g_fingptfwd gesture, enter in a value in the start time field that would have After occur after Before, uncheck the end time box, and push OK. The scene should look somewhat like this:
 
 
  
 
[[Image:Gm_scene.jpg|The layout of the current scene.]]
 
[[Image:Gm_scene.jpg|The layout of the current scene.]]
 
  
 
The scene has now been created. The A_g_fingptfwd animation consists of the character raising its right arm to form a pointing pose. This pointing pose is extended for about a second, and then is gradually faded out. This article will change the animation into the right arm sluggishly being raised into the pointing pose. The pointing pose will then be held for about half of a second. Another half second will be left for the end of the event, resulting in a quick fade out.
 
The scene has now been created. The A_g_fingptfwd animation consists of the character raising its right arm to form a pointing pose. This pointing pose is extended for about a second, and then is gradually faded out. This article will change the animation into the right arm sluggishly being raised into the pointing pose. The pointing pose will then be held for about half of a second. Another half second will be left for the end of the event, resulting in a quick fade out.
 
  
 
==Altering Timing Tags==
 
==Altering Timing Tags==
  
Gestures generally consist of four timing tags: Apexof the gesture, Accent is the pose that will essentially be held by Loop, and End will fade out the gesture until the event ends. The Gesture tool allows these tags to be shifted to a different point in time, thus altering the way the animation is played back in-game.
+
Gestures generally consist of four animator-designated 'Timing Tags':  
 +
*'''Apex''' - The start of the animation. Before this, we were simply fading in from the previous position.
 +
*'''Accent''' - The end of the main animation and the beginning of the Accent sequence.
 +
*'''Loop''' - Stop playing the Accent and hold the animation.
 +
*'''End''' - Start fade to null.
  
Gesture tab to open up the Gesture tool. Enable time sample snapping if needed, and move the tags to modify the animation. The timing tags were altered to this:
+
The Gesture tool allows these tags to be shifted to a different point in time, thus altering the way the animation is played back in-game.
  
 +
Select "After" and double click on the Gesture tab to open up the Gesture tool. Enable time sample snapping if needed, and move the tags to modify the animation. The timing tags were altered to this:
  
 
[[Image:Gm_tags.jpg|Timing tag settings for the gesture event.]]
 
[[Image:Gm_tags.jpg|Timing tag settings for the gesture event.]]
  
 
+
This results in the animation looking similar to the intended description.
This resulted in the animation looking similar to the intended description.
 
 
 
  
 
==Changing the Ramp==
 
==Changing the Ramp==
  
 
Optionally, the ramp of the event can be changed. Changing the ramp allows for the strength of the event to be modified, giving even more customization over the playback of the animation. The ramp of the event was changed to this:
 
Optionally, the ramp of the event can be changed. Changing the ramp allows for the strength of the event to be modified, giving even more customization over the playback of the animation. The ramp of the event was changed to this:
 
  
 
[[Image:Gm_ramp.jpg|Ramp settings for the gesture event.]]
 
[[Image:Gm_ramp.jpg|Ramp settings for the gesture event.]]
  
 
+
These Ramp settings changed the event in that the arm raising was made more sluggish, the direction of the index finger was lowered and moved towards the character’s right, and the fade out was "smoothened out".
These Ramp settings changed the event in that the arm raising was made event more sluggish, the direction of the index finger was lowered and moved towards the character’s right, and the fade out was “smoothened out.
 
 
 
  
 
==Playing Back and Tweaking the New Animation==
 
==Playing Back and Tweaking the New Animation==
  
Play back the choreography to compare the original animation to the new one. Tweak the timing tag placement and ramp of the events if desired. Consider playing back the .vcd in the engine to see what the animation would truly look like.
+
Play back the scene to compare the original animation to the new one. Tweak the timing tag placement and ramp of the events if so desired. Consider playing back the scene in the engine to see what the animation would truly look like.
 
 
  
 
==Conclusion and Tips==
 
==Conclusion and Tips==
Line 67: Line 58:
 
With timing tag alteration, scene designers can have more leeway in what animations would look like in the Source engine. This prevents the need to make modifications to a model in a 3D modeling program for suiting minor discrepancies in an intended animation.
 
With timing tag alteration, scene designers can have more leeway in what animations would look like in the Source engine. This prevents the need to make modifications to a model in a 3D modeling program for suiting minor discrepancies in an intended animation.
  
Another method of adding animations to a scene is by double clicking on the Animations tab and dragging a thumbnail into a channel. A popup box will show up, asking the user whether the event to be created will be a sequence or gesture event. When choosing a certain animation on the creation of gesture events, one is not restricted to the selection in the drop down menu, as hinted by the box previously mentioned. Any animation for a certain model can be used in the Gesture tool. Usually, “non-gestures lack timing tags, but tags can be inserted into an event, as well as deleted.
+
Another method of adding animations to a scene is by double clicking on the Animations tab and dragging a thumbnail into a channel. A popup box will show up, asking the user whether the event to be created will be a sequence or gesture event. When choosing a certain animation on the creation of gesture events, one is not restricted to the selection in the drop down menu, as hinted by the box previously mentioned. Any animation for a certain model can be used in the Gesture tool. Usually, "non-intended" gestures lack timing tags, but these tags can be inserted into an event, as well as deleted.
  
  
Line 73: Line 64:
  
 
The scene file used in this article is available [http://www.geocities.com/sodabus_vdc/gm_reference.zip here].
 
The scene file used in this article is available [http://www.geocities.com/sodabus_vdc/gm_reference.zip here].
 +
 +
[[Category:Choreography]]

Latest revision as of 17:28, 21 November 2007

Suggested Reads for this Article

Introduction

FacePoser has the ability to modify the playback of model animations within Source. By using the Gesture tool, scene designers can modify certain aspects of a model’s animation sequence(s) without having to use a 3D modeling application.

In this article, the gesture named "A_g_fingptfwd" in the Alyx model will be modified.

Overview

  • Create a scene with (null) gesture events
  • Alter the timing tags of a gesture
  • Change the Ramp of a gesture (optional)
  • Play back and tweak the choreography
  • Conclusion and Tips

Creating the Scene

Load the Alyx model and create a new scene. Name the actor and create two channels: one named "Original" and one named "Manipulated." In the Original channel, create a sequence event named "Before", select the A_g_fingptfwd animation, set the start time at 0 seconds, uncheck the end time box, and push OK (The blank end time field lets the event occupy the same time span of the intended animation, instead of stretching or compressing it.) In the Manipulated channel, create a null gesture. Enter in values for the start and end time fields that would have the event occur somewhere within the timespan of "Before" (This will prevent the sequence and gesture from crossfading into each other.) In the same channel, create a gesture event named "After", select the A_g_fingptfwd gesture, enter in a value in the start time field that would have After occur after Before, uncheck the end time box, and push OK. The scene should look somewhat like this:

The layout of the current scene.

The scene has now been created. The A_g_fingptfwd animation consists of the character raising its right arm to form a pointing pose. This pointing pose is extended for about a second, and then is gradually faded out. This article will change the animation into the right arm sluggishly being raised into the pointing pose. The pointing pose will then be held for about half of a second. Another half second will be left for the end of the event, resulting in a quick fade out.

Altering Timing Tags

Gestures generally consist of four animator-designated 'Timing Tags':

  • Apex - The start of the animation. Before this, we were simply fading in from the previous position.
  • Accent - The end of the main animation and the beginning of the Accent sequence.
  • Loop - Stop playing the Accent and hold the animation.
  • End - Start fade to null.

The Gesture tool allows these tags to be shifted to a different point in time, thus altering the way the animation is played back in-game.

Select "After" and double click on the Gesture tab to open up the Gesture tool. Enable time sample snapping if needed, and move the tags to modify the animation. The timing tags were altered to this:

Timing tag settings for the gesture event.

This results in the animation looking similar to the intended description.

Changing the Ramp

Optionally, the ramp of the event can be changed. Changing the ramp allows for the strength of the event to be modified, giving even more customization over the playback of the animation. The ramp of the event was changed to this:

Ramp settings for the gesture event.

These Ramp settings changed the event in that the arm raising was made more sluggish, the direction of the index finger was lowered and moved towards the character’s right, and the fade out was "smoothened out".

Playing Back and Tweaking the New Animation

Play back the scene to compare the original animation to the new one. Tweak the timing tag placement and ramp of the events if so desired. Consider playing back the scene in the engine to see what the animation would truly look like.

Conclusion and Tips

With timing tag alteration, scene designers can have more leeway in what animations would look like in the Source engine. This prevents the need to make modifications to a model in a 3D modeling program for suiting minor discrepancies in an intended animation.

Another method of adding animations to a scene is by double clicking on the Animations tab and dragging a thumbnail into a channel. A popup box will show up, asking the user whether the event to be created will be a sequence or gesture event. When choosing a certain animation on the creation of gesture events, one is not restricted to the selection in the drop down menu, as hinted by the box previously mentioned. Any animation for a certain model can be used in the Gesture tool. Usually, "non-intended" gestures lack timing tags, but these tags can be inserted into an event, as well as deleted.


Reference Scene

The scene file used in this article is available here.