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

标题: [ASS特效教程入门系列] 三. 曲线轨迹的简单应用及逐帧特效 [打印本页]

作者: milkyjing    时间: 2011-11-1 20:49:46     标题: [ASS特效教程入门系列] 三. 曲线轨迹的简单应用及逐帧特效

说明

本系列教程旨在更好的引导大家使用TCAX制作一些特效, 有空我会逐渐补上我所了解的一些特效的制作.
为加深大家对教程代码的理解, 附上了可以直接执行的完整工程, 建议下载并实际操作一下.
  1. from tcaxPy import *

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

  3.     ASS_BUF  = []        # 保存ASS特效
  4.     TCAS_BUF = []        # 保存TCAS特效

  5.     ##### 主要特效编写操作 #####

  6.     ts = _start + _elapk - 20       # 效果开始时间
  7.     _Fs = GetVal(val_FontSize)      # 字体大小
  8.     EFT1 = alpha1(HexToDec('AA')) + alpha3(HexToDec('AA')) + color1('FFFFFF') + \
  9.             bord(5) + blur(5) + t(0, 100, bord(3) + blur(3)) + fad(0, 200)
  10.     EFT2 = alpha1(HexToDec('AA')) + alpha3(HexToDec('00')) + color1('FFFFFF') + color3('FFFFFF') + \
  11.             bord(3) + blur(3) + t(0, 100, bord(1) + blur(1) + alpha3(HexToDec('44'))) + fad(0, 200)
  12.     num = 60    # 曲线上点的个数
  13.     xs = _x + randint(-100, 100)    # 开始点
  14.     ys = _y + randint(-60, 20)
  15.     xc1 = xs + randint(-50, 50)     # 控制点1
  16.     yc1 = ys + randint(-50, 50)
  17.     xc2 = xc1 + randint(-40, 40)    # 控制点2
  18.     yc2 = yc1 + randint(-40, 40)
  19.     xe = _x     # 结束点
  20.     ye = _y
  21.     points = Bezier3(num, xs, ys, xe, ye, xc1, yc1, xc2, yc2)   # 3阶贝塞尔曲线, 控制点的生成是重点以及难点
  22.     for i in range(num):
  23.         POS = pos(points[i][0], points[i][1])   # 获取曲线上点坐标
  24.         EFT = POS + EFT1 + color3('5A3AFF')
  25.         ass_main(ASS_BUF, SubL(ts + i, ts + i + 30, 15, Pix_Style), EFT, PixPt())
  26.         EFT = POS + EFT2
  27.         ass_main(ASS_BUF, SubL(ts + i, ts + i + 30, 15, Pix_Style), EFT, PixPt())

  28.     ##### 将结果返回给tcax进行处理 #####

  29.     return (ASS_BUF, TCAS_BUF)
复制代码
后记

在理解了上述代码的基础上, 可以进一步学习具体的使用方法.
saiyaku写了不少具体效果, 可以对着预览视频, 找到相应的脚本.

视频 http://www.tcax.org/forum.php?mod=viewthread&tid=44
代码 http://www.tcax.org/forum.php?mo ... typeid&typeid=3


p.s. 如有疑问, 请直接跟帖...




附件: test_bezier.zip (2011-11-1 20:51:04, 3.26 KB) / 下载次数 6655
http://tcax.org/forum.php?mod=attachment&aid=MTA1fDYwMDBlZTJkfDE3MzI0MjIwMjJ8MHww
作者: usfsaf    时间: 2012-5-17 11:22:23

看不懂,支持,写字幕特效简直是疯狂的自虐行为...
作者: milkyjing    时间: 2012-5-17 12:49:15

usfsaf 发表于 2012-5-17 11:22
看不懂,支持,写字幕特效简直是疯狂的自虐行为...


  那你写还是不写 233
作者: usfsaf    时间: 2012-5-19 07:55:33

milkyjing 发表于 2012-5-17 12:49
那你写还是不写 233

嘿嘿,说的也是,想当初02年左右开始用射手字幕,最初也就边看电影边用卡盟调一下时间轴,(好烦人)现在不也慢慢知道了vsf   mod megui  avs imge2ass  ae lua 等系列天文软件是干甚的,且在摸索中 到了tcax才知道自动化脚本怎么傻瓜使用。。。。 很悲情啊
作者: six    时间: 2012-5-19 08:14:09

usfsaf 发表于 2012-5-19 07:55
嘿嘿,说的也是,想当初02年左右开始用射手字幕,最初也就边看电影边用卡盟调一下时间轴,(好烦人)现在 ...

aegisub里的自动化更简便吧- -
作者: 爱雪音MiKu    时间: 2013-2-1 17:11:53

milkyjing 发表于 2012-5-17 12:49
那你写还是不写 233

啊呜。。那个。。问一下。。控制点可以生成很多个吗0.0?【如果就2个控制点貌似不够用0.0】
作者: milkyjing    时间: 2013-2-1 21:33:05

爱雪音MiKu 发表于 2013-2-1 17:11
啊呜。。那个。。问一下。。控制点可以生成很多个吗0.0?【如果就2个控制点貌似不够用0.0】 ...

常用的是2階, 3階貝塞爾曲線 (分別有1個控制點和2個控制點), 多了曲線形狀反而不好弄.

還有一個n階貝塞爾曲線函數. 中間控制點是隨機生成的, 不是很推薦使用.

如果想進階, 可以考慮UCBS, 參考 http://www.tcax.org/forum.php?mod=viewthread&tid=465
作者: 爱雪音MiKu    时间: 2013-2-1 22:10:36

milkyjing 发表于 2013-2-1 21:33
常用的是2階, 3階貝塞爾曲線 (分別有1個控制點和2個控制點), 多了曲線形狀反而不好弄.

還有一個n階貝塞 ...

嘎哦。。0.0是么。。对了。。乃们大大不是可以用貝塞爾曲線绘制图形么0.0?。。。难道就是用UCBS?。。如果不用UCBS可以做到吗0.0?
作者: milkyjing    时间: 2013-2-1 22:22:40

爱雪音MiKu 发表于 2013-2-1 22:10
嘎哦。。0.0是么。。对了。。乃们大大不是可以用貝塞爾曲線绘制图形么0.0?。。。难道就是用UCBS?。。如 ...

ASS繪圖用的是3階貝塞爾...
貝塞爾曲線與UCBS是兩種不同的曲線...

我猜測, 你應該是以為只有兩個控制點畫不出圖形? 實際上你用過ASSDraw就知道了...
作者: 爱雪音MiKu    时间: 2013-2-1 22:44:33

