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

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

[已解决] 呜咕。。关于main特效的问题。。等 [复制链接]

Rank: 4

跳转到指定楼层
楼主
发表于 2013-2-14 18:14:31 |显示全部楼层 |倒序浏览
呜咕。。特效是这样的:
SHUFFLE第一季04(流畅)_自定义转码_320x240_201321418331.JPG
SHUFFLE第一季04(流畅)_自定义转码_320x240_201321418345.JPG

呜咕。。。就是字在填充颜色中。。没有填充完。。整行字幕的颜色又变了。。。是不是5中方式中的main效果呢0.0?。。可是举一个简单的例子吗?

啊呜。。如果偶要字幕在做到第5个字K值特效时。。整行字幕的颜色变换是这样判断的吗 if 4 - 1 < _j and _j <= 5 - 1    判断j吗0.0?


呜咕。。新年就来麻烦大大们。。对不起的说。。。新的一年请大大们“多多指教”。。新年快乐

Rank: 4

沙发
发表于 2013-2-15 13:36:55 |显示全部楼层
milkyjing 发表于 2013-2-15 11:38
你的思路可以算是正確的 (代碼可以簡化一下 if 4 == _j).

但要轉化為具體效果, 可能還需要動點腦子.

呜咕。。使一句话同时改变颜色是这样0.0?
  1. ass_main(ASS_BUF, SubL(_BT,_ET),blur(2.5)+pos(_X,_Y)+color3("BB76FA")+color1("FFFFFF")+t

  2. (color1("BB76FA")),_TXT)
复制代码
啊呜。。。偶只会在整个时间内慢慢变化。。。不会细微的控制。。。

Rank: 4

板凳
发表于 2013-2-15 13:45:51 |显示全部楼层
milkyjing 发表于 2013-2-15 11:38
你的思路可以算是正確的 (代碼可以簡化一下 if 4 == _j).

但要轉化為具體效果, 可能還需要動點腦子.

嘎哦。。试了一下。。字幕到第5个字的时候。。就消失了。。。到了第5 个字应该是开始特效。。而不是结束掉字幕。。。如果可以把颜色变换的时间可以放在这里控制会不会可以呢0.0?

Rank: 4

地板
发表于 2013-2-15 19:37:23 |显示全部楼层
渣渣疯子 发表于 2013-2-15 19:03
http://www.tcax.org/forum.php?mod=viewthread&tid=582&extra=page%3D1想控制几个字的时间可以参考下这 ...
  1. if _i == 0:

  2.         if _j < 6:

  3.             ass_main(ASS_BUF,SubL(_BT+_SK-30,_BT+_SK,2),an(5)+pos(_X,_Y)+color1("E9A99C")+blur

  4. (1)+bord(1)+color3("E9A99C")+fad(300,0),_TXT)

  5.             ass_main(ASS_BUF,SubL(_BT+_SK-30,_BT+_SK,1),an(5)+pos(_X+4,_Y+4)+color1("9E947C")

  6. +blur(1)+bord(1)+color3("9E947C")+alpha1(130)+alpha3(130)+fad(300,0),_TXT)

  7.             ass_main(ASS_BUF,SubL(_ET,_ET+30,2),an(5)+pos(_X,_Y)+color1("E9A99C")+blur(1)+bord(1)

  8. +color3("E9A99C")+fad(0,300),_TXT)

  9.             ass_main(ASS_BUF,SubL(_ET,_ET+30,1),an(5)+pos(_X+4,_Y+4)+color1("9E947C")+blur(1)

  10. +bord(1)+color3("9E947C")+alpha1(130)+alpha3(130)+fad(0,300),_TXT)

  11.             for i in range(int(_Fs)):

  12.                 Clip = clip(int(_X-_A / 2), int(_Y-_Fs/2+i), int(_X+_A/2), int(_Y-_Fs/2+i+1))

  13.                 for j in range(_BT+_SK,_ET,step):

  14.                     t = j

  15.                     t1 = t + step

  16.                     RAN1 = randint(-2,2)

  17.                     ass_main(ASS_BUF,SubL(t,t1,2),an(5)+pos(_X+RAN1,_Y)+color1("E9A99C")+blur(1)+bord

  18. (1)+color3("E9A99C")+Clip,_TXT)

  19.                     ass_main(ASS_BUF,SubL(t,t1,1),an(5)+pos(_X+RAN1+4,_Y+4)+color1("9E947C")+blur(1)

  20. +bord(1)+color3("9E947C")+alpha1(130)+alpha3(130)+Clip,_TXT)
