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

 找回密码
 新人加入
查看: 16695|回复: 69
打印 上一主题 下一主题

[已解决] 求助这两个特效如何组合0.0 [复制链接]

Rank: 4

跳转到指定楼层
楼主
发表于 2012-9-12 20:22:05 |只看该作者 |倒序浏览
呜咕。。偶想的特效是这样的:在K值里一个字一个字从右边移动到你设定的地方。。可是偶弄出了移动的特效。。还有遮罩。。可是两个组合起来就没特效了怎么回事呀?
呜咕。。这个是移动特效的代码
  1. from tcaxPy import *


  2. def tcaxPy_Init():
  3.     global _FD                              # frame duration, in millisecond
  4.     global _Fs
  5.     global _Blur
  6.     global COLOR
  7.     _FD = 1000 / GetVal(val_FXFPS)
  8.     _Fs = GetVal(val_FontSize)
  9.     _Blur = GetVal(val_Blur)
  10.     COLOR = DivClr(GetVal(val_1C), GetVal(val_2C), _Fs)

  11. def tcaxPy_Fin():
  12.     pass


  13. time_gap = 1    # you can change this value to 0, or 2 or any other number
  14. time_fac = 1    # you can change this value to 0, or 2 or any other number

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

  18.     duration = 10 * _FD
  19.     ts = _start + _elapk                                   # start time, in semi-second
  20.     te = _start + _elapk + _k
  21.     EFT =  move(_x + 200, _y , _x, _y)
  22.     ass_main(ASS_BUF, SubL(ts, te), EFT, _txt)

  23.     return (ASS_BUF, TCAS_BUF)
复制代码
呜咕。。这个是遮罩:
  1. from tcaxPy import *


  2. def tcaxPy_Init():
  3.     global _FD                         # frame duration, in millisecond
  4.     global _Fs
  5.     global _Blur
  6.     global COLOR
  7.     _FD = 1000 / GetVal(val_FXFPS)
  8.     _Fs = GetVal(val_FontSize)
  9.     _Blur = GetVal(val_Blur)
  10.     COLOR = DivClr(GetVal(val_1C), GetVal(val_2C), _Fs)


  11. def tcaxPy_Fin():
  12.     pass


  13. time_gap = 1    # you can change this value to 0, or 2 or any other number
  14. time_fac = 1    # you can change this value to 0, or 2 or any other number

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

  18.     ts = _start + _elapk
  19.     te = _end - (_n - _j - 1) * time_fac * _FD / 10 + time_gap * _FD / 10
  20.     y1 = _y - _a / 2
  21.     y2 = _y + _a / 2
  22.     for i in range(_Fs):
  23.         x1 = _x - _Fs / 2 + i
  24.         x2 = x1 + 1
  25.         EFT = pos(_x, _y) + clip(x1, y1, x2, y2) + color1(COLOR[i]) + alpha3(255)
  26.         if _Blur > 0:
  27.             EFT += blur(_Blur)
  28.         ass_main(ASS_BUF, SubL(ts + i * _k / _Fs, te, 10), EFT, _txt)

  29.     return (ASS_BUF, TCAS_BUF)
复制代码
啊呜。。这个就是偶将它们组合的可是显示无特效:
  1. from tcaxPy import *


  2. def tcaxPy_Init():
  3.     global _FD                         # frame duration, in millisecond
  4.     global _Fs
  5.     global _Blur
  6.     global COLOR
  7.     _FD = 1000 / GetVal(val_FXFPS)
  8.     _Fs = GetVal(val_FontSize)
  9.     _Blur = GetVal(val_Blur)
  10.     COLOR = DivClr(GetVal(val_1C), GetVal(val_2C), _Fs)


  11. def tcaxPy_Fin():
  12.     pass


  13. time_gap = 1    # you can change this value to 0, or 2 or any other number
  14. time_fac = 1    # you can change this value to 0, or 2 or any other number

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

  18.     ts = _start + _elapk
  19.     te = _end - (_n - _j - 1) * time_fac * _FD / 10 + time_gap * _FD / 10
  20.     y1 = _y - _a / 2
  21.     y2 = _y + _a / 2
  22.     for i in range(_Fs):
  23.         x1 = _x - _Fs / 2 + i
  24.         x2 = x1 + 1
  25.         EFT = clip(x1, y1, x2, y2) + color1(COLOR[i]) + alpha3(255) + move(_x + 100, _y , _x, _y)
  26.         if _Blur > 0:
  27.             EFT += blur(_Blur)
  28.         ass_main(ASS_BUF, SubL(ts + i * _k / _Fs, te, 10), EFT, _txt)

  29.     return (ASS_BUF, TCAS_BUF)