milkyjing 发表于 2013-2-1 22:22
ASS繪圖用的是3階貝塞爾...
貝塞爾曲線與UCBS是兩種不同的曲線...

呜咕。。。V。。可是2个控制点画的图形会很少吧0.0。。。ASSDraw如果要画一个雪花也需要创建很多个点然后调整曲线画出来的。。。如果是2个点以偶现有的知识只知道画园呀。。类似比较简单的图形0.0。。。其他的偶不知道呢
作者: milkyjing    时间: 2013-2-1 23:09:55

爱雪音MiKu 发表于 2013-2-1 22:44
呜咕。。。V。。可是2个控制点画的图形会很少吧0.0。。。ASSDraw如果要画一个雪花也需要创建很多个点然后 ...

花點功夫能畫出很多神奇的東西.

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


作者: 爱雪音MiKu    时间: 2013-2-2 07:28:28

milkyjing 发表于 2013-2-1 23:09
花點功夫能畫出很多神奇的東西.

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

嘎哦0.0。。。哇。。好漂亮的图形。。可以构出这么多图形。。偶也去画画
作者: 渣渣疯子    时间: 2013-2-2 08:34:01

爱雪音MiKu 发表于 2013-2-2 07:28
嘎哦0.0。。。哇。。好漂亮的图形。。可以构出这么多图形。。偶也去画画 ...

与其用贝塞尔曲线画图形,不如用ass3draw画出图,把边框弄成粒子来用比较方便
作者: 爱雪音MiKu    时间: 2013-2-2 09:17:37

渣渣疯子 发表于 2013-2-2 08:34
与其用贝塞尔曲线画图形,不如用ass3draw画出图,把边框弄成粒子来用比较方便 ...

嘎哦。。。0.0。。。看到一个未知的知识0.0。。。边框弄成粒子0.0?。。。偶不会呢。。。需要用PIX函数么?
作者: 爱雪音MiKu    时间: 2013-2-2 09:21:42

milkyjing 发表于 2013-2-1 23:09
花點功夫能畫出很多神奇的東西.

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

啊呜。。曲线可以生成很多条吗0.0?
作者: 渣渣疯子    时间: 2013-2-2 10:08:15

本帖最后由 渣渣疯子 于 2013-2-2 10:08 编辑
爱雪音MiKu 发表于 2013-2-2 09:17
嘎哦。。。0.0。。。看到一个未知的知识0.0。。。边框弄成粒子0.0?。。。偶不会呢。。。需要用PIX函数么 ...


http://www.tcax.org/forum.php?mo ... &extra=page%3D1我就用过一次,这个脚本ash部分以下就是矢量图变粒子的做法...说实话我也不是很会用=。=没控制好,最后那个粒子做的有点烂了...游风也做过一个。。。不过我想不起是他哪个脚本了...
作者: 渣渣疯子    时间: 2013-2-2 10:18:33

爱雪音MiKu 发表于 2013-2-2 09:21
啊呜。。曲线可以生成很多条吗0.0?

你只要不怕卡,曲线可以生成很多条,没问题的。。。无非就是生成的字幕略大...
作者: 爱雪音MiKu    时间: 2013-2-2 10:49:11

渣渣疯子 发表于 2013-2-2 10:08
http://www.tcax.org/forum.php?mod=viewthread&tid=523&extra=page%3D1我就用过一次,这个脚本ash部分 ...

嘎哦。。。0.0。是很难呢。。而且还有一些代码没看懂
作者: 爱雪音MiKu    时间: 2013-2-2 10:50:25

渣渣疯子 发表于 2013-2-2 10:18
你只要不怕卡,曲线可以生成很多条,没问题的。。。无非就是生成的字幕略大... ...

呜咕。。。生成多个曲线有什么简单的方法吗0.0?。。还是就复制一下代码?
作者: 渣渣疯子    时间: 2013-2-2 10:51:13

爱雪音MiKu 发表于 2013-2-2 10:49
嘎哦。。。0.0。是很难呢。。而且还有一些代码没看懂

基本和用字体粒子差不多。。。唯一的区别就是坐标方面的差别=。=。。。我是没控制好。。。
作者: 渣渣疯子    时间: 2013-2-2 10:59:20

爱雪音MiKu 发表于 2013-2-2 10:50
呜咕。。。生成多个曲线有什么简单的方法吗0.0?。。还是就复制一下代码? ...

复制代码。。。或者直接一个for循环不就好了么?
作者: 爱雪音MiKu    时间: 2013-2-2 11:15:43

渣渣疯子 发表于 2013-2-2 10:51
基本和用字体粒子差不多。。。唯一的区别就是坐标方面的差别=。=。。。我是没控制好。。。 ...

呜咕。。。0.0直接固定粒子的开始位置。。。然后慢慢找想要的控制点呢0.0?。。是因为粒子太多所以不好控制的吗
作者: 爱雪音MiKu    时间: 2013-2-2 11:16:16

渣渣疯子 发表于 2013-2-2 10:59
复制代码。。。或者直接一个for循环不就好了么?

呜咕。。V。。明白的说0.0
作者: 渣渣疯子    时间: 2013-2-2 11:19:37

爱雪音MiKu 发表于 2013-2-2 11:15
呜咕。。。0.0直接固定粒子的开始位置。。。然后慢慢找想要的控制点呢0.0?。。是因为粒子太多所以不好控 ...

不是,这个和字体切成粒子是一个用法,但是一般图形用的时候都不是原大小,这个切割出来的位置都是按原大小的位置来的。。。我是有点弄不明白它的原始位置,然后就不知道怎么控制它们移动了。。。
作者: 爱雪音MiKu    时间: 2013-2-2 11:23:05

渣渣疯子 发表于 2013-2-2 11:19
不是,这个和字体切成粒子是一个用法,但是一般图形用的时候都不是原大小,这个切割出来的 ...

呜咕。。。0.0。。明白的说。。那直接把代码写成   图形的大小= 字体的大小+ N   0.0?。。。偶这个简单的大脑想的办法。。。估计没用
作者: 爱雪音MiKu    时间: 2013-2-2 11:23:56

渣渣疯子 发表于 2013-2-2 11:19
不是,这个和字体切成粒子是一个用法,但是一般图形用的时候都不是原大小,这个切割出来的 ...

呜咕。。。曲线可以在Z轴上移动吗。。偶想带一点立体。。
作者: 渣渣疯子    时间: 2013-2-2 11:31:12

爱雪音MiKu 发表于 2013-2-2 11:23
呜咕。。。0.0。。明白的说。。那直接把代码写成   图形的大小= 字体的大小+ N   0.0?。。。偶这个简单 ...

