processNode method
Implementation
void processNode(
Map<int, ProcessedNode> processedNodes,
AnimationState animation,
) {
final resultMatrix = Matrix4.identity();
// parent
final parentNodeIndex = this.parentNodeIndex;
if (parentNodeIndex != null) {
resultMatrix.multiply(processedNodes[parentNodeIndex]!.combinedTransform);
}
// local + animation
final localTransform = animation.maybeTransform(nodeIndex, transform);
resultMatrix.multiply(localTransform);
final jointTransforms = computeJointsPerSurface(processedNodes);
processedNodes[nodeIndex] = ProcessedNode(
node: this,
combinedTransform: resultMatrix,
jointTransforms: jointTransforms,
);
}