复制代码
啊呜。。。为什么呢(T.T)。。还有就是。。TCAX可以使用jitter这个抖动特效吗?

Rank: 4

沙发
发表于 2012-9-12 20:23:30 |只看该作者
呜咕。。这个笨蛋又来问问题了(T.T)

Moderator

疯子

Rank: 5Rank: 5

板凳
发表于 2012-9-12 20:51:14 |只看该作者
clip和move是无法组合的。。。clip想移动的话,考虑用t吧

Rank: 4

地板
发表于 2012-9-12 20:55:16 |只看该作者
渣渣疯子 发表于 2012-9-12 20:51
clip和move是无法组合的。。。clip想移动的话,考虑用t吧

啊呜。。这样吗:EFT = clip(x1, y1, x2, y2) + color1(COLOR) + alpha3(255) + t(0, 10 * _k, clip(x1 + 100, y1, x2, y2))

Moderator

疯子

Rank: 5Rank: 5

5#
发表于 2012-9-12 21:07:46 |只看该作者
爱雪音MiKu 发表于 2012-9-12 20:55
啊呜。。这样吗:EFT = clip(x1, y1, x2, y2) + color1(COLOR) + alpha3(255) + t(0, 10 * _k, clip(x1 + ...

四个坐标点都要修改的吧。。。不知道你有没有去下过内置脚本http://www.tcax.org/forum.php?mo ... &extra=page%3D1这个内置脚本有clip移动的例子,你下了看看?

Rank: 4

6#
发表于 2012-9-12 21:09:13 |只看该作者
渣渣疯子 发表于 2012-9-12 21:07
四个坐标点都要修改的吧。。。不知道你有没有去下过内置脚本http://www.tcax.org/forum. ...

呜咕。。好偶去看看。。到现在一直是研究TCAX自带的内置0.0。。没下过新的

Moderator

疯子

Rank: 5Rank: 5

7#
发表于 2012-9-12 21:12:13 |只看该作者
爱雪音MiKu 发表于 2012-9-12 21:09
呜咕。。好偶去看看。。到现在一直是研究TCAX自带的内置0.0。。没下过新的 ...

新的内置也有不少不错的效果,不过需要论坛币购买

Rank: 4

8#
发表于 2012-9-12 21:57:14 |只看该作者
渣渣疯子 发表于 2012-9-12 21:12
新的内置也有不少不错的效果,不过需要论坛币购买

嘎哦。。V。。偶现在有多少就买多少吧(T.T)

Rank: 4

9#
发表于 2012-9-13 13:04:00 |只看该作者
渣渣疯子 发表于 2012-9-12 21:12
新的内置也有不少不错的效果,不过需要论坛币购买

呜咕。。那个特效偶试了该一下。。遮罩偶做出来。。可是字幕从右边移动到指定的位置了。可是K值效果结束也就没了(T.T)。。遮罩没做好?
  1. from tcaxPy import *


  2. def tcaxPy_Init():
  3.     global _FD                         # frame duration, in millisecond
  4.     global _Blur
  5.     global _Fs
  6.     _Fs = GetVal(val_FontSize)
  7.     _FD = 1000 / GetVal(val_FXFPS)
  8.     _Blur = GetVal(val_Blur)


  9. def tcaxPy_Fin():
  10.     pass


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

  14.     _7X = _x - int(_a / 2 + 0.5)
  15.     _7Y = _y - int(_Fs / 2 + 0.5)

  16.     ts = _start + _elapk                                   # start time, in semi-second
  17.     te = _end - (_n - _j - 1)  * _FD / 10  * _FD / 10  
  18.     for i in range(0,_a,3):
  19.         for j in range(0,_Fs,3):
  20.             COLOR=[ "696AFF", "FF9C69","69EBFF","A5BDED","C9F2DC" ]
  21.             COLOR1=color1(COLOR[randint(0,4)])
  22.             R = randint(-10,10)
  23.             Xx1 = 50
  24.             MOVE1 = move(_x+Xx1,_y,_x,_y)
  25.             CLIP1 = clip(_7X+i+Xx1,_7Y+j,_7X+i+1+Xx1,_7Y+j+1)+t(clip(_7X+i,_7Y+j,_7X+i+3,_7Y+j+3))
  26.             if _Blur > 0:
  27.                 EFT = MOVE1+CLIP1+COLOR1+blur(_Blur)
  28.             ass_main(ASS_BUF,SubL(ts + i * _k / _Fs + R, te, 10), EFT, _txt)
  29.     return (ASS_BUF, TCAS_BUF)
复制代码

Rank: 4

10#
发表于 2012-9-13 13:35:12 |只看该作者
本帖最后由 kk123456 于 2012-9-13 13:50 编辑
  1. from tcaxPy import *


  2. def tcaxPy_Init():
  3.     global _FD                         # frame duration, in millisecond
  4.     global _Blur
  5.     global _Fs
  6.     _Fs = GetVal(val_FontSize)
  7.     _FD = 1000 / GetVal(val_FXFPS)
  8.     _Blur = GetVal(val_Blur)


  9. def tcaxPy_Fin():
  10.     pass


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

  14.     _7X = _x - int(_a / 2 + 0.5)
  15.     _7Y = _y - int(_Fs / 2 + 0.5)

  16.     ts = _start + _elapk
  17.     te0 =_start + _elapk +_k                              
  18.     te = _end - (_n - _j - 1)  * _FD / 10  * _FD / 10  
  19.     for i in range(0,_a,3):
  20.         for j in range(0,_Fs,3):
  21.             COLOR=[ "696AFF", "FF9C69","69EBFF","A5BDED","C9F2DC" ]
  22.             COLOR1=color1(COLOR[randint(0,4)])
  23.             R = randint(-10,10)
  24.             Xx1 = 50
  25.             MOVE1 = move(_x,_y,_x,_y)
  26.             CLIP1 = clip(_7X+i+Xx1,_7Y+j,_7X+i+1+Xx1,_7Y+j+1)+t(clip(_7X+i,_7Y+j,_7X+i+3,_7Y+j+3))
  27.            
  28.             EFT = MOVE1+CLIP1+COLOR1+blur(_Blur)
  29.             ass_main(ASS_BUF,SubL(ts + j*_k/_Fs + R, te0, 10), EFT, _txt)
  30.     ass_main(ASS_BUF,SubL(te0, te, 11), pos(_x,_y), _txt)
  31.     return (ASS_BUF, TCAS_BUF)
复制代码
改成这样试试

Rank: 4

11#
发表于 2012-9-13 13:38:33 |只看该作者
kk123456 发表于 2012-9-13 13:35
改成这样试试

呜咕。。这样改字幕就变成一个点了0.0

Rank: 4

12#
发表于 2012-9-13 13:49:26 |只看该作者
本帖最后由 kk123456 于 2012-9-13 14:09 编辑
爱雪音MiKu 发表于 2012-9-13 13:38
呜咕。。这样改字幕就变成一个点了0.0


遮罩写错了

Rank: 4

13#
发表于 2012-9-13 13:53:57 |只看该作者
如果想在遮罩有移动效果的话参考这个
http://www.tcax.org/forum.php?mo ... &extra=page%3D1

Rank: 4

14#
发表于 2012-9-13 13:56:49 |只看该作者
爱雪音MiKu 发表于 2012-9-13 13:04
呜咕。。那个特效偶试了该一下。。遮罩偶做出来。。可是字幕从右边移动到指定的位置了。可是K值效果结束 ...

你这个的结束时间并不是_k的结束时间,如果这样写的话唱完了那个字可eft效果还在继续.

Rank: 4

15#
发表于 2012-9-13 14:07:52 |只看该作者
本帖最后由 kk123456 于 2012-9-13 14:12 编辑
爱雪音MiKu 发表于 2012-9-13 13:38
呜咕。。这样改字幕就变成一个点了0.0
  1. from tcaxPy import *


  2. def tcaxPy_Init():
  3.     global _FD                         # frame duration, in millisecond
  4.     global _Blur
  5.     global _Fs
  6.     _Fs = GetVal(val_FontSize)
  7.     _FD = 1000 / GetVal(val_FXFPS)
  8.     _Blur = GetVal(val_Blur)


  9. def tcaxPy_Fin():
  10.     pass


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

  14.     _7X = _x - int(_a / 2 + 0.5)
  15.     _7Y = _y - int(_Fs / 2 + 0.5)

  16.     ts = _start + _elapk
  17.     te0 =_start + _elapk +_k                              
  18.     te = _end - (_n - _j - 1)  * _FD / 10  * _FD / 10  
  19.     for i in range(0,_a,3):
  20.         for j in range(0,_Fs,3):
  21.             COLOR=[ "696AFF", "FF9C69","69EBFF","A5BDED","C9F2DC" ]
  22.             COLOR1=color1(COLOR[randint(0,4)])
  23.             R = randint(-10,10)
  24.             Xx1 = 50
  25.             MOVE1 = move(_x+Xx1,_y,_x,_y)
  26.             CLIP1 = clip(_7X+i+Xx1,_7Y+j,_7X+i+3+Xx1,_7Y+j+3)+t(clip(_7X+i,_7Y+j,_7X+i+3,_7Y+j+3))
  27.            
  28.             EFT = MOVE1+CLIP1+COLOR1+blur(_Blur)
  29.             ass_main(ASS_BUF,SubL(ts + i*_k/_Fs + R, te0, 10), EFT, _txt)
  30.     ass_main(ASS_BUF,SubL(te0, te, 11), pos(_x,_y), _txt)
  31.     return (ASS_BUF, TCAS_BUF)
复制代码
试试这个吧,应该是你想要的效果了。我要去上课了

Moderator

疯子

Rank: 5Rank: 5

16#
发表于 2012-9-13 17:01:32 |只看该作者
今天上课刚回来,我是不太理解你想要什么样的效果。。。但是,你这种写法的话,所做的clip貌似会改变形状CLIP1 = clip(_7X+i+Xx1,_7Y+j,_7X+i+1+Xx1,_7Y+j+1)+t(clip(_7X+i,_7Y+j,_7X+i+3,_7Y+j+3)),这个的话,y1位置没有变动,不知道你是想让clip移动,还是想让clip底下的字体发生变化,如果想让clip底下的字体发生变化的话,就参考下上面那个link里的mask吧

Rank: 4

17#
发表于 2012-9-13 19:03:18 |只看该作者
kk123456 发表于 2012-9-13 14:07
试试这个吧,应该是你想要的效果了。我要去上课了

呜咕。。刚刚放学到家。。这个代码遮罩还是不行呢。。。K值效果结束字也就没了0.0

Rank: 4

18#
发表于 2012-9-13 19:06:02 |只看该作者
渣渣疯子 发表于 2012-9-13 17:01
今天上课刚回来,我是不太理解你想要什么样的效果。。。但是,你这种写法的话,所做的clip貌 ...

啊呜。。偶也刚放学到家呢。。偶希望的特效是这样的。。比如:在K值里。。_x+50,_y。。移动到_x,_y。。也就是字幕在K值里。。从右边移动到设定的位置咯。。Y位置不要变的哦

Moderator

疯子

Rank: 5Rank: 5

19#
发表于 2012-9-13 19:22:39 |只看该作者
爱雪音MiKu 发表于 2012-9-13 19:06
啊呜。。偶也刚放学到家呢。。偶希望的特效是这样的。。比如:在K值里。。_x+50,_y。。移动到_x,_y。。也 ...

这么理解下,遮罩和字体是两层,字体的移动可以是move(_x+50,_y,_x,_y)但是遮罩是用了clip,clip是确定遮罩形状的东西,所以,单纯的让遮罩横向移动的话,不应该改变遮罩的形状,你试试这样做CLIP = clip(_x1+50,_y1,_x2+50,_y2)+t(clip(_x1,_y1,_x2,_y2)),这个坐标只是举例,你实际用尝试修改试试

Rank: 4

20#
发表于 2012-9-13 19:30:05 |只看该作者
渣渣疯子 发表于 2012-9-13 19:22
这么理解下,遮罩和字体是两层,字体的移动可以是move(_x+50,_y,_x,_y)但是遮罩是用了clip,clip是确定遮 ...

呜咕。。好。。偶去改改。。谢谢啦。。
您需要登录后才可以回帖 登录 | 新人加入

GitHub|TCAX 主页

GMT+8, 2024-4-26 14:40

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部
RealH