gsee

WaveDestroyer Melscript

Nov 28th, 2019
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.20 KB | None | 0 0
  1. //a convertir en python et pour toute les cameras
  2.  
  3. //wave destroyer v5 by Lolo//
  4.  
  5. //storer les cle //
  6.  
  7. string $animCurves[] = `keyframe -q -name`;
  8.  
  9. float $selectValues[] = `keyframe -q -sl -valueChange $animCurves[0]`;
  10.  
  11. float $selectTimes[] = `keyframe -q -sl -timeChange $animCurves[0]`;
  12.  
  13. float $valueAlpha[] = { 100 * atan( $selectValues[0]) , 100 * atan( $selectValues[1]) , 100 * atan( $selectValues[2]) };
  14.  
  15. string $bornes = $selectTimes[0]+":"+$selectTimes[2];
  16.  
  17. //storer les cle non selectionnees //
  18.  
  19. //nbre de cle de la courbe//
  20.  
  21. int $keycount = `keyframe -q -keyframeCount $animCurves[0]`;
  22.  
  23. int $keyco = $keycount-1;
  24.  
  25. float $end[] = `keyframe -index $keyco -q $animCurves[0]`;
  26.  
  27. /*for($x = 0; $x <= $keycount; $x++) {
  28.  
  29. $end[] = `keyframe -q -timeChange $animCurves[0]`;
  30.  
  31. }*/
  32.  
  33. //bornes des parties non selectionnees //
  34.  
  35. $selectTimes[0]-=1;
  36.  
  37. string $bdebut = "0:"+$selectTimes[0];
  38.  
  39. $selectTimes[0]+=1;
  40.  
  41. $selectTimes[2] += 1;
  42.  
  43. string $bfin = $selectTimes[2] + ":" + $end[0] ;
  44.  
  45. $selectTimes[2] -= 1;
  46.  
  47. //compte des cles avant et apres partie selec. //
  48.  
  49. int $keycountdeb = `keyframe -time $bdebut -q -keyframeCount $animCurves[0]`;
  50.  
  51. int $keycountfin = `keyframe -time $bfin -q -keyframeCount $animCurves[0]`;
  52.  
  53. //store les cle//
  54.  
  55. float $keystoredeb[] = `keyframe -time $bdebut -query -timeChange -valueChange $animCurves[0]`;
  56.  
  57. float $keystorefin[] = `keyframe -time $bfin -query -timeChange -valueChange $animCurves[0]`;
  58.  
  59. //taille des array //
  60.  
  61. int $keystoredebSize = size($keystoredeb);
  62.  
  63. int $keystorefinSize = size($keystorefin);
  64.  
  65. //demande le placement de la cle intermediaire//
  66.  
  67. string $demande = `promptDialog
  68.  
  69. -title "Frames d'amorti ?"
  70.  
  71. -message "Nombre de frames separant la derniere cle et la cle intermediaire lors de la creation de l'amorti (generalement 1 ou 2) :"
  72.  
  73. -button "OK" -button "Cancel"
  74.  
  75. -defaultButton "OK" -cancelButton "Cancel"
  76.  
  77. -dismissString "Cancel"
  78.  
  79. -style "float"`;
  80.  
  81. if ($demande == "OK") {
  82.  
  83. //recupere la valeur rentree dans le prompt//
  84.  
  85. float $frameint = `promptDialog -query -text`;
  86.  
  87. float $timetemp[] = { $selectTimes[1] + $frameint };
  88.  
  89. //recupere le nom de la cam//
  90.  
  91. string $selectcam[] = `ls -selection`;
  92.  
  93. string $namecamcompl = $selectcam[0];
  94.  
  95. $num = `size($namecamcompl)`;
  96.  
  97. $num -=7;
  98.  
  99. string $namecam = `substring $namecamcompl 1 $num`;
  100.  
  101. //store les noms des attributs//
  102.  
  103. string $namecammaster = $namecam + ":ctl_Master";
  104.  
  105. string $namecamfocal = $namecam + ":cameraShape.focalLength";
  106.  
  107. string $cam = $namecam + ":camera";
  108.  
  109. string $camshape = $namecam + ":cameraShape";
  110.  
  111. //break connection focale//
  112.  
  113. CBdeleteConnection $namecamfocal;
  114.  
  115. //ajoute l'attribut "Alpha"//
  116.  
  117. addAttr -ln "Alpha" -at double -min 151 -max 157 -dv 151 $namecammaster;
  118.  
  119. string $namecamalpha = $namecammaster + ".Alpha";
  120.  
  121. setAttr -e-keyable true $namecamalpha;
  122.  
  123. expression -s ( $namecamfocal+"= tan( "+$namecamalpha+" / 100)");
  124.  
  125. //key l'alpha//
  126.  
  127. setKeyframe -v $valueAlpha[0] -t $selectTimes[0] $namecamalpha;
  128.  
  129. setKeyframe -v $valueAlpha[2] -t $timetemp[0] $namecamalpha;
  130.  
  131. setKeyframe -i -t $selectTimes[1] $namecamalpha;
  132.  
  133. // fait l'amortie//
  134.  
  135. keyframe -time $timetemp[0] -timeChange $selectTimes[2] $namecamalpha;
  136.  
  137. //refait la tangent//
  138.  
  139. selectKey -add -k -t $selectTimes[1] $namecamalpha ;
  140.  
  141. keyTangent -itt auto -ott auto;
  142.  
  143. // unselect //
  144.  
  145. selectKey -clear ;
  146.  
  147. // bake la courbe de focale //
  148.  
  149. bakeResults -sampleBy 1 -time $bornes -preserveOutsideKeys 1 -sparseAnimCurveBake 0 {$namecamfocal};
  150.  
  151. //break alpha connection"
  152.  
  153. CBdeleteConnection $namecamalpha;
  154.  
  155. //recreer cles non selectionnee//
  156.  
  157. int $countbef =0;
  158.  
  159. int $countbefplus;
  160.  
  161. int $x;
  162.  
  163. for($x=0; $x < $keycountdeb; $x++ ) {
  164.  
  165. $countbefplus = $countbef + 1;
  166.  
  167. print $countbef;
  168.  
  169. setKeyframe -v $keystoredeb[$countbefplus] -t $keystoredeb[$countbef] $namecamfocal;
  170.  
  171. $countbef += 2;
  172.  
  173. print $countbefplus;
  174.  
  175. }
  176.  
  177. int $y;
  178.  
  179. $countbef =0;
  180.  
  181. for($y=0; $y < $keycountfin; $y++) {
  182.  
  183. $countbefplus = $countbef + 1;
  184.  
  185. print $countbef;
  186.  
  187. setKeyframe -v $keystorefin[$countbefplus] -t $keystorefin[$countbef] $namecamfocal;
  188.  
  189. $countbef += 2;
  190.  
  191. print $countbefplus;
  192.  
  193. }
  194.  
  195. //supprime alpha"
  196.  
  197. deleteAttr -attribute "Alpha" $namecammaster;
  198.  
  199. }
Advertisement
Add Comment
Please, Sign In to add comment