图形的大小是用{\p1}这个后面的数字控制,或者fsc,和字体大小不一样,字体大小在切割粒子的时候是有考虑的,但是图形切割里没有。。。所以麻烦点。。。至于立体感,你弄出来的东西本身就是在一个平面上吧。Z轴不也就是在直角坐标系里画一条斜线么。。。Z轴移动,不就是让大小发生一些变化么?

作者: 爱雪音MiKu    时间: 2013-2-2 11:35:10

渣渣疯子 发表于 2013-2-2 11:31
图形的大小是用{\p1}这个后面的数字控制,或者fsc,和字体大小不一样,字体大小在切割粒子的时候是有考虑 ...

啊呜。。。V。。这样是很难控制呢。。那TCAX中为什么不创建一个可以控制图形大小的函数呢0.0。。【偶想的太天真了0.0?
作者: 渣渣疯子    时间: 2013-2-2 11:37:36

爱雪音MiKu 发表于 2013-2-2 11:35
啊呜。。。V。。这样是很难控制呢。。那TCAX中为什么不创建一个可以控制图形大小的函数呢0.0。。【偶想的 ...

这个可以问问M大。。。我也只是会用不会写。。。
作者: kk123456    时间: 2013-2-2 13:12:32

爱雪音MiKu 发表于 2013-2-2 10:50
呜咕。。。生成多个曲线有什么简单的方法吗0.0?。。还是就复制一下代码? ...

加个循环,套写随机坐标就行了
作者: 爱雪音MiKu    时间: 2013-2-2 13:50:18

渣渣疯子 发表于 2013-2-2 11:37
这个可以问问M大。。。我也只是会用不会写。。。

啊呜。。。0.0。。M大大好厉害
作者: 爱雪音MiKu    时间: 2013-2-2 13:52:51

kk123456 发表于 2013-2-2 13:12
加个循环,套写随机坐标就行了

呜咕。。。循环0.0。。循环就是for (EFT1,EFT2,num)这样写么0.0?。。然后下面加坐标
作者: kk123456    时间: 2013-2-2 14:07:04

  1. from tcaxPy import *

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

  3.     ASS_BUF  = []        # 保存ASS特效
  4.     TCAS_BUF = []        # 保存TCAS特效

  5.     ##### 主要特效编写操作 #####

  6.     ts = _start + _elapk - 20       # 效果开始时间
  7.     _Fs = GetVal(val_FontSize)      # 字体大小
  8.     EFT1 = alpha1(HexToDec('AA')) + alpha3(HexToDec('AA')) + color1('FFFFFF') + \
  9.             bord(5) + blur(5) + t(0, 100, bord(3) + blur(3)) + fad(0, 200)
  10.     EFT2 = alpha1(HexToDec('AA')) + alpha3(HexToDec('00')) + color1('FFFFFF') + color3('FFFFFF') + \
  11.             bord(3) + blur(3) + t(0, 100, bord(1) + blur(1) + alpha3(HexToDec('44'))) + fad(0, 200)
  12.     for k in range(2):   #加个循环,生成两条不同的曲线
  13.         num = 40    # 曲线上点的个数
  14.         xs = _x + randint(-60, 60)    # 开始点
  15.         ys = _y + randint(-60, 60)
  16.         xc1 = xs + randint(-50, 50)     # 控制点1
  17.         yc1 = ys + randint(-90, 90)
  18.         xc2 = xc1 + randint(-20, 50)    # 控制点2
  19.         yc2 = yc1 + randint(-5, 50)
  20.         xe = _x     # 结束点
  21.         ye = _y
  22.         points = Bezier3(num, xs, ys, xe, ye, xc1, yc1, xc2, yc2)   # 3阶贝塞尔曲线, 控制点的生成是重点以及难点
  23.    
  24.         for i in range(num):
  25.             POS = pos(points[i][0], points[i][1])   # 获取曲线上点坐标
  26.             EFT = POS + EFT1 + color3('5A3AFF')
  27.             ass_main(ASS_BUF, SubL(ts + i, ts + i + 30, 15, Pix_Style), EFT, PixPt())
  28.             EFT = POS + EFT2
  29.             ass_main(ASS_BUF, SubL(ts + i, ts + i + 30, 15, Pix_Style), EFT, PixPt())
  30.    

  31.     ##### 将结果返回给tcax进行处理 #####

  32.     return (ASS_BUF, TCAS_BUF)
复制代码
例如这样
作者: 渣渣疯子    时间: 2013-2-2 15:15:32

爱雪音MiKu 发表于 2013-2-2 13:52
呜咕。。。循环0.0。。循环就是for (EFT1,EFT2,num)这样写么0.0?。。然后下面加坐标 ...

循环有两种,一种是for循环,一种是while循环。。。while循环的话,之前的哪个脚本里也有用到,你可以看看butterfly下面有用到
作者: 爱雪音MiKu    时间: 2013-2-2 17:03:07

kk123456 发表于 2013-2-2 14:07
例如这样

呜咕。。求详细讲解的说(T.T)。。。偶不会用循环函数的说。。偶写成这样了
  1. from tcaxPy import *

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

  3.     ASS_BUF  = []        # 保存ASS特效
  4.     TCAS_BUF = []        # 保存TCAS特效

  5.     ##### 主要特效编写操作 #####

  6.     ts = _start + _elapk - 20       # 效果开始时间
  7.     _Fs = GetVal(val_FontSize)      # 字体大小
  8.     EFT1 = alpha1(HexToDec('AA')) + alpha3(HexToDec('AA')) + color1('FFFFFF') + \
  9.             bord(5) + blur(5) + t(0, 100, bord(3) + blur(3)) + fad(0, 200)
  10.     EFT2 = alpha1(HexToDec('AA')) + alpha3(HexToDec('00')) + color1('FFFFFF') + color3('FFFFFF') + \
  11.             bord(3) + blur(3) + t(0, 100, bord(1) + blur(1) + alpha3(HexToDec('44'))) + fad(0, 200)
  12.     for k in range(2):
  13.     num = 60    # 曲线上点的个数
  14.     xs = _x     # 开始点
  15.     ys = _y - 30
  16.     xc1 = _x - 30  # 控制点1
  17.     yc1 = _y
  18.     xc2 = _x    # 控制点2
  19.     yc2 = _y + 30
  20.     xe = _x     # 结束点
  21.     ye = _y
  22.     ixs = _x     # 开始点
  23.     iys = _y + 30
  24.     ixc1 = _x + 30  # 控制点1
  25.     iyc1 = _y
  26.     ixc2 = _x    # 控制点2
  27.     iyc2 = _y - 30
  28.     ixe = _x     # 结束点
  29.     iye = _y
  30.     points1 = Bezier3(num1, xs, ys, xe, ye, xc1, yc1, xc2, yc2)   # 3阶贝塞尔曲线, 控制点的生成是重点以及

  31. 难点
  32.     points2 = Berier3f(num2,ixs, iys, ixe, iye, ixc1, iyc1, ixc2, iyc2)
  33.     for i in range(num):
  34.         POS = pos[(points1[i][0], points1[i][1]) + (points2[i][0], points2[i][0])]   # 获取曲线上点坐标
  35.         EFT = POS + EFT1 + color3('5A3AFF')
  36.         ass_main(ASS_BUF, SubL(ts + i, ts + i + 30, 15, Pix_Style), EFT, PixPt())
  37.         EFT = POS + EFT2
  38.         ass_main(ASS_BUF, SubL(ts + i, ts + i + 30, 15, Pix_Style), EFT, PixPt())

  39.     ##### 将结果返回给tcax进行处理 #####

  40.     return (ASS_BUF, TCAS_BUF)
