EaseInEaseOut enables gradual animation transitions by modifying TimeSensor fraction outputs. Output values are modified fractions. Authors can ROUTE value_changed output events to an interpolator, a sequencer, or another SFFloat attribute.

The EaseInEaseOut node belongs to the Interpolation component and requires at least level 4, its default container field is children. It is available from X3D version 3.2 or higher.


+ X3DNode
  + EaseInEaseOut


SFNode [in, out] metadata NULL [X3DMetadataObject]

Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.


SFFloat [in] set_fraction (-∞,∞)

set_fraction selects input fraction for computation of corresponding easeInEaseOut output value, modifiedFraction_changed.


  • set_fraction values are typically in same range interval as values in the key array. Response to an input set_fraction value less than minimum is equivalent to minimum key, and response to an input set_fraction value greater than maximum is equivalent to maximum key.


  • It is an error to define this transient inputOnly field in an X3D file, instead only use it a destination for ROUTE events.

MFFloat [in, out] key [ ] (-∞,∞)

Definition values for linear-interpolation function input intervals, listed in non-decreasing order and corresponding to easeInEaseOut array.


  • Number of keys must be one more than the number of easeInEaseOut values!
  • Typical interval for values in key array is within range of 0 to 1, but larger intervals can be defined with arbitrary bounds.


  • Values in key array shall be monotonically non-decreasing, meaning that each value is greater than or equal to the preceding value.

MFVec2f [in, out] easeInEaseOut [ ] (-∞,∞)

Array of paired values for easeOut fraction and easeIn fraction within each key interval.


  • Number of easeInEaseOut values must be one less than the number of keys.

SFFloat [out] modifiedFraction_changed

Interpolated output value determined by current key time, corresponding easeInEaseOut smoothing intervals, and corresponding key pair.


  • It is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.



  • Typical input connection is ROUTE someTimeSensorDEF.fraction_changed TO thisEaseInEaseOutDEF.set_fraction
  • Typical output connection is ROUTE thisEaseInEaseOutDEF.modifiedFraction_changed TO someDestinationNodeDEF.set_fraction.


  • Requires X3D profile='Full' or else include <component name='Interpolation' level='3'/>

See Also

This post is licensed under CC BY 4.0 by the author.