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

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

[已解决] 关于时间的设置问题,以文中py脚本为例子。 [复制链接]

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

楼主
发表于 2011-8-8 18:40:05 |显示全部楼层
造成这问题的原因是全部文字的K时间之和通常是要等于_end - _start的(SYL文件时间做准确的情况下), 也就造成最后几个文字表现时间可能不够用, 比如, 你最后一个字的K时间只有20, 而你的展示要花50, 所以无法到位...

明白了原因, 解法就简单了...

通常的做法是, 对一句特效进行提前和延后, 提前进入, 延后退出 (而不是做到完全准确), 通常最好是提前10~20显示你要表现的那个文字, 否则观众可能跟不上...

也就是说 ts = _start - 50, 花40个时间去进行入场表现, 到 _start - 40的时候, 这个文字就已经完全静止下来, 准备他的卡拉OK特效了.
对结束也是这样, te = _end + 50...

具体情况还得具体分析...

-----------------------------------------

p.s. sai 居然比我先回了...进来的时候还是0 reply的说

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

沙发
发表于 2011-8-8 22:14:21 |显示全部楼层
dmcnero 发表于 2011-8-8 21:31
from tcaxPy import *

def tcaxPy_Main(_i, _j, _n, _start, _end, _elapk, _k, _x, _y, _a, _txt):

大概sai的意思是:

#存在效果
      T = 500
      if(_end - _start - _elapk) * 10 < T:
           T = (_end - _start - _elapk) * 10
       BT = _start + _elapk
       ET =  _end
       MOVE= move(_x + 447, _y, _x, _y, 0, T)
       EFT = be(1) + blur(5) + bord(1) + color1('FFFFFF') + t2(0, T, 1.2, fry(720))
       ass_main(ASS_BUF, SubL(BT, ET, T), MOVE + EFT, _txt)

这样的吧....

修改的只有时间 (T) 而已...

p.s. 如果你把1.2去掉, 就可以使用t1了... (1.2表示加速度, 一般情况下用不着的...)
您需要登录后才可以回帖 登录 | 新人加入

GitHub|TCAX 主页

GMT+8, 2024-5-3 23:41

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部
RealH