2012-06-27 41 views
0

我想知道如何使用皮膚模型處理器像XNA 4.0中的窗口樣本更改模型的動畫?我成功地得到了我的模型,它播放了Take 001中的所有動畫。我怎麼才能根據用戶輸入來播放動畫的不同部分?像跳轉到的那樣... 樣本中的所有內容都是相同的窗戶,但我在動畫播放器改變了一部分這樣通過關鍵幀的皮膚模型動畫選擇

// Starts playing the entirety of the given clip 
    public void StartClip(string clip, bool loop) 
    { 
     AnimationClip clipVal = skinningData.AnimationClips[clip]; 
     StartClip(clip, TimeSpan.FromSeconds(0), clipVal.Duration, loop); 
    } 

    // Plays a specific portion of the given clip, from one frame 
    // index to another 
    public void StartClip(string clip, int startFrame, int endFrame, bool loop) 
    { 
     AnimationClip clipVal = skinningData.AnimationClips[clip]; 

     StartClip(clip, clipVal.Keyframes[startFrame].Time, 
      clipVal.Keyframes[endFrame].Time, loop); 
    } 

    // Plays a specific portion of the given clip, from one time 
    // to another 
    public void StartClip(string clip, TimeSpan StartTime, TimeSpan EndTime, bool loop) 
    { 
     CurrentClip = skinningData.AnimationClips[clip]; 
     currentTime = TimeSpan.FromSeconds(0); 
     currentKeyframe = 0; 
     Done = false; 
     this.startTime = StartTime; 
     this.endTime = EndTime; 
     this.loop = loop; 

     // Copy the bind pose to the bone transforms array to reset the animation 
     skinningData.BindPose.CopyTo(BoneTransforms, 0); 
    } 

這是我怎麼想它的動畫基於關鍵幀或時間跨度,我可以選擇,但我不知道如何真正告訴遊戲玩的這部分動畫。 感謝您的任何幫助

回答