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

 找回密码
 加入社区
查看: 802|回复: 1

[完整特效] [C70d]Chain Chronicle_ED [复制链接]

Rank: 4

发表于 2017-1-26 01:08:45 |显示全部楼层
    学习了个把月的特效 从头开始真心痛苦啊 第一次发帖纪念一下 也算是对这个月学习的成果交个作业吧 很粗糙就是了....
  1. ################################################################################
  2. ### description:
  3. ### fade in


  4. from tcaxPy import *


  5. def tcaxPy_Init():
  6.     global _FD      
  7.     global _FontFileName                  
  8.     global _Blur,_Bord
  9.     global _Fs
  10.     _FontFileName = GetVal(val_FontFileName)
  11.     _Bord = GetVal(val_Bord)   
  12.     _Fs = GetVal(val_FontSize)
  13.     _FD = 1000 / GetVal(val_FXFPS)
  14.     _Blur = GetVal(val_Blur)

  15.      
  16. def tcaxPy_Fin():
  17.     pass
  18.    

  19. def tcaxPy_Main(_i, _j, _n, _start, _end, _elapk, _k, _x, _y, _a, _txt):
  20.     ASS_BUF  = []        # used for saving ASS FX lines
  21.     TCAS_BUF = []        # used for saving TCAS FX raw data
  22.    

  23.     if _i==0 or _i ==1:
  24.         ass_main(ASS_BUF, SubL(_start+_elapk-40,_start+_elapk+_k-30),pos(_x,_y)+fad(300,0)+frz(360)+alpha(200)+fsc(0,0)+animation(fsc(100,100)+alpha(0)+frz(0)), _txt)

  25.         ass_main(ASS_BUF, SubL(_start+_elapk+_k-30, _end+10),pos(_x,_y),_txt)

  26.      
  27.    
  28.     if _i==2 or _i==3:
  29.         ass_main(ASS_BUF, SubL(_start,_end,5),pos(_x,_y)+fad(300,0), _txt)
  30.         
  31.         #向右
  32.         if _j==2 or _j==9:
  33.             ass_main(ASS_BUF, SubL(_start,_end,10),fsc(150,150)+blur(3)+xshad(2)+color3('13140F')+color1('A7A683')+frz(30)+ move(_x - _Fs/2, _y - _Fs/2 , _x + _Fs/2, _y + _Fs/2 ) + fad(300,300), "{\p1}m 0 0 l 0 0 l 2 0 l 0 0 l 0 0 b -1 3 -1 10 2 10 l 2 0 m 4 16 l 4 16 b 7 16 7 25 4 25 m 2 8 l 2 18 l 4 18 l 4 8 l 2 8 m 2 23 l 2 33 l 4 33 l 4 23 l 2 23 l 2 31 b -1 31 -1 41 2 41 m 4 0 l 6 0 b 7 3 7 10 4 10 l 4 0 m 4 31 l 4 31 b 7 31 7 41 4 41 m 2 39 l 2 48 l 4 48 l 4 39 l 2 39 m 2 46 l 2 46 b -1 46 -1 56 2 56 m 4 46 l 4 46 b 7 46 7 56 4 56 m 2 54 l 2 63 l 4 63 l 4 54 l 2 54 m 2 61 l 2 61 b -1 61 -1 71 2 71 m 4 61 l 4 61 b 7 61 7 71 4 71 m 2 69 l 2 78 l 4 78 l 4 69 l 2 69 m 2 76 l 2 76 b -1 76 -1 86 2 86 m 4 76 l 4 76 b 7 76 7 86 4 86 m 2 84 l 2 93 l 4 93 l 4 84 l 2 84 m 2 91 l 2 91 b -1 91 -1 101 2 101 m 4 91 l 4 91 b 7 91 7 101 4 101 m 2 16 b -1 16 -1 25 2 25 {\p0}")
  34.         #向左
  35.         if _j==5 or _j==12 or _j==9:
  36.             ass_main(ASS_BUF, SubL(_start,_end,2),fsc(150,150)+xshad(2)+blur(4)+color3('13140F')+color1('A7A683')+frz(-30) + move(_x - _Fs/2, _y + _Fs/2 , _x + _Fs/2, _y - _Fs/2) + fad(300,300), "{\p1}m 0 0 l 0 0 l 2 0 l 0 0 l 0 0 b -1 3 -1 10 2 10 l 2 0 m 4 16 l 4 16 b 7 16 7 25 4 25 m 2 8 l 2 18 l 4 18 l 4 8 l 2 8 m 2 23 l 2 33 l 4 33 l 4 23 l 2 23 l 2 31 b -1 31 -1 41 2 41 m 4 0 l 6 0 b 7 3 7 10 4 10 l 4 0 m 4 31 l 4 31 b 7 31 7 41 4 41 m 2 39 l 2 48 l 4 48 l 4 39 l 2 39 m 2 46 l 2 46 b -1 46 -1 56 2 56 m 4 46 l 4 46 b 7 46 7 56 4 56 m 2 54 l 2 63 l 4 63 l 4 54 l 2 54 m 2 61 l 2 61 b -1 61 -1 71 2 71 m 4 61 l 4 61 b 7 61 7 71 4 71 m 2 69 l 2 78 l 4 78 l 4 69 l 2 69 m 2 76 l 2 76 b -1 76 -1 86 2 86 m 4 76 l 4 76 b 7 76 7 86 4 86 m 2 84 l 2 93 l 4 93 l 4 84 l 2 84 m 2 91 l 2 91 b -1 91 -1 101 2 101 m 4 91 l 4 91 b 7 91 7 101 4 101 m 2 16 b -1 16 -1 25 2 25 {\p0}")
  37.             
  38.         step = _FD/10
  39.         ts = _start + _elapk
  40.         te = _start + _elapk + _k
  41.         for i in range(ts,te,int(step)):
  42.             ts1 = i
  43.             te1 = i+ step
  44.             EFT = an(5)+blur(2)+pos(_x+randint(-3,3),_y+randint(-3,3))
  45.             ass_main(ASS_BUF, SubL(ts1,te1,5),EFT,_txt)
  46.         
  47.         ass_main(ASS_BUF, SubL(_start, _end+10),pos(_x,_y),_txt)
  48.         
  49.       
  50.         
  51.     if _i==4:
  52.         step = _FD/10
  53.         ts = _start + _elapk
  54.         te = _start + _elapk + _k
  55.         for i in range(ts,te,int(step)):
  56.             ts1 = i
  57.             te1 = i+ step
  58.             EFT = an(5)+blur(2)+pos(_x+randint(-3,3),_y+randint(-3,3))
  59.             ass_main(ASS_BUF, SubL(ts1,te1,5),EFT,_txt)
  60.             
  61.         if _j==0 or _j==3 or _j==7 or _j==10:   
  62.             ass_main(ASS_BUF, SubL(_start+_elapk-100,_start+_elapk+_k+20),blur(2)+color1('BF6D6F')+color3('FFFFFF')+fsc(50,50)+frz(20)+move(_x-30,_y-80,_x+10,_y+20),"{\p1}m 0 106 l 4 77 l 4 10 l 5 0 l 10 0 l 22 4 l 23 -2 l 4 -10 l 2 -45 l 3 -50 l 0 -55 l -3 -50 l -2 -45 l -4 -10 l -24 -2 l -22 4 l -10 0 l -5 0 l -4 10 l -4 77 {\p0}")
  63.             
  64.         if _j==1 or _j==5 or _j==8 or _j==13:   
  65.             ass_main(ASS_BUF, SubL(_start+_elapk-100,_start+_elapk+_k+20),blur(2)+color1('BF6D6F')+color3('FFFFFF')+fsc(50,50)+frz(-15)+move(_x+30,_y-80,_x-10,_y+20),"{\p1}m 0 106 l 4 77 l 4 10 l 5 0 l 10 0 l 22 4 l 23 -2 l 4 -10 l 2 -45 l 3 -50 l 0 -55 l -3 -50 l -2 -45 l -4 -10 l -24 -2 l -22 4 l -10 0 l -5 0 l -4 10 l -4 77 {\p0}")  
  66.             
  67.         if _j==0 or _j==3 or _j==7 or _j==10:   
  68.             ass_main(ASS_BUF, SubL(_start+_elapk+_k+20,_end),blur(2)+pos(_x+10,_y+20)+color1('BF6D6F')+color3('FFFFFF')+fsc(50,50)+frz(20),"{\p1}m 0 106 l 4 77 l 4 10 l 5 0 l 10 0 l 22 4 l 23 -2 l 4 -10 l 2 -45 l 3 -50 l 0 -55 l -3 -50 l -2 -45 l -4 -10 l -24 -2 l -22 4 l -10 0 l -5 0 l -4 10 l -4 77 {\p0}")
  69.             
  70.         if _j==1 or _j==5 or _j==8 or _j==13:   
  71.             ass_main(ASS_BUF, SubL(_start+_elapk+_k+20,_end),blur(2)+color1('BF6D6F')+color3('FFFFFF')+fsc(50,50)+frz(-15)+pos(_x-10,_y+20),"{\p1}m 0 106 l 4 77 l 4 10 l 5 0 l 10 0 l 22 4 l 23 -2 l 4 -10 l 2 -45 l 3 -50 l 0 -55 l -3 -50 l -2 -45 l -4 -10 l -24 -2 l -22 4 l -10 0 l -5 0 l -4 10 l -4 77 {\p0}")
  72.         
  73.         ass_main(ASS_BUF, SubL(_start, _end+20),pos(_x,_y),_txt)
  74.    
  75.     if _i>4:
  76.         step = _FD/10
  77.         ts = _start + _elapk
  78.         te = _start + _elapk + _k
  79.         for i in range(ts,te,int(step)):
  80.             ts1 = i
  81.             te1 = i+ step
  82.             EFT = an(5)+blur(2)+pos(_x+randint(-3,3),_y+randint(-3,3))
  83.             ass_main(ASS_BUF, SubL(ts1,te1,10),EFT,_txt)
  84.             
  85.             ass_main(ASS_BUF, SubL(ts1,te1+30,1),alpha3(randint(150,200))+an(5)+xbord(randint(30,40))+ybord(randint(30,40))+blur(10)+shad(0)+mov(_x-20,_y,_x+20,_y) +fad(50,300)+color1('0000EE')+color3('0000EE'),"●")
  86.             ass_main(ASS_BUF, SubL(ts1,te1+30,2),alpha3(randint(80,150))+an(5)+xbord(randint(20,30))+ybord(randint(20,30))+blur(10)+shad(0)+mov(_x-20,_y,_x+20,_y) +fad(50,300)+color1('0080FF')+color3('0080FF'),"●")
  87.             ass_main(ASS_BUF, SubL(ts1,te1+30,3),alpha3(randint(50,100))+an(5)+xbord(randint(5,10))+ybord(randint(5,10))+blur(10)+shad(0)+mov(_x-20,_y,_x+20,_y) +fad(50,300)+color1('FFFFFF')+color3('FFFFFF'),"●")
  88.             

  89.         ass_main(ASS_BUF, SubL(_start, _end+30,5),pos(_x,_y),_txt)
  90.    
  91.    
  92.    
  93.     return (ASS_BUF, TCAS_BUF)
复制代码
链接:http://pan.baidu.com/s/1bpmW2zt 密码:a4e7

最后最后我想那个光球来个循环回到第一个字前面去,然后往后走 结束后再回到第一个字上面 这个实在想不到 完全没思路 求方法啊QAQ

Rank: 4

发表于 2017-8-18 17:42:17 |显示全部楼层
还不错,至少新人也很难写出这样的
您需要登录后才可以回帖 登录 | 加入社区

GitHub|TCAX 主页

GMT+8, 2018-10-24 07:45

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部
RealH