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

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

[已解决] 这种特效如何编写得到呢? [复制链接]

Rank: 4

跳转到指定楼层
楼主
发表于 2012-9-9 20:43:00 |显示全部楼层 |倒序浏览
本帖最后由 爱雪音MiKu 于 2012-9-12 20:11 编辑

呜咕。。就是那种。。一开始一句字幕。。无颜色的。。然后通过颜色填充就有颜色了。。偶试了改EFT的。。可是填充一个字。。到下一个字之前的填充就没了(T.T)。。可以改什么代码修改这样的缺憾吗。。这种特效很多字幕组用呢。。。


偶会在这里常驻一段时间。。好好学习TCAX。。希望这里的大大帮忙。。
(之前一直都用AE,Vegas做字幕。。可是TCAX的特效真的非常的美。。。偶非常喜欢。。)
偶对编程几乎不懂。。所以学TCAX的时候问题很多。。。希望这里的大大能帮帮偶。。非常感谢。。

Rank: 4

沙发
发表于 2012-9-9 20:53:31 |显示全部楼层
milkyjing 发表于 2012-9-9 20:50
之前填充的没掉, 是因为时效设定的问题...拼接下时间就行了
  1. ################################################################################
  2. ### description:
  3. ### normal karaoke


  4. from tcaxPy import *


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


  10. def tcaxPy_Fin():
  11.     pass


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

  15.     ts = _start + _elapk                                   # start time, in semi-second
  16.     te = _start + _elapk + _k                              # end time, in semi-second
  17.     EFT = pos(_x, _y) + K(_k)                              # ASS events
  18.     if _Blur > 0:
  19.         EFT += blur(_Blur)
  20.     ass_main(ASS_BUF, SubL(ts, te, 10), EFT, _txt)         # store the effect

  21.     return (ASS_BUF, TCAS_BUF)
复制代码
呜咕。。比如eft_001的这个内置特效。。。K(_k)这句就单字的K值。。这个K值特效做完了。。就会回复到原来的字了。。。要怎么设置。。才可以保留填充的颜色呢?

Rank: 4

板凳
发表于 2012-9-10 12:45:08 |显示全部楼层
kk123456 发表于 2012-9-9 22:01
修改时间,比如将te直接改成结束效果的开始时间,然后不要存在效果了。
或者将存在效果的颜色改为填充色也 ...

呜咕。。可以详细点吗。。如何改te?。。偶试了把那个_k这个去了就和开始的那个一样了。。可是有错误(T.T)

Rank: 4

地板
发表于 2012-9-10 12:45:32 |显示全部楼层
渣渣疯子 发表于 2012-9-10 10:10
内置脚本里有类似的效果吧,而且用clip也可以做,eft_001就是这个效果

呜咕。。0.0。。clip是什么

Rank: 4

5#
发表于 2012-9-10 20:11:21 |显示全部楼层
渣渣疯子 发表于 2012-9-10 17:56
clip是切割,切割一个形状做遮罩,具体的用法的话...http://www.tcax.org/forum.php?mod=viewthread&ti ...

呜咕。。看不懂(T.T)。。Clip = clip(int(_X-_A / 2), int(_Y-_Fs/2+k), int(_X+_A/2), int(_Y-_Fs/2+k+1))

这句能帮偶讲解一下吗  。。还有那个/2是干什么的呢?(是除号?)

Rank: 4

6#
发表于 2012-9-10 20:27:31 |显示全部楼层
渣渣疯子 发表于 2012-9-10 20:20
配个渣图吧,clip就是做个遮罩,显示范围就是方框内,clip(x1,y1,x2,y2)这些坐标对应方框的范围,/2是除 ...

呜咕。。V。。明白。。对了TCAX里 符号偶想了解一下。。。“—”是减号?,“*”乘号?,“+”是加特效?

Rank: 4

7#
发表于 2012-9-11 13:21:11 |显示全部楼层
milkyjing 发表于 2012-9-10 22:10
对于数字, 有四则运算, 加%取摸, //整除, 对于字符串+就是连接两个字符串了...
可以先看一下基本的Pytho ...
  1. from tcaxPy import *


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


  7. def tcaxPy_Fin():
  8.     pass


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

  12.     ts = _start + _elapk                                   # start time, in semi-second
  13.     te = _start + _elapk + _k                              # end time, in semi-second
  14.     EFT = pos(_x, _y) + K(_k)                              # ASS events
  15.     if _Blur > 0:
  16.         EFT += blur(_Blur)
  17.     ass_main(ASS_BUF, SubL(ts, te, 10), EFT, _txt)
  18.      
  19.     ts = _start + _elapk + _k
  20.     te = _end + _k
  21.     EFT = pos(_x, _y) + K(_k)
  22.     ass_main(ASS_BUF, SubL(ts, te, 10), EFT, _txt)        
  23.     return (ASS_BUF, TCAS_BUF)
