public void replaceConnections(BlendNode node) { prevIndex = node.prevIndex; currentIndex = node.currentIndex; nextID1 = node.nextID1; nextID2 = node.nextID2; }
public override void Start() { //Blabla initial setup BlendNode blend = new BlendNode(skinn.model); foreach (var node in nodes) { blend.appendNode(node.animation, true); } weight = blend.generateWeightHandle(); skinn.setBlendTreeNode(blend); }
public Matrix Blend(double dt) { Tick(dt); if(FadingOut != null) { CurrentTransitionTime += dt; var FadingWeight = (float)(CurrentTransitionTime / TotalTransitionTime); if(FadingWeight >= 1) { FadingOut = null; return Transform; } else return Transform * FadingWeight + FadingOut.Blend(dt) * (1 - FadingWeight); } else { return Transform; } }