Example #1
0
 private static MMDMotion CreateAfterMotionPrototype(MMDMotion beforeMotion, MMDBoneManager boneManager)
 {
     //ベイク対象外の情報をコピー
     MMDMotion result = new MMDMotion();
     //表情は参照をコピーしておく
     result.FaceFrames = beforeMotion.FaceFrames;
     //ボーンは必要分だけ参照をコピー
     result.BoneFrames = new Dictionary<string, List<MMDBoneKeyFrame>>();
     foreach (KeyValuePair<string, List<MMDBoneKeyFrame>> boneSet in beforeMotion.BoneFrames)
     {
         if (!boneManager.IsUnderIK(boneSet.Key))
         {
             result.BoneFrames.Add(boneSet.Key, boneSet.Value);
         }
         else
         {
             result.BoneFrames.Add(boneSet.Key, new List<MMDBoneKeyFrame>());
         }
     }
     return result;
 }