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

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

[完整特效] [SAI]030_kyoukaisenjounohorizonED2 [复制链接]

Administrator

Shanzhai Pro.

Rank: 7Rank: 7Rank: 7

跳转到指定楼层
楼主
发表于 2011-11-27 22:38:54 |只看该作者 |倒序浏览
預覽:http://pan.baidu.com/s/1hqqY9CC#dir/path=%2FSaiyakuFX_Preview
  1. from tcaxPy import *

  2. def tcaxPy_Init():
  3.     global _Fs
  4.     global Font
  5.     _Fs = GetVal(val_FontSize)
  6.     Font = InitFont(GetVal(val_FontFileName), GetVal(val_FaceID), _Fs, GetVal(val_Spacing), GetVal(val_SpaceScale), 0xFFFFFF, 0, 0)

  7. def tcaxPy_Fin():
  8.     FinFont(Font)

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

  10.     ASS_BUF  = []        # 保存ASS特效
  11.     TCAS_BUF = []        # 保存TCAS特效

  12.     rx = 15
  13.     ry = 3
  14.     angle = 78
  15.     y =25
  16.     size = 230
  17.     n = 50

  18.     if _i>3:
  19.         rx = 25
  20.         ry = 25
  21.         angle = 0
  22.         y = 0
  23.         size = randint(150,300)
  24.         n = 15
  25.     for i in range(0,_KT,n):
  26.        
  27.         ass_main(ASS_BUF,SubL(_BT+_SK-5+randint(-5,5)+i,_BT+_SK+100+randint(-5,5)+i),an(5)+pos(_X+randint(0,rx),_Y+y+randint(-ry,ry))+frx(angle)+alpha1(255)+alpha3(82)+be(1)+color3("FFFFFF")+bord(1.5)+fs(15)+t(fsc(size,size)+bord(3.5))+fad(100,1000),"●")
  28.         ass_main(ASS_BUF,SubL(_BT+_SK-5+randint(-5,5)+i,_BT+_SK+100+randint(-5,5)+i),an(5)+pos(_X+randint(-rx,0),_Y+y+randint(-ry,ry))+frx(angle)+alpha1(255)+alpha3(82)+be(1)+color3("FFFFFF")+bord(1.5)+fs(15)+t(fsc(size,size)+bord(3.5))+fad(100,1000),"●")       
  29.        
  30.         X = randint(0,5)
  31.        
  32.         if X == 0:
  33.             ass_main(ASS_BUF,SubL(_BT+_SK-5+randint(-5,5)+i,_BT+_SK+100+randint(-5,5)+i),an(5)+pos(_X+randint(-5,5),_Y+y+randint(-3,3))+frx(angle)+alpha1(255)+alpha3(82)+be(1)+color3("FFFFFF")+bord(1.5)+fs(15)+t(fsc(size,size)+bord(3.5))+fad(100,1000),"●")



  34.     dx = _X - int(_A / 2 + 0.5)
  35.     dy = _Y - int(_Fs / 2 + 0.5)

  36.     outline = TextOutlineDraw(Font, _TXT, dx, dy)

  37.     t0 = _BT - 15 + _j * 7
  38.     t1 = t0 + 50
  39.     t2 = _BT + _SK - 5
  40.     t3 = _BT + _SK + _KT
  41.     t4 = _ET - 60 + _j * 7
  42.     t5 = t4 + 15

  43.     scol = 'FFFFFF'

  44.     T = 120

  45.     if _KT>120:
  46.         T = _KT
  47.    
  48.     ass_main(ASS_BUF, SubL(t2, t2+T, 11, Pix_Style), pos(0, 0) + fad(0, 900) + alpha1(0) + alpha3(HexToDec('77')) + \
  49.                                            blur(5) + bord(5) + t(bord(0)), '{\\p7}' + outline + '{\\p0}')
  50.     ass_main(ASS_BUF, SubL(t0, t5, 5, Pix_Style), pos(1, 1) + fad(500, 500) + alpha1(0) + blur(1.3) + color1('000000'), \
  51.                                                    '{\\p7}' + outline + '{\\p0}')
  52.                                                                                                   
  53.     ass_main(ASS_BUF, SubL(t0, t5, 6, Pix_Style), pos(0, 0) + fad(500, 500) + alpha1(180)  + color1('FFFFFF'), \
  54.                                                    '{\\p7}' + outline + '{\\p0}')

  55.     lastptx0 = 0
  56.     lastpty0 = 0
  57.     first = True
  58.     ti = t0 - 100 + randint(-30, 30)
  59.     while ti <= t5 - 150:
  60.         ptt0 = ti
  61.         ptt1 = ptt0 + 300
  62.         ptx0 = randint(_X - 20, _X + 20)
  63.         pty0 = randint(_Y - 20, _Y + 20)
  64.         if not first:
  65.             for i in range(2):
  66.                 ptx0_tmp = randint(_X - 20, _X + 20)
  67.                 pty0_tmp = randint(_Y - 20, _Y + 20)
  68.                 if GetDistance(lastptx0, lastpty0, ptx0, pty0) < GetDistance(lastptx0, lastpty0, ptx0_tmp, pty0_tmp):
  69.                     ptx0 = ptx0_tmp
  70.                     pty0 = pty0_tmp
  71.         first = False
  72.         lastptx0 = ptx0
  73.         lastpty0 = pty0
  74.         ptcol = 'FFFFFF'
  75.         lumsz = 15 + GetDistance(_X, _Y, ptx0, pty0) * 0.5
  76.         if ptt0 >= t2:
  77.             ptcol = scol
  78.         ts0 = ''
  79.         if ptt0 < t2 and ptt1 > t2:
  80.             ts0 = t(10 * (t2 - ptt0) - 10, 10 * (t2 - ptt0), color1(scol) + color3(scol))
  81.         dup = 1
  82.         if _j >= 4:
  83.             dup = 2
  84.         while dup > 0:
  85.             ass_main(ASS_BUF, SubL(ptt0, ptt1, 10, Pix_Style), pos(ptx0, pty0) + clip(7, outline) + org(_X, _Y) + t(frz(RandSign() * randint(80, 120))) + \
  86.                                 fad(800, 800) + t(0, 10 * (ptt1 - ptt0), bord(lumsz) + blur(lumsz)) + alpha1(HexToDec('44')) + alpha3(HexToDec('44')) + color1(ptcol) + color3(ptcol) + \
  87.                                 ts0 + t((ptt1 - ptt0) * 700, ptt1, color1('000000') + color3('000000')), PixPt())
  88.             dup -= 1
  89.         ti += randint(120, 165)

  90.     return (ASS_BUF, TCAS_BUF)