复制代码
呜咕。。执行总是失败
作者: 爱雪音MiKu    时间: 2013-2-2 17:04:27

渣渣疯子 发表于 2013-2-2 15:15
循环有两种,一种是for循环,一种是while循环。。。while循环的话,之前的哪个脚本里也有 ...

呜咕。。。循环语句都没用过的说。。所以看了不是很明白的说
作者: 渣渣疯子    时间: 2013-2-2 17:45:23

爱雪音MiKu 发表于 2013-2-2 17:03
呜咕。。求详细讲解的说(T.T)。。。偶不会用循环函数的说。。偶写成这样了呜咕。。执行总是失败{:onion ...

缩进不对,缩进不对啊。。。for k in range(2):底下缩进不对,你对比一下上面的看看
作者: 渣渣疯子    时间: 2013-2-2 17:45:55

爱雪音MiKu 发表于 2013-2-2 17:04
呜咕。。。循环语句都没用过的说。。所以看了不是很明白的说

这两个循环去看看python的教程吧,里面有讲
作者: 爱雪音MiKu    时间: 2013-2-2 18:03:28

渣渣疯子 发表于 2013-2-2 17:45
缩进不对,缩进不对啊。。。for k in range(2):底下缩进不对,你对比一下上面的看看 ...

啊呜。。明白的说
  1. from tcaxPy import *

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

  3.     ASS_BUF  = []        # 保存ASS特效
  4.     TCAS_BUF = []        # 保存TCAS特效

  5.     ##### 主要特效编写操作 #####

  6.     ts = _start + _elapk - 20       # 效果开始时间
  7.     _Fs = GetVal(val_FontSize)      # 字体大小
  8.     EFT1 = alpha1(HexToDec('AA')) + alpha3(HexToDec('AA')) + color1('FFFFFF') + \
  9.             bord(5) + blur(5) + t(0, 100, bord(3) + blur(3)) + fad(0, 200)
  10.     EFT2 = alpha1(HexToDec('AA')) + alpha3(HexToDec('00')) + color1('FFFFFF') + color3('FFFFFF') + \
  11.             bord(3) + blur(3) + t(0, 100, bord(1) + blur(1) + alpha3(HexToDec('44'))) + fad(0, 200)
  12.     for k in range(2):
  13.          num1 = 60    # 曲线上点的个数
  14.          xs = _x     # 开始点
  15.          ys = _y - 30
  16.          xc1 = _x - 30  # 控制点1
  17.          yc1 = _y
  18.          xc2 = _x    # 控制点2
  19.          yc2 = _y + 30
  20.          xe = _x     # 结束点
  21.          ye = _y
  22.          num2 = 60
  23.          ixs = _x     # 开始点
  24.          iys = _y + 30
  25.          ixc1 = _x + 30  # 控制点1
  26.          iyc1 = _y
  27.          ixc2 = _x    # 控制点2
  28.          iyc2 = _y - 30
  29.          ixe = _x     # 结束点
  30.          iye = _y
  31.          points1 = Bezier3(num1, xs, ys, xe, ye, xc1, yc1, xc2, yc2)   # 3阶贝塞尔曲线, 控制点的生成是重点

  32. 以及难点
  33.          points2 = Berier3(num2,ixs, iys, ixe, iye, ixc1, iyc1, ixc2, iyc2)
  34.          for i in range(num):
  35.               POS = pos[(points1[i][0], points1[i][1]) + (points2[i][0], points2[i][0])]   # 获取曲线上点坐标
  36.               EFT = POS + EFT1 + color3('5A3AFF')
  37.               ass_main(ASS_BUF, SubL(ts + i, ts + i + 30, 15, Pix_Style), EFT, PixPt())
  38.               EFT = POS + EFT2
  39.               ass_main(ASS_BUF, SubL(ts + i, ts + i + 30, 15, Pix_Style), EFT, PixPt())

  40.     ##### 将结果返回给tcax进行处理 #####

  41.     return (ASS_BUF, TCAS_BUF)
复制代码
呜咕。。这个是改版0.0。。points2 = Berier3(num2,ixs, iys, ixe, iye, ixc1, iyc1, ixc2, iyc2)
  这句总是显示错误(T.T)
作者: 渣渣疯子    时间: 2013-2-2 18:16:44

本帖最后由 渣渣疯子 于 2013-2-2 18:18 编辑
爱雪音MiKu 发表于 2013-2-2 18:03
啊呜。。明白的说呜咕。。这个是改版0.0。。points2 = Berier3(num2,ixs, iys, ixe, iye, ixc1, iyc1, ix ...


你那个for i in range(num):...你的不是num1 num2么?。。。都一样的话,统一一个num = 60不就好了么?你的pos好像也有问题。另外,不行就把错误截图发上来看看
作者: 爱雪音MiKu    时间: 2013-2-2 18:27:07

渣渣疯子 发表于 2013-2-2 18:16
你那个for i in range(num):...你的不是num1 num2么?。。。都一样的话,统一一个num = 60 ...

46GROHCQ9Y6F{336)57OQS3.jpg    呜咕。。这样的说0.0

图片附件: 46GROHCQ9Y6F{336)57OQS3.jpg (2013-2-2 18:26:51, 226.41 KB) / 下载次数 1479
http://tcax.org/forum.php?mod=attachment&aid=MTE4OXxhNDkyN2RlYXwxNzMyNDIyMDIyfDB8MA%3D%3D


作者: 渣渣疯子    时间: 2013-2-2 18:48:09

爱雪音MiKu 发表于 2013-2-2 18:27
呜咕。。这样的说0.0

bezier3,不是berier3字母打错了,那里显示的错误原因是berier3未定义
作者: 爱雪音MiKu    时间: 2013-2-2 18:59:28

渣渣疯子 发表于 2013-2-2 18:48
bezier3,不是berier3字母打错了,那里显示的错误原因是berier3未定义

WGBGK4JSUEX)HFOU}46E)RK.jpg    呜咕。。这样了。。现在貌似是TCC的设置问题0.0