复制代码
嘎哦。。用乃的也是呢。。字幕只显示到第5个字然后就没了0.0

Rank: 4

5#
发表于 2013-2-15 19:39:37 |显示全部楼层
渣渣疯子 发表于 2013-2-15 19:03
http://www.tcax.org/forum.php?mod=viewthread&tid=582&extra=page%3D1想控制几个字的时间可以参考下这 ...

呜咕。。。偶就是想不明白。。。如何让整行字幕在第5 个字的K值时变颜色呢。。。想了几个写法。。可是都是到第5个字就没了0.0

Rank: 4

6#
发表于 2013-2-16 07:56:40 |显示全部楼层
渣渣疯子 发表于 2013-2-15 22:10
你这么写判定只有前面6个字,你要再加个else或者其他的判定,把后面部分的写出来 ...

呜咕。。。0.0。。PY语音和C#语音相似吗。。。偶记得else是if判断一个东西正确就不执行else。。错误才执行0.0?。。。。难道偶想错了?

Rank: 4

7#
发表于 2013-2-16 11:10:07 |显示全部楼层
渣渣疯子 发表于 2013-2-15 22:10
你这么写判定只有前面6个字,你要再加个else或者其他的判定,把后面部分的写出来 ...

嘎哦。。不对。。是elif。。。那else是什么意思呀0.0?。。有看了一下PY语音教程。。。现在有一点混乱0.0

Rank: 4

8#
发表于 2013-2-16 11:45:49 |显示全部楼层
showjim 发表于 2013-2-16 11:36
http://docspy3zh.readthedocs.org/en/latest/reference/compound_stmts.html
这个

呜咕。。那么在这里判断后加一个else。。同时执行else?。。。。

啊呜。。如果判断是真的不是就不执行else了吗?

Rank: 4

9#
发表于 2013-2-16 13:31:26 |显示全部楼层
渣渣疯子 发表于 2013-2-16 12:48
英文意思来理解就可以吧...if是判定,else是其他部分...就是if判定剩下的部分 ...

呜咕。。感谢。。这个明白了。。现在的是问题是到第5 个字的时候用else的特效了。。。但是原始的字幕应该到第5 个字会变颜色。。。有办法让if j<5当作一个触发判定。。到第5个字所有的颜色(包括以填充和为填充颜色)的字同时变颜色呢0.0?

Rank: 4

10#
发表于 2013-2-16 19:03:55 |显示全部楼层
milkyjing 发表于 2013-2-16 18:53
舉一反三...

呜咕。。V。。就是这个特效。。K(_SK) + K(_KT)。。这个时间定的是什么意思呀0.0?。。。。偶没见过

Rank: 4

11#
发表于 2013-2-16 19:07:59 |显示全部楼层
渣渣疯子 发表于 2013-2-16 19:03
获取第五个字的SK时间,然后让所有的字在这个时间变色就完事了

呜咕。。0.0。。获取第5个字的时间?。。那个。。偶不会获取   

Rank: 4

