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

 找回密码
 新人加入
楼主: 爱雪音MiKu

[完整特效] [XY]002_とある科学の超電磁砲S [复制链接]

Rank: 4

发表于 2013-5-28 07:43:01 |显示全部楼层
还在学习中,帮顶

Rank: 4

发表于 2013-5-28 17:56:38 |显示全部楼层
随机图像好评

正式会员

Axcellurator

Rank: 4

发表于 2013-5-29 22:12:17 |显示全部楼层
顶!!
话说LZ能把那个粒子效果拆出来么……
我最近在研究auto4 对py几乎一无所知= =
很喜欢那个效果啊!!

Rank: 4

发表于 2013-5-30 12:35:26 |显示全部楼层
Tsankou 发表于 2013-5-29 22:12
顶!!
话说LZ能把那个粒子效果拆出来么……
我最近在研究auto4 对py几乎一无所知= =
  1.         dx = _X - int(_A / 2 + 0.5)         # 一个固定操作, 将an5的坐标转换为an7
  2.         dy = _Y - int(_Fs / 2 + 0.5)        # ASS特效默认采用an5坐标, TCAS特效则采用an7坐标         
  3.         num = int(_TextLength[_i]/4)
  4.         points = Bezier2(num, _X-(_A/2), _Y, _X+(_A/2) , _Y,_X,_Y-_Fs)
  5.         for b in range(num):
  6.             ts = int(_BT + _SK + _KT * (b / num))
  7.             te = ts + 10
  8.             ass_main(ASS_BUF, SubL(ts,te,10), an(8)+pos(points[b][0],points[b][1])+fad(0,300)+alpha1(0)+alpha3(100)+bord(2)+blur(3)+fs(2)+color1("FFFFFF")+color3("HFFEE53"), '{\p3}m 7 0 b 2 0 1 4 1 6 b 1 8 2 12 7 12 b 12 12 13 8 13 6 b 13 4 12 0 7 0 ')

  9.             for z in range(3):
  10.                 if randint(0,4) == 0:
  11.                     ass_main(ASS_BUF, SubL(ts,_BT+_SK+_KT+b+10,10), an(8)+blur(3)+fs(2)+bord(2)+mov(points[b][0], points[b][1],points[b][0]+randint(-25,25), points[b][1]+randint(20,70))+alpha1(0)+alpha3(100)+fad(0,300)+fsc(60,60)+color1("FFFFFF")+color3("HFFEE53"), '{\p3}m 7 0 b 2 0 1 4 1 6 b 1 8 2 12 7 12 b 12 12 13 8 13 6 b 13 4 12 0 7 0 ')
  12.         ass_main(ASS_BUF, SubL(_BT-10+_j*4,_ET+_j*4),an(8)+pos(_X,_Y)+fad(200,200)+bord(2)+color3("E6D9E9")+color1("H0F69EF")+alpha3(0)+alpha1(255), _TXT)
  13.         ass_main(ASS_BUF, SubL(_BT+_SK,_ET),an(8)+pos(_X,_Y)+color3("HFFF874")+color1("FFFFFF")+bord(2)+blur(3), _TXT)
复制代码
呜咕。。完整代码中喜欢什么特效。。就找这个特效在第几句【if _i == X】即可。。很方便的

正式会员

Axcellurator

Rank: 4

发表于 2013-5-30 18:36:59 |显示全部楼层
爱雪音MiKu 发表于 2013-5-30 12:35
呜咕。。完整代码中喜欢什么特效。。就找这个特效在第几句【if _i == X】即可。。很方便的 ...

怒跪……
感谢大大~!!

Rank: 4

发表于 2013-6-30 22:56:28 |显示全部楼层
好好看!!!!

Rank: 4

发表于 2013-11-17 23:27:42 |显示全部楼层
效果很好哦

Rank: 4