复制代码
呜咕。。这样么0.0。效果不是那样填充的(T.T)。。偶理解错了吗

Rank: 4

8#
发表于 2012-9-11 13:23:34 |显示全部楼层
渣渣疯子 发表于 2012-9-10 21:55
没看过python的基础教程么?_这符号不是减号,- 才是减号...乘号没错,+号可以算连接符, ...

呜咕。。看过0.0。。偶看的就是本论坛的入门教程和进阶教程。。就是-这个号没讲到。。在编程里各种符号的用法不一样。。所以偶不确定这个符号的意思。

Rank: 4

9#
发表于 2012-9-11 20:28:25 |显示全部楼层
渣渣疯子 发表于 2012-9-11 19:53
去找些完整脚本看看吧,然后尝试改写,等熟悉了格式,再尝试自己来写自己的东西吧 ...
  1. x1 = _x - _a / 2
  2.     x2 = _x + _a / 2
  3.     for i in range(_Fs):
  4.         y1 = _y - _Fs / 2 + i
  5.         y2 = y1 + 1
  6.         EFT = pos(_x, _y) + clip(x1, y1, x2, y2) + color1(COLOR[i]) + alpha3(255)
复制代码
呜咕。。V。。先学习内置特效咯。。。上面的这段代码的意思是:
是:X坐标减a(a相当于字的宽度?)除2
      x坐标加a除2
      for i in range(_Fs)这句什么意思?。。偶只知道与字的大小有关0.0
      y坐标减设置的字体大小除2,加i
      Y1再加1
      字幕的位置,切割遮罩,颜色,透明度。。。。。这样理解对吗?
   
可是偶感觉那个遮罩切割了好奇怪(T.T)。。想不出那个遮罩的形状(T.T)
  

Rank: 4

10#
发表于 2012-9-11 20:55:51 |显示全部楼层
渣渣疯子 发表于 2012-9-11 20:43
for i in range (5)如果这样明白么?你有看到教程的循环部分么?for循环和while循环都去看 ...

呜咕。。V。。遮罩形状知道了。。就为什么要除2呢?。。除2偶总是想不通(T.T)。。

Rank: 4

11#
发表于 2012-9-11 21:10:01 |显示全部楼层
渣渣疯子 发表于 2012-9-11 21:03
嘿嘿,这个10L也有解释啊,an(5)的问题,如果是an(7)的话,就是x1=_x x2=_x+_a y1 = _y+i ...

呜咕。。V。。明白了0.0。。这样讲解详细多了【这货比较笨(T.T)。。非常感谢。。

Rank: 4

12#
发表于 2012-9-11 21:32:29 |显示全部楼层
渣渣疯子 发表于 2012-9-11 21:22
没事,同类人=。=我也是那种需要手把手仔细教才能懂得人

嘎哦。。www

Rank: 4

13#
发表于 2012-9-12 13:12:40 |显示全部楼层
six 发表于 2012-9-12 08:23
你完了,轴神准备手把手教你体位。

呜咕。。轴神0.0。。打时间轴超厉害吗0.0

Rank: 4

14#
发表于 2012-9-12 19:49:55 |显示全部楼层
six 发表于 2012-9-12 15:48
轴神最厉害的不在于他打轴厉害,而是他通过不断的打轴领悟了特效制作的精华。 ...

啊呜。。好厉害的大大0.0。。也就是说能做很多很多特效了?

Rank: 4

15#
发表于 2012-9-12 21:58:53 |显示全部楼层
milkyjing 发表于 2012-9-12 21:35
是的, 我想你也可以.

呜咕。。偶还要学习很多很多的东西。。才能那样呢。。。至少偶会为这个目标加油的。。V。。
您需要登录后才可以回帖 登录 | 新人加入

GitHub|TCAX 主页

GMT+8, 2024-11-1 08:30

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部
RealH