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

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

[已解决] EFT效果存在的时间为什么可以超过te-ts?(内置特效eft) [复制链接]

Rank: 4

跳转到指定楼层
楼主
发表于 2013-5-24 23:22:22 |只看该作者 |倒序浏览
本帖最后由 yyxxlc 于 2013-5-25 09:56 编辑

我的逻辑貌似有点混乱了...今天看到eft_002、003、004的时候发现这三个脚本设置的效果存在时间都超过了一个字幕的存在时间(te-ts),这是为什么,理论上这样效果不是在一个字显示期间看不完么?(但事实上我生成了,额...效果好华丽..有种好不科学的感觉) 自己想了好久都没想着这是为什么,希望大大们伸出圆手!

以eft_004为例:
  1.     Fs1 = _Fs + int(_Fs / 3) + 5
  2.     Fs2 = Fs1 - 2
  3.     Fs3 = Fs1 - 5
  4.     Fs4 = Fs3 - 2

  5.     ts = _start + _elapk - 2 * _FD / 10
  6.     te = _start + _elapk + _k
  7.   
  8.     EFT1 = alpha1(255) + t(0, 4 * _k + _FD, 1.3, fs(Fs1) + blur(6) + bord(6) + color3(_2C))
  9.     EFT2 = t(6 * _k + 2 * _FD, 10 * _k + 2 * _FD, 0.8, fs(_Fs) + blur(0) + bord(0) + color3('FF8A15'))
  10.     EFT = pos(_x, _y) + EFT1 + EFT2
  11.     ass_main(ASS_BUF, SubL(ts, te, 10), EFT, _txt)
  12.     EFT1 = alpha1(0) + color1('FFFFFF') + alpha3(255) + t(0, 4 * _k + _FD, 1.3, fs(Fs2))
  13.     EFT2 = t(6 * _k + 2 * _FD, 10 * _k + 2 * _FD, 0.8, fs(_Fs) + alpha1(255))
  14.     EFT = pos(_x, _y) + EFT1 + EFT2
  15.     ass_main(ASS_BUF, SubL(ts, te, 10), EFT, _txt)

  16.     EFT1 = alpha1(255) + t(0, 4 * _k + _FD, 1.3, fs(Fs3) + blur(6) + bord(6) + color3(_2C))
  17.     EFT2 = t(6 * _k + 2 * _FD, 10 * _k + 2 * _FD, 0.8, fs(_Fs) + blur(0) + bord(0) + color3('FF8A15'))
  18.     EFT = pos(_x, _y) + EFT1 + EFT2
  19.     ass_main(ASS_BUF, SubL(ts, te, 11), EFT, _txt)
  20.     EFT1 = alpha1(0) + color1('FFFFFF') + alpha3(255) + t(0, 4 * _k + _FD, 1.3, fs(Fs4))
  21.     EFT2 = t(6 * _k + 2 * _FD, 10 * _k + 2 * _FD, 0.8, fs(_Fs) + alpha1(255))
  22.     EFT = pos(_x, _y) + EFT1 + EFT2
  23.     ass_main(ASS_BUF, SubL(ts, te, 11), EFT, _txt)
复制代码
第一个问题:
看这个代码,理论上一个字的存在时间应该是te-ts=k+2*FD/10 这样吧,但是看看下面EFT里面的效果存在时间,第一个EFT1就是(0,4*k+FD),4*K+FD怎么看都要大于K+2*FD/10吧,这样难道不是说的在一个字存在的时间里面效果显示不完?但为什么为什么生成出来又是每个效果都是正确的好好的显示的呢?(<--说的好纠结 不知道有没有懂 哎~)

第二个问题:
就是这个eft_004,有点不懂,为什么在同一时间段要弄两个只有高度不一样的变化效果(4-11行和13-20行),这样那个高度低的不是被高度高的盖住了么,这种设置到底是为了什么,如果只要4-11行的代码,效果会有什么区别呀?

Rank: 4

沙发
发表于 2013-5-25 06:32:34 |只看该作者
呜咕。。首先。。字幕存在的开始时间是K值开始的前2帧,结束时间是K值的结束时间

然后是(0,4*k+FD),在t里设置时间时,默认是将K值分为10分,而这里意思就是K值的开始时间【就是0】,到K值的10分之4的时间+FD

K+2*FD/10,这应该是【10 * _k + 2 * _FD】这句吧0.0?。。K值被分为10分的,所以这里乃可以想到K值的完整时间然后+2帧的时间


嘎哦。。至于为什么那样编写。。乃就去掉那几行代码。。看看效果【这方法前辈教导的,很好用的哦】。。大概不就知道原因了么

(嘛。。讲解了可能不是很清楚吧。。雪音这货表达能力是负值)

Moderator

疯子

Rank: 5Rank: 5

板凳
发表于 2013-5-25 09:17:42 |只看该作者
第一个问题:TCAX和AEGISUB的时间单位不一样,前者的单位是10毫秒,后者单位是1毫秒,所以在用的时候,要加个系数把它转换一下,也就是说4 * _k就是aegisub里的k时间的十分之四

第二个问题:说实话我也没怎么仔细看过内置脚本,你不如把后面那些行删了,生成个效果对比一下,你应该就了解了

Rank: 4

地板
发表于 2013-5-25 09:55:26 |只看该作者
恩恩 谢谢大大们啦~  各种看懂了! 关于第二个问题 其实我尝试过去代码分开看效果的,但是觉得没有太大的区别,所以才来问问的,因为不知道自己会不会遗漏什么特殊的用处。

Moderator

疯子

Rank: 5Rank: 5

5#
发表于 2013-5-25 11:52:38 |只看该作者
从代码上看,就是几组不同大小的字体最后变成同样大小的字,叠一起来看的话=。=的确看不出太大差距,这脚本是M大写的,你逮住他问一下呗

Rank: 4

6#
发表于 2013-5-25 16:48:13 |只看该作者
本帖最后由 yyxxlc 于 2013-5-25 16:52 编辑
渣渣疯子 发表于 2013-5-25 11:52
从代码上看,就是几组不同大小的字体最后变成同样大小的字,叠一起来看的话=。=的确看不出太大差距,这脚本 ...


奶大么奶大么~  如果是奶大的话只好深蹲坑等着半夜他闪现啦  3Q 疯子大人啦

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

7#
发表于 2013-5-26 01:18:22 |只看该作者
时间可以随意设定, 好看就行, 没有严格的标准

p.s. 效果我都忘了是啥样的了... 注释ass_main呗, 看看每条都是什么效果

Rank: 4

8#
发表于 2013-5-26 11:18:56 |只看该作者
milkyjing 发表于 2013-5-26 01:18
时间可以随意设定, 好看就行, 没有严格的标准

p.s. 效果我都忘了是啥样的了... 注释ass_ma ...

恩 好~(乐)
您需要登录后才可以回帖 登录 | 新人加入

GitHub|TCAX 主页

GMT+8, 2024-12-12 05:26

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部
RealH