复制代码
1

查看全部评分

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

沙发
发表于 2011-11-27 22:40:19 |只看该作者
预览补上: http://www.tcax.org/forum.php?mod=viewthread&tid=44

文件名为: [SAI]030_kyoukaisenjounohorizonED2.mp4

Moderator

youkaze

Rank: 5Rank: 5

板凳
发表于 2011-11-28 12:08:46 |只看该作者
蛋疼的粒子啊

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

地板
发表于 2011-11-28 14:50:06 |只看该作者
七海の游风 发表于 2011-11-28 12:08
蛋疼的粒子啊

应该说是ASS Mask...

Moderator

疯子

Rank: 5Rank: 5

5#
发表于 2011-11-28 14:53:32 |只看该作者
这底下就是ass Mask么?完全看不懂啊...QAQ

Moderator

youkaze

Rank: 5Rank: 5

6#
发表于 2011-11-28 14:55:28 |只看该作者
milkyjing 发表于 2011-11-28 14:50
应该说是ASS Mask...

soga 貌似sai大有一个用粒子堆出来的随机渐变吧 这个实在是……(再次蛋疼

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

7#
发表于 2011-11-28 14:57:35 |只看该作者
七海の游风 发表于 2011-11-28 14:55
soga 貌似sai大有一个用粒子堆出来的随机渐变吧 这个实在是……(再次蛋疼 ...


恩, 日常ED...

http://www.tcax.org/forum.php?mod=viewthread&tid=149

确实...

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

8#
发表于 2011-11-28 15:06:18 |只看该作者
渣渣疯子 发表于 2011-11-28 14:53
这底下就是ass Mask么?完全看不懂啊...QAQ

关于ASS Mask, 有个简单的教程

http://www.tcax.org/forum.php?mod=viewthread&tid=177

Moderator

youkaze

Rank: 5Rank: 5

9#
发表于 2011-11-28 15:10:05 |只看该作者
milkyjing 发表于 2011-11-28 15:06
关于ASS Mask, 有个简单的教程

http://www.tcax.org/forum.php?mod=viewthread&tid=177

日常那个微妙了点- - 不仔细看不出来  009号 这个堆得 - -http://www.tcax.org/forum.php?mo ... &extra=page%3D1  

Moderator

苦练姿势,夺回人类的尊严

Rank: 5Rank: 5

10#
发表于 2011-11-28 16:23:04 |只看该作者
我经常看见Mask这个词。。但是这个词到底是什么意思啊??  Mask脚本。。 Python Mask。。。

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

11#
发表于 2011-11-28 16:24:08 |只看该作者
河对岸 发表于 2011-11-28 16:23
我经常看见Mask这个词。。但是这个词到底是什么意思啊??  Mask脚本。。 Python Mask。。。 ...

把它想成clip就行... (Mask的作用是只显示我们期望的部分)

Moderator

苦练姿势,夺回人类的尊严

Rank: 5Rank: 5

12#
发表于 2011-11-28 16:25:19 |只看该作者
是遮罩吗?。。类似Clip那样的吗?

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

13#
发表于 2011-11-28 16:41:55 |只看该作者
河对岸 发表于 2011-11-28 16:25
是遮罩吗?。。类似Clip那样的吗?

Administrator

Shanzhai Pro.

Rank: 7Rank: 7Rank: 7

14#
发表于 2011-11-29 22:02:00 |只看该作者
本帖最后由 saiyaku 于 2011-11-30 02:06 编辑
七海の游风 发表于 2011-11-28 15:10
日常那个微妙了点- - 不仔细看不出来  009号 这个堆得 - -http://www.tcax.org/forum.php?mod=viewthre ...


日常那個 不是粒子 普通的整字blur疊的 日常整個特效ASS文件大小才130K 夏目的字也疊了  

Administrator

Shanzhai Pro.

Rank: 7Rank: 7Rank: 7

15#
发表于 2011-11-29 22:07:40 |只看该作者
就普通的字 疊 也有很多效果的
關鍵是字層的透明度的設置 pos 還能錯位疊陰影閃光什麽

Moderator

youkaze

Rank: 5Rank: 5

16#
发表于 2011-11-30 10:29:10 |只看该作者
saiyaku 发表于 2011-11-29 22:07
就普通的字 疊 也有很多效果的
關鍵是字層的透明度的設置 pos 還能錯位疊陰影閃光什麽 ...

感谢大大指教回家多多练习
您需要登录后才可以回帖 登录 | 新人加入

GitHub|TCAX 主页

GMT+8, 2024-4-20 10:59

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部
RealH