• R/O
  • SSH
  • HTTPS

mmdx: Commit


Commit MetaInfo

Revision53 (tree)
Zeit2010-03-11 01:26:46
Autorwilfrem

Log Message

IKボーンを適応モーションごとに行っていたが、モーションを全て適応後にIK計算するように修正

Ändern Zusammenfassung

Diff

--- trunk/MikuMikuDanceXNA/Model/AnimationPlayer.cs (revision 52)
+++ trunk/MikuMikuDanceXNA/Model/AnimationPlayer.cs (revision 53)
@@ -221,20 +221,6 @@
221221 if (mmdModel.mmdXNA.TimeRular != null && mmdModel.UseTimeRular)
222222 {
223223 mmdModel.mmdXNA.TimeRular.EndMark(2, "Anime-MotionToBone");
224- mmdModel.mmdXNA.TimeRular.BeginMark(2, "Anime-IKBone", Color.Red);
225- }
226-#endif
227- mmdModel.BoneManager.UpdateWorldTransforms();
228- //IKボーンの処理
229- for (int i2 = 0; i2 < mmdModel.BoneManager.Count; i2++)
230- {
231- if (mmdModel.BoneManager[i2].BoneData.IK != null)
232- mmdModel.BoneManager.SolveIK(i2, mmdModel.BoneManager[i2].BoneTransform);
233- }
234-#if TRACE
235- if (mmdModel.mmdXNA.TimeRular != null && mmdModel.UseTimeRular)
236- {
237- mmdModel.mmdXNA.TimeRular.EndMark(2, "Anime-IKBone");
238224 mmdModel.mmdXNA.TimeRular.BeginMark(2, "Anime-Face", Color.BlueViolet);
239225 }
240226 #endif
@@ -252,6 +238,23 @@
252238
253239 }
254240 }
241+
242+#if TRACE
243+ if (mmdModel.mmdXNA.TimeRular != null && mmdModel.UseTimeRular)
244+ mmdModel.mmdXNA.TimeRular.BeginMark(2, "Anime-IKBone", Color.Red);
245+#endif
246+ //IKボーンの処理前にモデルのワールド座標系更新
247+ mmdModel.BoneManager.UpdateWorldTransforms();
248+ //IKボーンの処理
249+ for (int i2 = 0; i2 < mmdModel.BoneManager.Count; i2++)
250+ {
251+ if (mmdModel.BoneManager[i2].BoneData.IK != null)
252+ mmdModel.BoneManager.SolveIK(i2, mmdModel.BoneManager[i2].BoneTransform);
253+ }
254+#if TRACE
255+ if (mmdModel.mmdXNA.TimeRular != null && mmdModel.UseTimeRular)
256+ mmdModel.mmdXNA.TimeRular.EndMark(2, "Anime-IKBone");
257+#endif
255258 //こちらではボーンマネージャのUpdateは行わない
256259 }
257260 }
Show on old repository browser