• R/O
  • SSH
  • HTTPS

mmdx: Commit


Commit MetaInfo

Revision61 (tree)
Zeit2010-03-20 18:45:37
Autorwilfrem

Log Message

OneTrackをMotionTrackに変更

Ändern Zusammenfassung

Diff

--- trunk/MikuMikuDanceXNA/Model/AnimationPlayer.cs (revision 60)
+++ trunk/MikuMikuDanceXNA/Model/AnimationPlayer.cs (revision 61)
@@ -9,7 +9,7 @@
99
1010 namespace MikuMikuDance.XNA.Model
1111 {
12- class OneTrack
12+ class MotionTrack
1313 {
1414 public MMDMotion motion;
1515 Stopwatch timer = new Stopwatch();
@@ -65,8 +65,8 @@
6565 //親のモデル
6666 MMDModel mmdModel;
6767 //現在のモーション一覧
68- List<OneTrack> mmdMotion = new List<OneTrack>(MikuMikuDanceXNA.MotionTrackCap);
69- List<OneTrack> trackPool = new List<OneTrack>(MikuMikuDanceXNA.MotionTrackCap);//オブジェクトプール
68+ List<MotionTrack> mmdMotion = new List<MotionTrack>(MikuMikuDanceXNA.MotionTrackCap);
69+ List<MotionTrack> trackPool = new List<MotionTrack>(MikuMikuDanceXNA.MotionTrackCap);//オブジェクトプール
7070
7171
7272
@@ -85,7 +85,7 @@
8585 {
8686 mmdMotion.Capacity = MikuMikuDanceXNA.MotionTrackCap;
8787 for (int i = 0; i < MikuMikuDanceXNA.MotionTrackCap; i++)
88- trackPool.Add(new OneTrack());
88+ trackPool.Add(new MotionTrack());
8989 mmdModel = model;
9090 FramePerSecond = 30;//MMDは30フレーム/秒が標準
9191 }
@@ -99,7 +99,7 @@
9999 public int SetMotion(MMDMotion motion, bool SetStartPos)
100100 {
101101 if (trackPool.Count == 0)
102- mmdMotion.Add(new OneTrack() { motion = motion });
102+ mmdMotion.Add(new MotionTrack() { motion = motion });
103103 else
104104 {
105105 trackPool[0].Reset();
@@ -212,9 +212,10 @@
212212 {
213213 if (mmdModel.BoneManager.ContainsBone(bone))
214214 {//存在しないボーンへのモーションは無視……
215+ int boneIndex = mmdModel.BoneManager.IndexOf(bone);
215216 QuatTransform move = mmdMotion[i].motion.GetBoneTransform(bone, NowFrame);
216217 //ボーン処理
217- mmdModel.BoneManager[bone].BoneTransform = move * mmdModel.BoneManager[bone].BoneData.BindPose;
218+ mmdModel.BoneManager[boneIndex].BoneTransform = move * mmdModel.BoneManager[boneIndex].BoneData.BindPose;
218219 }
219220 }
220221 #if TRACE
Show on old repository browser