图片附件: WGBGK4JSUEX)HFOU}46E)RK.jpg (2013-2-2 18:59:04, 159.11 KB) / 下载次数 1460
http://tcax.org/forum.php?mod=attachment&aid=MTE5MHw5NDZhN2U2ZHwxNzMyNDIyMDIyfDB8MA%3D%3D


作者: 渣渣疯子    时间: 2013-2-2 19:18:34

爱雪音MiKu 发表于 2013-2-2 18:59
呜咕。。这样了。。现在貌似是TCC的设置问题0.0

< tcaxpy init = true >改了这个试试记得改true别改成ture...
作者: 爱雪音MiKu    时间: 2013-2-2 19:56:13

渣渣疯子 发表于 2013-2-2 19:18
< tcaxpy init = true >改了这个试试记得改true别改成ture...

呜咕。。还是那样。。错误的说
作者: 渣渣疯子    时间: 2013-2-2 20:28:42

爱雪音MiKu 发表于 2013-2-2 19:56
呜咕。。还是那样。。错误的说

好像是命名冲突?你给TCC改个奇葩的名字再试试?
作者: kk123456    时间: 2013-2-2 20:36:49

本帖最后由 kk123456 于 2013-2-2 20:37 编辑
爱雪音MiKu 发表于 2013-2-2 18:59
呜咕。。这样了。。现在貌似是TCC的设置问题0.0


k值文件还在?确定命名为test_k.ass?
作者: 爱雪音MiKu    时间: 2013-2-2 21:03:26

渣渣疯子 发表于 2013-2-2 20:28
好像是命名冲突?你给TCC改个奇葩的名字再试试?

