Exemplo n.º 1
0
 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);
    }
Exemplo n.º 3
0
 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;
     }
 }