TCAX 字幕特效制作工具官方论坛 | ASS | TCAS | Python | Aegisub | Lua

标题: [OTo]001_Snow_halation [打印本页]

作者: 忘却の小伊    时间: 2012-3-6 21:29:29     标题: [OTo]001_Snow_halation

本帖最后由 忘却の小伊 于 2012-3-18 14:51 编辑

其实咱的只是修改SAI大和疯子的特效而已...

第一次做...
只能修改别人的啦...
希望下次发的有自己的成果....
咱会加油,嗯嗯~~~
  1. from tcaxPy import *


  2. def pbri(n = 4):   
  3.     BRI = 'm 0 100 l 1 1 100 0 1 -1 0 -100 -1 -1 -100 0 -1 1 c m 6 6 s 6 -6 -6 -6 -6 6 c'
  4.     PBRI = '{\\p'+str(n)+'}'+BRI
  5.     return PBRI


  6. def exint(x):
  7.     if x >= 0 :
  8.         x = int(x)
  9.     else:
  10.         x = 0
  11.     return x

  12. def tcaxPy_Init():
  13.     global _FontFileName
  14.     global _FaceID
  15.     global _Fs
  16.     global _Height
  17.     global Font
  18.     _FontFileName = GetVal(val_FontFileName)
  19.     _FaceID       = GetVal(val_FaceID)
  20.     _Fs           = GetVal(val_FontSize)
  21.     _Height       = GetVal(val_TextHeight)
  22.     Font = InitFont(_FontFileName, _FaceID, _Fs, GetVal(val_Spacing), GetVal(val_SpaceScale), 0xFFFFFF, 0, 0)


  23. def tcaxPy_Main(_i, _j, _n, _BT, _ET, _SK, _KT, _X, _Y, _A, _TXT):

  24.     ASS_BUF = []              
  25. #################################################################################
  26. #===================================================================下小雪特效
  27.     dx = _X - int(_A / 2 + 0.5)   
  28.     dy = _Y - int(_Fs / 2 + 0.5)  
  29.     mask = TextOutlineDraw(Font, _TXT, dx, dy)

  30.     if _i<4 or _i==18 or _i==19:
  31.         ass_main(ASS_BUF, SubL(_BT+_SK-20, _ET,10), an(5) + pos(_X+randint(-16,16), _Y+randint(-16,16))+fs(1)+blur(1)+color1("FFFFFF")+t(0,_KT*10,fs(65)+blur(8)) + clip2(7, mask), "●")          #存在方式
  32.         for i in range(_BT+_SK-20,_BT+_SK+_KT,30):
  33.             for k in range(3):
  34.                 ass_main(ASS_BUF, SubL(i, i+150,50), fs(5)+blur(3.5)+color1("FFFFFF")+color3("FFFFFF")+color4("FFFFFF")+fad(30,300)+mov(_X+randint(30,60),_Y-randint(20,50),_X-randint(30,60),_Y+randint(20,50)), "●")#飘雪效果

  35.         ass_main(ASS_BUF, SubL(_BT, _ET), an(5) + pos(_X-0.5, _Y-1.5) +alpha1(255)+ bord(1)+blur(2.5)+fad(50,50), _TXT)          #存在方式


  36. #============================左右消失退场特效

  37.         for i in range(4):
  38.             ass_main(ASS_BUF, SubL(_ET+i*3,_ET+30+randint(-5,5),0),mov(_X,_Y,_X+100,_Y)+blur(5)+alpha1(100)+color1("FFFFFF")+color3("FFFFFF"), _TXT)
  39.             ass_main(ASS_BUF, SubL(_ET+i*3,_ET+30+randint(-5,5),0),mov(_X,_Y,_X-100,_Y)+blur(5)+alpha1(100)+color1("FFFFFF")+color3("FFFFFF"), _TXT)


  40. ##########################################################################
  41. #===================================================================飞入白点特效

  42.     elif _i==4 or _i==5 or _i==15 or _i==16 or _i==17:
  43.         ass_main(ASS_BUF, SubL(_BT+_SK-5, _ET,10), an(5) + pos(_X+randint(-16,16), _Y+randint(-16,16))+color1("FFFFFF")+fs(65)+blur(8) + clip2(7, mask), "●")
  44.         ass_main(ASS_BUF, SubL(_BT+_SK-5, _ET), an(5) + pos(_X-0.5, _Y-1.5) +alpha1(100)+color1("FF9DFF")+ bord(0)+blur(2.5), _TXT)
  45.         ass_main(ASS_BUF, SubL(_BT+_SK-5, _BT+_SK+55), an(5) + pos(_X-0.5, _Y-1.5) +alpha1(255)+color3("FFFFFF")+ bord(1.5)+blur(7.5)+t(bord(0)), _TXT)
  46.         POS = Bezier2(150, _X +500, _Y +randint(0,50), _X, _Y,_X+randint(250,350), _Y+randint(-50,-20)) #存在方式

  47.         for i in range(150):
  48.             ass_main(ASS_BUF, SubL(_BT+_SK-155+i*1, _BT+_SK-155+(i+1)*1,50), an(5)+blur(2.5) +color1("FFFFFF")+color3("FFFFFF")+color4("FFFFFF")+ pos(POS[i][0], POS[i][1])+fs(8), "●")     #白点效果
  49.             for j in range(2):
  50.                 if randint(0,4) == 0:
  51.                     ass_main(ASS_BUF, SubL(_BT+_SK-155+i*1, _BT+_SK-155+(i+1)*1+30,50), an(7)+blur(0.3)+bord(0.2)+color3("FFFFFF")+color4("FFFFFF")+color1("FFFFFF")+alpha1(100)+ mov(POS[exint(i-j*3-5)][0]+randint(-5,5), POS[exint(i-j*3-5)][1]+randint(-5,5),POS[exint(i-j*3-5)][0]+randint(-15,15), POS[exint(i-j*3-5)][1]+randint(-15,15))+fad(0,300)+fsc(60,60), pbri())              #白点尾巴效果

  52.         ass_main(ASS_BUF, SubL(_BT, _ET), an(5) + pos(_X-0.5, _Y-1.5) +alpha1(255)+ bord(1)+blur(2.5)+fad(50,50), _TXT)           #存在方式


  53. #===================左右消失退场特效

  54.         for i in range(4):
  55.             ass_main(ASS_BUF, SubL(_ET+i*3,_ET+30+randint(-5,5),0),mov(_X,_Y,_X+100,_Y)+blur(5)+alpha1(100)+color1("FFFFFF")+color3("FFFFFF"), _TXT)
  56.             ass_main(ASS_BUF, SubL(_ET+i*3,_ET+30+randint(-5,5),0),mov(_X,_Y,_X-100,_Y)+blur(5)+alpha1(100)+color1("FFFFFF")+color3("FFFFFF"), _TXT)




  57. ################################################################################



  58.     elif _i == 31:

  59. #=======================================================字上面红心跳效果
  60.         ass_main(ASS_BUF, SubL(_BT+_SK, _BT+_SK+_KT-10),mov(_X+5,_Y-25,_X+25,_Y-50)+be(1)+color1("FF53FF")+bord(0)+shad(0), "{\p2}m 0 0 b 0 0 0 0 0 0 b -2 -3 -3 -5 -6 -5 b -8 -5 -11 -3 -11 1 b -11 3 -11 4 -9 7 b -8 8 -7 9 -5 10 b -2 12 -1 13 0 15 b 1 13 2 12 5 10 b 7 9 8 8 9 7 b 11 4 11 3 11 1 b 11 -3 8 -5 6 -5 b 3 -5 2 -3 0 0 {\p0}")

  61.         ass_main(ASS_BUF, SubL(_BT+_SK-10, _BT+_SK),mov(_X,_Y-50,_X+5,_Y-25)+be(1)+color1("FF53FF")+bord(0)+shad(0), "{\p2}m 0 0 b 0 0 0 0 0 0 b -2 -3 -3 -5 -6 -5 b -8 -5 -11 -3 -11 1 b -11 3 -11 4 -9 7 b -8 8 -7 9 -5 10 b -2 12 -1 13 0 15 b 1 13 2 12 5 10 b 7 9 8 8 9 7 b 11 4 11 3 11 1 b 11 -3 8 -5 6 -5 b 3 -5 2 -3 0 0 {\p0}")

  62. #====================================================================自改存在效果

  63.         ass_main(ASS_BUF, SubL(_BT+386,_BT+_SK),color1("FFFFFF")+blur(5)+ pos(_X, _Y), _TXT)
  64.         


  65.         ass_main(ASS_BUF,SubL(_BT+_SK,_BT+_SK+20),color1("FFBBFF")+alpha1(100)+blur(5)+t1(0,_KT+100,mov(_X,_Y,_X,_Y+20)),_TXT)

  66.         ass_main(ASS_BUF,SubL(_BT+116,_BT+386),mov(640,_Y,_X,_Y)+color1("FFBBFF")+blur(5)+alpha1(100), _TXT)

  67. #----------------------------------------------------------------

  68.         if _j >4:

  69.             for j in range(10):
  70.                 ass_main(ASS_BUF, SubL(_BT+_SK-5,_BT+_SK-5+200+randint(-10,10),1),fad(100,1000)+color1("FFFFFF")+color2("FFFFFF")+color3("FFFFFF")+fs(5)+blur(3.5)+color4("FFFFFF")+mov(_X,_Y,_X+randint(-50,50),_Y+randint(100,200)),"●")




  71. ##################################################################################

  72.     else:
  73. #=======================================================字上面红心跳效果
  74.         ass_main(ASS_BUF, SubL(_BT+_SK, _BT+_SK+_KT-10),mov(_X+5,_Y-25,_X+25,_Y-50)+be(1)+color1("FF53FF")+bord(0)+shad(0), "{\p2}m 0 0 b 0 0 0 0 0 0 b -2 -3 -3 -5 -6 -5 b -8 -5 -11 -3 -11 1 b -11 3 -11 4 -9 7 b -8 8 -7 9 -5 10 b -2 12 -1 13 0 15 b 1 13 2 12 5 10 b 7 9 8 8 9 7 b 11 4 11 3 11 1 b 11 -3 8 -5 6 -5 b 3 -5 2 -3 0 0 {\p0}")

  75.         ass_main(ASS_BUF, SubL(_BT+_SK-10, _BT+_SK),mov(_X,_Y-50,_X+5,_Y-25)+be(1)+color1("FF53FF")+bord(0)+shad(0), "{\p2}m 0 0 b 0 0 0 0 0 0 b -2 -3 -3 -5 -6 -5 b -8 -5 -11 -3 -11 1 b -11 3 -11 4 -9 7 b -8 8 -7 9 -5 10 b -2 12 -1 13 0 15 b 1 13 2 12 5 10 b 7 9 8 8 9 7 b 11 4 11 3 11 1 b 11 -3 8 -5 6 -5 b 3 -5 2 -3 0 0 {\p0}")

  76. #======================================================================雪飘退场效果
  77.         ass_main(ASS_BUF,SubL(_BT-15+_j*5,_BT+(_j+1)*5),blur(5)+ pos(_X, _Y)+fry(90)+t1(0,200,fry(0)), _TXT)
  78.         ass_main(ASS_BUF, SubL(_BT+(_j+1)*5,_BT+_SK),blur(5)+ pos(_X, _Y), _TXT)
  79.         
  80.         for j in range(8):
  81.             ass_main(ASS_BUF, SubL(_ET, _ET+50),an(7)+fad(0,500)+bord(0)+color1("FFFFFF")+color2("FFFFFF")+color3("FFFFFF")+color4("FFFFFF")+frz(randint(-360,360))+t1(0,500,frz(randint(-360,360)))+mov(_X,_Y,_X+randint(-50,50),_Y+randint(-50,50)),"{\p3}m 77 67 l 77 67 l 77 67 l 78 63 l 77 59 l 79 56 l 81 58 l 85 49 l 83 48 l 85 44 l 87 43 l 80 34 l 75 21 l 75 17 l 80 19 l 87 29 l 91 40 l 98 28 l 95 23 l 94 16 l 97 15 l 100 19 l 101 25 l 107 14 l 115 5 l 112 16 l 107 26 l 111 26 l 115 28 l 111 31 l 105 30 l 97 43 l 107 42 l 119 45 l 115 49 l 104 49 l 97 48 l 96 50 l 94 53 l 92 52 l 82 68 l 85 69 l 99 68 l 99 66 l 106 66 l 108 67 l 110 58 l 121 48 l 124 51 l 123 56 l 117 63 l 112 68 l 127 68 l 128 64 l 133 60 l 135 62 l 134 67 l 131 69 l 144 69 l 153 72 l 150 73 l 142 74 l 131 74 l 135 79 l 135 83 l 131 82 l 128 79 l 127 74 l 112 75 l 118 84 l 121 84 l 122 86 l 121 86 l 124 95 l 124 100 l 119 97 l 114 91 l 107 78 l 103 78 l 101 75 l 82 75 l 92 91 l 93 90 l 96 94 l 96 96 l 97 94 l 109 95 l 112 96 l 113 98 l 111 102 l 108 104 l 106 104 l 105 103 l 95 101 l 103 113 l 109 113 l 110 115 l 110 116 l 105 116 l 110 126 l 112 131 l 112 134 l 109 131 l 101 119 l 98 123 l 95 122 l 97 117 l 99 116 l 92 104 l 89 112 l 90 114 l 88 117 l 79 119 l 78 114 l 85 102 l 88 101 l 84 95 l 86 94 l 77 79 l 75 82 l 77 85 l 74 90 l 71 88 l 68 92 l 69 96 l 66 101 l 64 100 l 67 102 l 72 109 l 76 117 l 76 123 l 72 122 l 69 119 l 66 119 l 64 116 l 66 114 l 62 104 l 59 110 l 56 116 l 54 118 l 57 120 l 58 124 l 58 126 l 55 125 l 52 122 l 47 129 l 45 134 l 40 136 l 41 131 l 42 127 l 48 119 l 43 119 l 41 117 l 42 116 l 46 115 l 49 116 l 57 102 l 47 103 l 45 106 l 43 106 l 41 105 l 41 103 l 37 101 l 35 99 l 39 96 l 44 96 l 54 96 l 56 98 l 58 98 l 58 96 l 61 92 l 63 92 l 65 86 l 63 84 l 67 80 l 69 80 l 74 74 l 68 75 l 65 78 l 62 78 l 60 77 l 60 75 l 52 75 l 53 76 l 52 77 l 47 77 l 41 89 l 38 93 l 33 95 l 31 92 l 31 88 l 30 85 l 32 83 l 36 83 l 42 75 l 27 75 l 27 76 l 24 81 l 21 82 l 19 80 l 20 77 l 23 74 l 11 74 l 2 72 l 7 70 l 23 70 l 20 67 l 19 64 l 20 61 l 23 62 l 25 65 l 27 68 l 26 69 l 42 70 l 36 62 l 32 62 l 30 60 l 32 56 l 31 52 l 33 49 l 35 49 l 40 53 l 46 65 l 46 67 l 51 68 l 60 69 l 60 67 l 61 65 l 65 66 l 67 68 l 72 69 l 69 66 l 65 64 l 64 58 l 61 52 l 59 53 l 57 50 l 57 49 l 52 50 l 43 50 l 35 47 l 38 42 l 41 41 l 43 39 l 46 39 l 47 42 l 51 42 l 56 43 l 50 31 l 49 32 l 43 32 l 40 30 l 42 27 l 46 27 l 49 28 l 43 20 l 40 12 l 39 6 l 43 10 l 48 16 l 52 24 l 54 20 l 57 19 l 58 23 l 56 27 l 54 27 l 62 40 l 64 32 l 63 29 l 65 27 l 67 26 l 69 24 l 73 25 l 75 28 l 71 39 l 68 43 l 66 43 l 69 50 l 68 51 l 73 58 l 74 56 l 76 56 l 76 60 l 75 62 {\p0}")




  82.         ass_main(ASS_BUF,SubL(_BT+_SK,_BT+_SK+20),color1("FFBBFF")+blur(5)+alpha1(100)+t1(0,100,mov(_X,_Y,_X,_Y+10))+t1(100,200,mov(_X,_Y+10,_X,_Y)),_TXT)
  83.         ass_main(ASS_BUF,SubL(_BT+_SK+20,_ET),color1("FFBBFF")+blur(5)+pos(_X,_Y)+alpha1(100),_TXT)


  84.                
  85. #===============================================================飘雪效果

  86.         for j in range(12):
  87.             ass_main(ASS_BUF, SubL(_BT+_SK-5,_BT+_SK-5+200+randint(-10,10),1),fad(100,1000)+color1("FFFFFF")+color2("FFFFFF")+color3("FFFFFF")+fs(5)+blur(3.5)+color4("FFFFFF")+mov(_X+randint(-20,20),_Y+randint(-25,25),_X+randint(-70,70),_Y+randint(100,200)),"●")

  88. #######################################################################


  89.     return (ASS_BUF, None)               