O6R8HAHF7@1C)V6HA4AIY(Q.jpg   啊呜。。这样貌似还是不行呢

图片附件: O6R8HAHF7@1C)V6HA4AIY(Q.jpg (2013-2-2 21:03:06, 243.57 KB) / 下载次数 1490
http://tcax.org/forum.php?mod=attachment&aid=MTE5MXw3YmMyOGI4N3wxNzMyNDIyMDIyfDB8MA%3D%3D


作者: 爱雪音MiKu    时间: 2013-2-2 21:03:53

kk123456 发表于 2013-2-2 20:36
k值文件还在?确定命名为test_k.ass?

呜咕。。。。还在的说。。命名也对的
作者: 渣渣疯子    时间: 2013-2-2 21:06:09

爱雪音MiKu 发表于 2013-2-2 21:03
啊呜。。这样貌似还是不行呢

召唤了M大,让他闪亮登场解决问题吧
作者: milkyjing    时间: 2013-2-2 21:07:37

爱雪音MiKu 发表于 2013-2-2 21:03
呜咕。。。。还在的说。。命名也对的

你要看錯誤提示, (已經是不同的提示了.)

如果你的py腳本裡面沒有定義tcaxPy_Init函數, 那麼tcc中 <tcaxpy init> 要相應設置成false
作者: 爱雪音MiKu    时间: 2013-2-2 21:16:10

milkyjing 发表于 2013-2-2 21:07
你要看錯誤提示, (已經是不同的提示了.)

如果你的py腳本裡面沒有定義tcaxPy_Init函數, 那麼tcc中  要相 ...

{RJ[7UIRPUZXK~]Z8G%@K2A.jpg 呜咕。。新的问题0.0。。。貌似代码又错了(T.T)

图片附件: {RJ[7UIRPUZXK~]Z8G%@K2A.jpg (2013-2-2 21:15:44, 207.67 KB) / 下载次数 1466
http://tcax.org/forum.php?mod=attachment&aid=MTE5M3w5YTYwM2U4ZnwxNzMyNDIyMDIyfDB8MA%3D%3D


作者: milkyjing    时间: 2013-2-2 21:18:55

爱雪音MiKu 发表于 2013-2-2 21:16
呜咕。。新的问题0.0。。。貌似代码又错了(T.T)


第38行, pos是個函數, 不是一個數組, pos[...] 用法是錯誤的, 應該改成 pos()...

p.s. 編輯腳本, 建議使用Notepad2, 或IDLE等工具, 新手不建議使用記事本- -
p.s.2. 磨刀不誤砍柴工...看看Python的基本語法是有益的.


作者: 爱雪音MiKu    时间: 2013-2-2 21:27:44

milkyjing 发表于 2013-2-2 21:18
第38行, pos是個函數, 不是一個數組, pos[...] 用法是錯誤的, 應該改成 pos()...

p.s. 編輯腳本, 建議使 ...

3W}A1U~SY5PAGLZ5RO7[~PP.jpg   啊呜。。这样也不对呢(T.T)

图片附件: 3W}A1U~SY5PAGLZ5RO7[~PP.jpg (2013-2-2 21:27:03, 203.25 KB) / 下载次数 1494
http://tcax.org/forum.php?mod=attachment&aid=MTE5NHxhODkzOWVmNnwxNzMyNDIyMDIyfDB8MA%3D%3D


作者: milkyjing    时间: 2013-2-2 21:31:26

爱雪音MiKu 发表于 2013-2-2 21:27
啊呜。。这样也不对呢(T.T)


pos函數接收兩個參數, x, y, 你給了3個參數了..

話說, 這麼問答效率有點低啊... 雖然我們歡迎多提問題, 多交流. 不過, LZ可以嘗試自己讀下出錯提示.

作者: 爱雪音MiKu    时间: 2013-2-2 21:36:50

milkyjing 发表于 2013-2-2 21:31
pos函數接收兩個參數, x, y, 你給了3個參數了..

話說, 這麼問答效率有點低啊... 雖然我們歡迎多提問題,  ...
  1. from tcaxPy import *

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

  3.     ASS_BUF  = []        # 保存ASS特效
  4.     TCAS_BUF = []        # 保存TCAS特效

  5.     ##### 主要特效编写操作 #####

  6.     ts = _start + _elapk - 20       # 效果开始时间
  7.     _Fs = GetVal(val_FontSize)      # 字体大小
  8.     EFT1 = alpha1(HexToDec('AA')) + alpha3(HexToDec('AA')) + color1('FFFFFF') + \
  9.             bord(5) + blur(5) + t(0, 100, bord(3) + blur(3)) + fad(0, 200)
  10.     EFT2 = alpha1(HexToDec('AA')) + alpha3(HexToDec('00')) + color1('FFFFFF') + color3('FFFFFF') + \
  11.             bord(3) + blur(3) + t(0, 100, bord(1) + blur(1) + alpha3(HexToDec('44'))) + fad(0, 200)
  12.     for k in range(2):
  13.          num = 60    # 曲线上点的个数
  14.          xs = _x     # 开始点
  15.          ys = _y - 30
  16.          xc1 = _x - 30  # 控制点1
  17.          yc1 = _y
  18.          xc2 = _x    # 控制点2
  19.          yc2 = _y + 30
  20.          xe = _x     # 结束点
  21.          ye = _y
  22.          num = 60
  23.          ixs = _x     # 开始点
  24.          iys = _y + 30
  25.          ixc1 = _x + 30  # 控制点1
  26.          iyc1 = _y
  27.          ixc2 = _x    # 控制点2
  28.          iyc2 = _y - 30
  29.          ixe = _x     # 结束点
  30.          iye = _y
  31.          points1 = Bezier3(num, xs, ys, xe, ye, xc1, yc1, xc2, yc2)   # 3阶贝塞尔曲线, 控制点的生成是重点以及难点
  32.          points2 = Bezier3(num,ixs, iys, ixe, iye, ixc1, iyc1, ixc2, iyc2)
  33.          for i in range(num):
  34.               POS1 = pos(points1[i][0], points1[i][1])
  35.               POS2 = pos(points2[i][0], points2[i][1])
  36.               POS = POS1 + POS2   # 获取曲线上点坐标
  37.               EFT = POS + EFT1 + color3('5A3AFF')
  38.               ass_main(ASS_BUF, SubL(ts + i, ts + i + 30, 15, Pix_Style), EFT, PixPt())
  39.               EFT = POS + EFT2
  40.               ass_main(ASS_BUF, SubL(ts + i, ts + i + 30, 15, Pix_Style), EFT, PixPt())

  41.     ##### 将结果返回给tcax进行处理 #####

  42.     return (ASS_BUF, TCAS_BUF)
复制代码
呜咕。。这样级可以了。。但是第二条曲线没有生成出来0.0。。。。不是把两条线的位置都给了吗。。为什么只显示一条0.0?
作者: 渣渣疯子    时间: 2013-2-2 21:38:34

爱雪音MiKu 发表于 2013-2-2 21:36
呜咕。。这样级可以了。。但是第二条曲线没有生成出来0.0。。。。不是把两条线的位置都给了吗。。为什么 ...

你那个POS有问题啊...你完全没必要用POS,第一条曲线是POS1第二条是POS2就好了
作者: milkyjing    时间: 2013-2-2 21:38:44

爱雪音MiKu 发表于 2013-2-2 21:36
呜咕。。这样级可以了。。但是第二条曲线没有生成出来0.0。。。。不是把两条线的位置都给了吗。。为什么 ...
  1.               POS = POS1 + POS2   # 获取曲线上点坐标
  2.               EFT = POS + EFT1 + color3('5A3AFF')
  3.               ass_main(ASS_BUF, SubL(ts + i, ts + i + 30, 15, Pix_Style), EFT, PixPt())
  4.               EFT = POS + EFT2
  5.               ass_main(ASS_BUF, SubL(ts + i, ts + i + 30, 15, Pix_Style), EFT, PixPt())
复制代码
POS = POS1 + POS2 這行代碼達不到你的預期, 你可以說下你通過這行代碼想要達成什麼樣的效果?
作者: 爱雪音MiKu    时间: 2013-2-2 21:40:13

milkyjing 发表于 2013-2-2 21:38
POS = POS1 + POS2 這行代碼達不到你的預期, 你可以說下你通過這行代碼想要達成什麼樣的效果? ...

呜咕。。就是两天线的开始点和控制点都完全相反。。然后回到X,Y
作者: milkyjing    时间: 2013-2-2 21:47:38

嘛, 既然代碼已經能夠執行了, LZ就隨便玩玩唄... 多摸索, 收穫大...
作者: 爱雪音MiKu    时间: 2013-2-2 21:48:17

渣渣疯子 发表于 2013-2-2 21:38
你那个POS有问题啊...你完全没必要用POS,第一条曲线是POS1第二条是POS2就好了 ...

G~M{2SJS%R5ZJ6WMCR8XO)R.jpg   啊呜。。偶明白啦。。这样成功了。。谢谢轴神大大,M大大,KK大大  0.0

图片附件: G~M{2SJS%R5ZJ6WMCR8XO)R.jpg (2013-2-2 21:47:37, 286.72 KB) / 下载次数 1520
http://tcax.org/forum.php?mod=attachment&aid=MTE5NXw1Y2ZlNzliNnwxNzMyNDIyMDIyfDB8MA%3D%3D


作者: 爱雪音MiKu    时间: 2013-2-2 21:49:38

milkyjing 发表于 2013-2-2 21:47
嘛, 既然代碼已經能夠執行了, LZ就隨便玩玩唄... 多摸索, 收穫大... ...

嘎哦。。V。。谢谢M大大的指导。。。对偶来说。。写出了不容易(T.T)。。错误那么多。。
作者: 渣渣疯子    时间: 2013-2-2 21:57:00

爱雪音MiKu 发表于 2013-2-2 21:41
啊呜。。。0.0。。刚刚看了一下。。这样写的确和一条线的效果一样0.0

我复制了想测试下,发现你编程方面的错误太多了,你去好好看看编程的书籍啊...等号后面对应的东西都不一样,当然会错了我测试完了正确代码给你,你也去好好看看教程吧
作者: 渣渣疯子    时间: 2013-2-2 22:14:41

爱雪音MiKu 发表于 2013-2-2 21:48
啊呜。。偶明白啦。。这样成功了。。谢谢轴神大大,M大大,KK大大  0.0

已经好了么=。=。。。我这里测试生成的东西看不到粒子点。。。这次换我郁闷了
作者: 爱雪音MiKu    时间: 2013-2-3 07:42:57

渣渣疯子 发表于 2013-2-2 22:14
已经好了么=。=。。。我这里测试生成的东西看不到粒子点。。。这次换我郁闷了 ...

嘎哦。。0.0。。那么测试的代码给偶
作者: 渣渣疯子    时间: 2013-2-3 13:13:55

爱雪音MiKu 发表于 2013-2-3 07:42
嘎哦。。0.0。。那么测试的代码给偶
  1. from tcaxPy import *


  2. def tcaxPy_Init():
  3.     global _FontFileName          # frame duration, in millisecond
  4.     global _FD                  
  5.     global _Fs
  6.     global _Length
  7.     global _Bd
  8.     global _Br
  9.     global _FaceID
  10.     global _Font
  11.     _FontFileName = GetVal(val_FontFileName)
  12.     _FD = 1000 / GetVal(val_FXFPS)
  13.     _Fs = GetVal(val_FontSize)
  14.     _Length = GetVal(val_TextLength)
  15.     _Bd = GetVal(val_Bord)
  16.     _Br = GetVal(val_Blur)
  17.     _FaceID = GetVal(val_FaceID)
  18.     _Font = InitFont(_FontFileName, _FaceID, _Fs, GetVal(val_Spacing), GetVal(val_SpaceScale), 0xFFFFFF, 2, False)

  19. def fr(x):

  20.     X = randint(-x,x)

  21.     return frx(X)+fry(X)+frz(X)

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


  23.     ASS_BUF  = []        # 保存ASS特效
  24.     TCAS_BUF = []        # 保存TCAS特效

  25.     ##### 主要特效编写操作 #####

  26.     ts = _BT + _SK - 20       # 效果开始时间
  27.     _Fs = GetVal(val_FontSize)      # 字体大小
  28.     for k in range(2):
  29.          num = 60    # 曲线上点的个数
  30.          xs = _X     # 开始点
  31.          ys = _Y - 30
  32.          xc1 = _X - 30  # 控制点1
  33.          yc1 = _Y
  34.          xc2 = _X    # 控制点2
  35.          yc2 = _Y + 30
  36.          xe = _X     # 结束点
  37.          ye = _Y
  38.          num = 60
  39.          ixs = _X     # 开始点
  40.          iys = _Y + 30
  41.          ixc1 = _X + 30  # 控制点1
  42.          iyc1 = _Y
  43.          ixc2 = _X    # 控制点2
  44.          iyc2 = _Y - 30
  45.          ixe = _X     # 结束点
  46.          iye = _Y
  47.          points1 = Bezier3(num, xs, ys, xe, ye, xc1, yc1, xc2, yc2)   # 3阶贝塞尔曲线, 控制点的生成是重点以及难点
  48.          points2 = Bezier3(num,ixs, iys, ixe, iye, ixc1, iyc1, ixc2, iyc2)
  49.          for i in range(num):
  50.               POS1 = pos(points1[i][0], points1[i][1])
  51.               POS2 = pos(points2[i][0], points2[i][1])
  52.               EFT1 = POS1 + color3('5A3AFF')+bord(2)
  53.               ass_main(ASS_BUF, SubL(ts + i, ts + i + 30, 15, Pix_Style), EFT1, PixPt())
  54.               EFT2 = POS2 +bord(2)
  55.               ass_main(ASS_BUF, SubL(ts + i, ts + i + 30, 15, Pix_Style), EFT2, PixPt())

  56.     ##### 将结果返回给tcax进行处理 #####

  57.     return (ASS_BUF, TCAS_BUF)
复制代码
生成的东西看不到=。=不知道为什么,可能复制过程中删掉了什么。。。与其找出来不如重新写一份...不过我懒得写了...你可以对比下POS和EFT的问题。别的应该也没什么帮助了
作者: 爱雪音MiKu    时间: 2013-2-3 13:49:33

渣渣疯子 发表于 2013-2-3 13:13
生成的东西看不到=。=不知道为什么,可能复制过程中删掉了什么。。。与其找出来不如重新写一份...不过我 ...

呜咕。。明白的说。。谢谢
作者: 爱雪音MiKu    时间: 2013-2-7 19:17:52

呜咕。。求问0.0
  1. ass_main(ASS_BUF, SubL(_BT-15,_BT+_SK),color1("FF5150")+fad(100,0)+pos(_X,_Y),_TXT)
  2.         ass_main(ASS_BUF, SubL(_BT+_SK,_BT+_SK+(0.6 * _KT)),pos(_X,_Y)+blur(2)+color1("46FFDD"),_TXT)
  3.         ass_main(ASS_BUF, SubL(_BT+_SK+(0.6 * _KT),_BT+_SK+(0.7 * _KT)),pos(_X,_Y)+blur(7)+bord(5)+color1("FFFFFF"),_TXT)
  4.         ass_main(ASS_BUF, SubL(_BT+_SK+(0.7 * _KT),_ET),pos(_X,_Y)+bord(1.5)+blur(1)+color1("FE5B85")+alpha1(255),_TXT)
  5.    
  6.     # 字体大小
  7.         EFT1 = alpha1(HexToDec('AA')) + alpha3(HexToDec('00')) + color1('FFFFFF') + color3('FFFFFF') + \
  8.             bord(3) + blur(3) + t(0, 100, bord(1) + blur(1) + alpha3(HexToDec('44')))  + fad(0,250)
  9.         EFT2 = alpha1(HexToDec('AA')) + alpha3(HexToDec('00')) + color1('FFFFFF') + color3('FFFFFF') + \
  10.             bord(3) + blur(3) + t(0, 100, bord(1) + blur(1) + alpha3(HexToDec('44')))  + fad(0,250)
  11.         for k in range(4):
  12.              num = 35    # 曲线上点的个数
  13.              xs = _X + randint(-42, 36)    # 开始点
  14.              ys = _Y + randint(-40, 20)
  15.              xc1 = xs + randint(-30, 50)     # 控制点1
  16.              yc1 = ys + randint(-35, 50)
  17.              xc2 = xc1 + randint(-40, 40)    # 控制点2
  18.              yc2 = yc1 + randint(-40, 40)
  19.              xe = _X     # 结束点
  20.              ye = _Y
  21.             
  22.              points1 = Bezier3(num, xs, ys, xe, ye, xc1, yc1, xc2, yc2)   # 3阶贝塞尔曲线, 控制点的生成是重点以及难点
  23.             
  24.              for i in range(num):
  25.                   POS1 = pos(points1[i][0], points1[i][1])
  26.                   # 获取曲线上点坐标
  27.                   EFT = POS1  + EFT1 + color3('68DDF1')
  28.                   ass_main(ASS_BUF, SubL(_BT+_SK  + i ,_BT+_SK+(0.7 * _KT) , 1, Pix_Style), EFT, PixPt())
  29.                   EFT = POS1 + EFT2
  30.                   ass_main(ASS_BUF, SubL(_BT+_SK  + i ,_BT+_SK+(0.7 * _KT) , 1, Pix_Style), EFT, PixPt())
复制代码
为什么曲线无法在偶这个设定的时间内呢0.0?。。而且曲线移动速度好快。。一下子就到_X,_Y了。。然后就拉着长长的一条线就定在这里了0.0?。。
作者: 渣渣疯子    时间: 2013-2-8 11:01:30

爱雪音MiKu 发表于 2013-2-7 19:17
呜咕。。求问0.0为什么曲线无法在偶这个设定的时间内呢0.0?。。而且曲线移动速度好快。。一下子就到_X,_Y ...

噗。。。你这时间点设定这么久,它当然会拉着一条长长的线了,你这个时间点设定的是单个粒子的时间,而不是整条曲线的时间,只不过利用别的变量比如说i来改变每个粒子的时间,你再考虑考虑时间点的具体设定?
作者: 爱雪音MiKu    时间: 2013-2-8 12:04:33

渣渣疯子 发表于 2013-2-8 11:01
噗。。。你这时间点设定这么久,它当然会拉着一条长长的线了,你这个时间点设定的是单个粒子的时间,而不 ...

呜咕。。偶想想。。把时间去掉。。然后在循环外加一个时间0.0?
作者: 爱雪音MiKu    时间: 2013-2-8 12:23:08

渣渣疯子 发表于 2013-2-8 11:01
噗。。。你这时间点设定这么久,它当然会拉着一条长长的线了,你这个时间点设定的是单个粒子的时间,而不 ...

呜咕。。。(_BT+_SK  + i ,_BT+_SK+(0.7 * _KT)     这样不是开始时间+K值开始的时间,到开始的时间+K值开始的时间+K值的7/10的时间0.0?。。。。呜咕。。偶想不明白(T.T)
作者: 爱雪音MiKu    时间: 2013-2-8 12:26:32

渣渣疯子 发表于 2013-2-8 11:01
噗。。。你这时间点设定这么久,它当然会拉着一条长长的线了,你这个时间点设定的是单个粒子的时间,而不 ...

呜咕。。偶明白了。。时间旁边的1是设定粒子的数量吧。。。这里要和粒子数一样才是整条线吧0.0?
作者: 爱雪音MiKu    时间: 2013-2-8 12:29:03

爱雪音MiKu 发表于 2013-2-8 12:26
呜咕。。偶明白了。。时间旁边的1是设定粒子的数量吧。。。这里要和粒子数一样才是整条线吧0.0? ...

呜咕。。可还是不在时间内到_X,_Y。。(T.T)
作者: 渣渣疯子    时间: 2013-2-8 15:24:56

爱雪音MiKu 发表于 2013-2-8 12:29
呜咕。。可还是不在时间内到_X,_Y。。(T.T)

你的设定是一个点,你要想的是这个点出现多久,而不是一条线出现多久,(_BT+_SK+i,_BT+_SK+i+1)你可以试试这样,也可以试试(_BT+_SK+i,_BT+_SK+i+30)先看看这两个的区别,再想想怎么设置一个点的时间?
作者: 爱雪音MiKu    时间: 2013-2-8 15:56:52

渣渣疯子 发表于 2013-2-8 15:24
你的设定是一个点,你要想的是这个点出现多久,而不是一条线出现多久,(_BT+_SK+i,_BT+_SK+ ...

呜咕。。第一个曲线几乎是透明的。。生成后就消失了0.0?
第二个曲线有了而且慢慢消失的

那么偶应该这样0.0(_BT+_SK +i ,_BT+_SK+i+(0.7 * _KT))
作者: 渣渣疯子    时间: 2013-2-8 20:02:55

爱雪音MiKu 发表于 2013-2-8 15:56
呜咕。。第一个曲线几乎是透明的。。生成后就消失了0.0?
第二个曲线有了而且慢慢消失的

你这样试验后是不是会拖很长一条线?你这样就等于让每个点存在了0.7 * _KT的时间,如果这是你需要的效果,你就这样写,如果不是,就继续改吧
作者: 爱雪音MiKu    时间: 2013-2-8 20:19:09

渣渣疯子 发表于 2013-2-8 20:02
你这样试验后是不是会拖很长一条线?你这样就等于让每个点存在了0.7 * _KT的时间,如果这是 ...

呜咕。。偶是这样的。。在这里偶设置的是0.7*_KT的时候字体会边框高亮的。。所以。。曲线正好到字体里
作者: 爱雪音MiKu    时间: 2013-2-8 20:35:11

渣渣疯子 发表于 2013-2-8 20:02
你这样试验后是不是会拖很长一条线?你这样就等于让每个点存在了0.7 * _KT的时间,如果这是 ...

呜咕。。如果要让整条线设置成0.7*_KT的时间呢。。怎么设置呀0.0
作者: 渣渣疯子    时间: 2013-2-8 21:02:36

爱雪音MiKu 发表于 2013-2-8 20:35
呜咕。。如果要让整条线设置成0.7*_KT的时间呢。。怎么设置呀0.0

我不知道你想要什么样的效果。。。说个大概吧,一条曲线的点数是num,你想要的时间是_BT+_SK到_BT+_SK+(_KT*0.7)这个时间段,配合数列i,把这些点均摊在这个时间段内就好了。。。能明白么?具体时间点我还真不知道你想怎么弄,不过(_KT * 0.7)/num我觉得应该有用吧?
作者: 爱雪音MiKu    时间: 2013-2-8 21:17:02

渣渣疯子 发表于 2013-2-8 21:02
我不知道你想要什么样的效果。。。说个大概吧,一条曲线的点数是num,你想要的时间是_BT+_SK到_BT+_SK+(_ ...

呜咕。。V。。偶知道。。原来是这个原理。。。谢谢大大。。新年快乐
作者: 渣渣疯子    时间: 2013-2-8 23:05:58

爱雪音MiKu 发表于 2013-2-8 21:17
呜咕。。V。。偶知道。。原来是这个原理。。。谢谢大大。。新年快乐

新年快乐,你理解了就行了~
作者: アクマ    时间: 2016-1-26 11:23:53

码一个 滚回家看
作者: アクマ    时间: 2016-1-26 11:24:28

码一个 回家看




欢迎光临 TCAX 字幕特效制作工具官方论坛 | ASS | TCAS | Python | Aegisub | Lua (http://tcax.org/) Powered by Discuz! X2