mClipNameList
List<Hash> = [] The children, as keys of AnimationGraphData.mClipDataMap. A name that is not in the
map is dropped when the graph loads, so "the first child" is the first name that
exists.
A clip that plays its children at the same time. Each child plays on its own track, the one its pose clip names. The usual use is a body animation on one track with an overlay, such as an upper body or a prop animation, on another.
One child is the main child and decides when the parallel ends:
kMain in their mFlags, the main child is the atomic
clip with the longest duration.kMain, the main child is the first child of the list.The main child starts first and the others follow in list order. The main child plays at the speed of the parallel.
When the main child ends:
kLoop in its own mFlags) stops the other children and
starts all children again.The flags of a child change what happens to it:
| Child flag | Effect |
|---|---|
kLoop |
The child loops while the parallel plays. |
kContinue |
The child is not stopped when the main child ends or the parallel is stopped. When the parallel loops and the child still plays, it keeps playing and is not restarted. |
kPlayOnce |
The child starts on the first pass only and is not stopped when the main child ends or the parallel is stopped. On a child that is not the main child, it cancels kLoop and kContinue. |
Passes belong to one run. Each time the parallel is played, by name or by a clip
above it, the client makes a new run of it. "First pass" and "loops" count within one
run. So a new run starts every child again, kPlayOnce and kContinue children
included, and a child SequencerClipData starts again
from its first child.
Children that are left running. A child with kContinue or kPlayOnce is not
stopped with the parallel. It keeps playing on its track until it ends by itself or
another clip starts on that track. When the parallel is played again, the new run's
child on the same track replaces it. Other children are stopped together with the
parallel, for example when a condition clip above it switches to another child.
List<Hash> = [] The children, as keys of AnimationGraphData.mClipDataMap. A name that is not in the
map is dropped when the graph loads, so "the first child" is the first name that
exists.