12#
发表于 2013-2-16 19:11:05 |显示全部楼层
milkyjing 发表于 2013-2-16 19:06
最基本的ASS代碼啊... {\K50\K30} 前面的K時間都是等待時間, 最後一個K時間是變化時間... (意思是等50單 ...

呜咕。。。知道了。。0.0。。

Rank: 4

13#
发表于 2013-2-16 19:36:40 |显示全部楼层
milkyjing 发表于 2013-2-16 19:16
利用全局變量...

隨便哪裡寫

呜咕。。没看懂(T.T)。。获取后直接代人?。。还是定义一个函数然后扔进去?。。
  1. if _j < 5 :
  2.         ass_main(ASS_BUF, SubL(_BT, _ET), pos(_X,_Y) + K(_SK) + K(_KT)+color1("FFFFFF"), _TXT)
  3.     else :  
  4.         ass_main(ASS_BUF, SubL(_BT, _ET), pos(_X,_Y) + K(_SK) + K(_KT)+color1("FFFFFF"), _TXT)
  5.         ass_main(ASS_BUF, SubL(_BT, _ET), pos(_X,_Y) + t(1000, 1000, color2('FFFFFF')) + K(_SK) + K

  6. (_KT), _TXT)
复制代码
嘎哦。。。偶只会改下成这样了。。。写不下去了。。。因为想不明白了(T.T)

Rank: 4

14#
发表于 2013-2-16 20:04:45 |显示全部楼层
渣渣疯子 发表于 2013-2-16 19:58
直接用哪个get函数就完事了获取时间后,写一行开始时间到第五个字的效果,再写一行第五个字到结束的效果 ...

呜咕。。M大大写的GetVal(val_KarTime)[_i][4]这个?。。。
S=GetVal(val_KarTime)[_i][4]
ass_main(ASS_BUF, SubL(_BT, S), pos(_X,_Y) + K(_SK) + K(_KT)+color1("FFFFFF"), _TXT)
ass_main(ASS_BUF, SubL(S, _ET), pos(_X,_Y) + K(_SK) + K(_KT)+color1("BB76FA"), _TXT)

这样写吗?

Rank: 4

15#
发表于 2013-2-17 07:52:35 |显示全部楼层
渣渣疯子 发表于 2013-2-17 00:04
http://www.tcax.org/forum.php?mod=viewthread&tid=582&extra=page%3D1直接用这个不是方便点么...大概 ...

getKT[_i][4]
呜咕。。这样0.0?。。。

啊呜。。写一个简单的例子给偶看看吧(T.T)。。偶比较笨

Rank: 4

16#
发表于 2013-2-17 15:03:57 |显示全部楼层
渣渣疯子 发表于 2013-2-17 14:41
t1 = getSK(0,4)
t2 = getKT(0,4)
第一行第五个字开始时间:

呜咕。。这样就明白了。。谢谢。。然后继续解决问题0.0
  1. from tcaxPy import *




  2.    


  3. def tcaxPy_Main(_i, _j, _n, _BT, _ET, _SK, _KT, _X, _Y, _A, _TXT):



  4.     ASS_BUF  = []        # used for saving ASS FX lines




  5.     ass_main(ASS_BUF, SubL(_BT+_SK, _ET), pos(_X,_Y) +color1("BB76FA"), _TXT)


  6.     t1 = getSK(0,5)
  7.     t2 = getKT(0,5)
  8.     ts = _BT+t1
  9.     te = _BT+t1+t2
  10.     ass_main(ASS_BUF, SubL(_BT, ts+10), pos(_X,_Y) +  color1('68DDF1') , _TXT)
  11.     ass_main(ASS_BUF, SubL(ts+10, _ET), pos(_X,_Y) +  color1('FFFFFF') , _TXT)


  12.    
  13.    
  14.         
  15.     #############################

  16.     return (ASS_BUF, None)
复制代码
呜咕。。颜色的统一变换是做到了。。现在第一个main特效的颜色不填充了0.0?。。。低下定的时间影响到上面了吗?

Rank: 4

17#
发表于 2013-2-17 18:01:51 |显示全部楼层
渣渣疯子 发表于 2013-2-17 17:50
填充?你贴出来的代码里没有填充的效果啊,你是不是忘了加K(_KT)这个? ...

ass_main(ASS_BUF, SubL(_BT+_SK, _ET), pos(_X,_Y) +color1("BB76FA"), _TXT)

呜咕。。至少这行代码一个字一个字在K值内变颜色吧0.0?。。不是这样写吗?

Rank: 4

18#
发表于 2013-2-17 18:19:54 |显示全部楼层
渣渣疯子 发表于 2013-2-17 18:16
这行要在K值内变色的话是ass_main(ASS_BUF, SubL(_BT+_SK, _ET), pos(_X,_Y) +color1("BB76FA")+K(_KT),  ...

呜咕。。V。。明白了。。

ass_main(ASS_BUF,SubL(_BT+_SK-15,_BT+_SK+_KT/2),blur(5)+move(_X,_Y,_X,_Y+5)+color3("CCCCCC") ,_TXT)

这段代码是你写的。。这里不加K(_KT)也变颜色了呢0.0?。。

Rank: 4

19#
发表于 2013-2-17 18:54:27 |显示全部楼层
渣渣疯子 发表于 2013-2-17 18:51
这是那里面的?或许是下一句话变得颜色吧...这世间定义不是才执行到K时间的一半么? ...

呜咕。。这个http://www.tcax.org/forum.php?mod=viewthread&tid=286

啊呜。。文字效果里的吧。。偶稍微的改了一点

Rank: 4

20#
发表于 2013-2-18 06:59:21 |显示全部楼层
渣渣疯子 发表于 2013-2-17 22:00
变色是用了底下哪一行的啊,底下那一行颜色定义不是变了么

嘎哦。。明白了。。。继续研究特效去了
您需要登录后才可以回帖 登录 | 新人加入

GitHub|TCAX 主页

GMT+8, 2024-5-3 09:24

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部
RealH