发表于 2014-1-1 20:31:43 |显示全部楼层
那个test.py中好像有个函数getSK不知道在哪找的。如下:
TCAX version 1.2.0 [2012-08-03] [Anniversary]
(C) Copyright 2009-2012 milkyjing


Executing script 1 of 1, progress: 19.39%
Traceback (most recent call last):
  File "E:\studio\Subtitles\tcaxDon\sheIsMySin\test.py", line 141, in tcaxPy_Mai
n
    ks = getSK(9,11)
NameError: global name 'getSK' is not defined
Fatal Error: failed to execute the tcaxPy_Main() function in the 1(th) user tcax
py script.
INFO: Task failed!


温馨提醒: 如果不清楚造成本错误的原因, 请保留本窗口截图以及当前特效工程,
访问 http://tcax.rhacg.com/forum.php?mod=forumdisplay&fid=38 发帖以获取帮助.

请按任意键继续. . .
Snap2.jpg

Rank: 4

发表于 2014-1-6 10:14:43 |显示全部楼层
dawntop 发表于 2014-1-1 20:31
那个test.py中好像有个函数getSK不知道在哪找的。如下:
TCAX version 1.2.0 [2012-08-03] [Anniversary]
( ...

呜咕。。getSK是获取第几行第几个字的K值开始的时间,所以乃用的ASS字幕的时候必须要有对应的行数和字数

Rank: 4

发表于 2014-1-7 21:59:42 |显示全部楼层
爱雪音MiKu 发表于 2014-1-6 10:14
呜咕。。getSK是获取第几行第几个字的K值开始的时间,所以乃用的ASS字幕的时候必须要有对应的行数和字数 ...

即使有对应的行数和字数,没有定义函数也没法用呀?!

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

发表于 2014-1-7 22:34:51 |显示全部楼层
dawntop 发表于 2014-1-7 21:59
即使有对应的行数和字数,没有定义函数也没法用呀?!

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

用这个替换 tcaxPy.py 文件

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

发表于 2014-1-7 22:35:12 |显示全部楼层
爱雪音MiKu 发表于 2014-1-6 10:14
呜咕。。getSK是获取第几行第几个字的K值开始的时间,所以乃用的ASS字幕的时候必须要有对应的行数和字数 ...

好久没见雪音了

Rank: 4

发表于 2014-1-13 20:25:50 |显示全部楼层
milkyjing 发表于 2014-1-7 22:35
好久没见雪音了

呜咕。。V。。暑假打工和学习一些3D模型的知识。。开学后学校比较忙。。寒假就轻松一些了呢

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

发表于 2014-1-13 21:07:17 |显示全部楼层
爱雪音MiKu 发表于 2014-1-13 20:25
呜咕。。V。。暑假打工和学习一些3D模型的知识。。开学后学校比较忙。。寒假就轻松一些了呢 ...

雪音是个好学生啊

Rank: 4

发表于 2014-1-14 11:28:33 |显示全部楼层
milkyjing 发表于 2014-1-13 21:07
雪音是个好学生啊

呜咕。。V。对了。。前辈晚上有时间吗。。偶有一个疑问想不通。。有时间的话QQ私聊帮偶想一下呢0.0?

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

发表于 2014-1-14 23:07:24 |显示全部楼层
爱雪音MiKu 发表于 2014-1-14 11:28
呜咕。。V。对了。。前辈晚上有时间吗。。偶有一个疑问想不通。。有时间的话QQ私聊帮偶想一下呢0.0? ...


最近回来的晚, 你直接在论坛里发吧... 我会抽时间看看的

Rank: 4

发表于 2014-1-15 20:20:13 |显示全部楼层
milkyjing 发表于 2014-1-14 23:07
最近回来的晚, 你直接在论坛里发吧... 我会抽时间看看的

呜咕。。偶想做一个“字被拆分成很多个一小块一小块的,类似于游风前辈的色块字,偶想要字以四个角为起点向中心拆分成色块,然后消失(最想要以圆的方式)”。。想过用圆函数来做,但是圆函数偶只会用来分布位置(T.T)

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

发表于 2014-1-15 20:55:51 |显示全部楼层
爱雪音MiKu 发表于 2014-1-15 20:20
呜咕。。偶想做一个“字被拆分成很多个一小块一小块的,类似于游风前辈的色块字,偶想要字以四个角为起点 ...

用矢量clip可能能成功, 但渲染效率太低下, 而且好像也不能move.

可以考虑用点集的思想.

可以构造四个PIX. 思路:

PIX1, 2, 3, 4 = PIX

然后 选择 PIX中的任意一个点为 坐标原点. 或者自己随意指定一个 坐标 作为原点. 按照水平, 垂直方向建立坐标轴.

然后遍历 PIX 上的点, 满足某个曲线的点 划归为 PIX1, 不满足的可以直接将他的alpha设置为0, 变成全透明.

同理构造其他一些PIX2, 3, 4 当然, 点集划分可能还需要注意 排除重复点.  (可以在公式前期排除. 或者是点集构造完毕后, 再进行重复点挪动/清理操作)

最简单的一个情况是, 对 文字进行 对半分.

这样你需要两个PIX结构.    如果是垂直对半分 (左右各一个), PIX1 = PIX, 坐标原点选, PIX图案最左边为x周原点. y = PIX_height / 2 为 y轴原点,  然后遍历 PIX上的点. 满足  x < PIX_width / 2的点 都保留其像素值不变. 否则将像素的alpha值设置为0 (完全透明). 同理,   对于 PIX2, 可以使满足 x >= PIX_width / 2的点 都保留其像素值不变. 否则将像素的alpha值设置为0 (完全透明)

抽象来说, 就是平面解析几何. 可以将文字看成是一个矩形. 然后你想画一些曲线来将矩形分成若干个区域.

Rank: 4

发表于 2014-1-16 20:25:01 |显示全部楼层
milkyjing 发表于 2014-1-15 20:55
用矢量clip可能能成功, 但渲染效率太低下, 而且好像也不能move.

可以考虑用点集的思想.

呜咕。。点集的思想就是把文字转化为许多的点,就像“像素字”?。。对文字对半分的方法就是PIX1里是文字的一半,PIX2是文字的另一半(这样理解对吗)。。上下分就是X和Y对调一下,就类似这样多分几次把一个矩形分成多个小区域这样吗?

Administrator

Shanzhai Pro.

Rank: 7Rank: 7Rank: 7

发表于 2014-1-16 21:02:20 |显示全部楼层
爱雪音MiKu 发表于 2014-1-16 20:25
呜咕。。点集的思想就是把文字转化为许多的点,就像“像素字”?。。对文字对半分的方法就是PIX1里是文字 ...

我感覺沒那麼麻煩 首先還是建立像素字的PIX結構

然後就是寫判斷了
比如說中心圓的情況
逐幀遍歷PIX所有點 提出點的座標 帶入(x-圓心座標x)^2+(y-圓心座標)^2<半徑^2
滿足的顯示 不滿足的什麽效果 自己寫
半徑 逐幀減小 就能消失了
圓心座標什麽 根據字體長寬還是好算的

然後就是你說的色塊的問題了 色塊簡單來說 就是一個矩形範圍的點 做同一個動作
本質還是用判斷來控制 0<x<10 and 0<y<10 這就是個塊了
比方說你的色塊 長寬都是10吧 你可以 在算上面那個圓形範圍的時候 先把xy座標換算成posX posY(畫點的時候 還是得用原來的xy座標)
例如posX=x //10 * 10  整除 去掉餘數 來保證你是整個方塊做同樣動作 忘記有沒有優先級問題了 你可以試試
您需要登录后才可以回帖 登录 | 新人加入

GitHub|TCAX 主页

GMT+8, 2024-3-28 19:22

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部
RealH