SkinningData skinningData; // Skinning Data
#endregion Fields
#region Constructors
/// <summary>
/// ModelGeo with animation
/// </summary>
/// <param name="Go"></param>
/// <param name="modelResource"></param>
/// <param name="AniClip"></param>
public ModelGeoAnim(GameObject Go, string modelResource, string AniClip)
: base(Go, modelResource)
{
// Look up our custom skinning information.
skinningData = mModel.Tag as SkinningData;
if (skinningData == null)
throw new InvalidOperationException
("Model '" + modelResource + "' does not contain a SkinningData tag.");
// Create an animation player, and start decoding an animation clip.
animationPlayer = new AnimationPlayer(skinningData);
AnimationClip clip = skinningData.AnimationClips[AniClip];
animationPlayer.StartClip(clip);
//boneTransforms = new Matrix[skinningData.BindPose.Count];
//animationPlayer.GetBoneTransforms().CopyTo(boneTransforms, 0);
//mMatBones = animationPlayer.GetBoneTransforms();
BoneTransformTemp = new Matrix[skinningData.BindPose.Count];
animationPlayer.Update(new TimeSpan(0, 0, 0), true, mMatWorld);
InitBoundingSpheres();
UpdateBoundingBox();
}