コード例 #1
0
 void GenAnim2()
 {
     AnimationCurve[] eachCurves = new AnimationCurve[6];
     for (int u = 0; u < eachCurves.Length; u++)
     {
         eachCurves[u] = new AnimationCurve();
     }
     for (int i = 0; i < effectShakeCameraInfo.timeLine.length; i++)
     {
         Keyframe frame = effectShakeCameraInfo.timeLine[i];
         CameraShakerEditor.KeyExInfo keyExinfo;
         if (i < effectShakeCameraInfo.keyExInfos.Count)
         {
             keyExinfo = effectShakeCameraInfo.keyExInfos[i];
             var calCurves = CameraShakerUtil.CreateShakeCurve(keyExinfo.shakePosition, keyExinfo.shakeAngle, keyExinfo.cycleTime, keyExinfo.cycleCount, keyExinfo.fixShake);
             for (int j = 0; j < 6; j++)
             {
                 float startTime = keyExinfo.keyTime;
                 foreach (var calframe in calCurves[j].keys)
                 {
                     Keyframe newFrame = new Keyframe(startTime + calframe.time, calframe.value);
                     eachCurves[j].AddKey(newFrame);
                 }
             }
         }
     }
     for (int k = 0; k < eachCurves.Length; k++)
     {
         effectShakeCameraInfo.GetType().GetField(s_propertys[k]).SetValue(effectShakeCameraInfo, eachCurves[k]);
     }
 }