复制代码
补上视频预览
http://player.youku.com/player.php/sid/XMzYxMzE2NDQw/v.swf
作者: mzlmcx    时间: 2012-3-6 21:38:25

GJ

顶一发
作者: 渣渣疯子    时间: 2012-3-6 22:11:09

加油,顶一个
作者: 兜兜里没糖    时间: 2012-3-7 08:16:28

求视频
作者: six    时间: 2012-3-7 09:57:13

兜兜里没糖 发表于 2012-3-7 08:16
求视频

群邮件里有- -你只顾着看兜里的糖了么- -
作者: 四月一日 君寻    时间: 2012-3-7 10:12:35

来支持个
作者: w3634559    时间: 2012-3-7 17:15:29

支持个.先试试效果
作者: 兜兜里没糖    时间: 2012-3-7 18:04:42

six 发表于 2012-3-7 09:57
群邮件里有- -你只顾着看兜里的糖了么- -

好吧 我错了 看到了
作者: aya_zaz    时间: 2012-3-13 10:19:18

小白求解怎么用
作者: milkyjing    时间: 2012-3-13 12:34:44

aya_zaz 发表于 2012-3-13 10:19
小白求解怎么用

先看教程
作者: 593907    时间: 2012-3-15 21:00:34

感谢分享。不会编程只有用现成的啦
作者: justinluthor    时间: 2012-3-25 13:41:48

这段特效有问题  不能解析啊?
作者: 忘却の小伊    时间: 2012-3-25 20:11:40

justinluthor 发表于 2012-3-25 13:41
这段特效有问题  不能解析啊?

请上图...
大伙都可以....




欢迎光临 TCAX 字幕特效制作工具官方论坛 | ASS | TCAS | Python | Aegisub | Lua (http://tcax.org/) Powered by Discuz! X2