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

 找回密码
 新人加入
查看: 29926|回复: 83

[ASS特效教程入门系列] 三. 曲线轨迹的简单应用及逐帧特效 [复制链接]

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

发表于 2011-11-1 20:49:46 |显示全部楼层
说明

本系列教程旨在更好的引导大家使用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

3.26 KB, 下载次数: 5457

Rank: 4

发表于 2012-5-17 11:22:23 |显示全部楼层
看不懂,支持,写字幕特效简直是疯狂的自虐行为...

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

发表于 2012-5-17 12:49:15 |显示全部楼层
usfsaf 发表于 2012-5-17 11:22
看不懂,支持,写字幕特效简直是疯狂的自虐行为...


  那你写还是不写 233

Rank: 4

发表于 2012-5-19 07:55:33 |显示全部楼层
milkyjing 发表于 2012-5-17 12:49
那你写还是不写 233

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

Rank: 5Rank: 5

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

aegisub里的自动化更简便吧- -

Rank: 4

发表于 2013-2-1 17:11:53 |显示全部楼层
milkyjing 发表于 2012-5-17 12:49
那你写还是不写 233

啊呜。。那个。。问一下。。控制点可以生成很多个吗0.0?【如果就2个控制点貌似不够用0.0】

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

发表于 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

Rank: 4

发表于 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?

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

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

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

我猜測, 你應該是以為只有兩個控制點畫不出圖形? 實際上你用過ASSDraw就知道了...

Rank: 4

发表于 2013-2-1 22:44:33 |显示全部楼层
milkyjing 发表于 2013-2-1 22:22
ASS繪圖用的是3階貝塞爾...
貝塞爾曲線與UCBS是兩種不同的曲線...

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

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

发表于 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

Rank: 4

发表于 2013-2-2 07:28:28 |显示全部楼层
milkyjing 发表于 2013-2-1 23:09
花點功夫能畫出很多神奇的東西.

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

嘎哦0.0。。。哇。。好漂亮的图形。。可以构出这么多图形。。偶也去画画

Moderator

疯子

Rank: 5Rank: 5

发表于 2013-2-2 08:34:01 |显示全部楼层
爱雪音MiKu 发表于 2013-2-2 07:28
嘎哦0.0。。。哇。。好漂亮的图形。。可以构出这么多图形。。偶也去画画 ...

与其用贝塞尔曲线画图形,不如用ass3draw画出图,把边框弄成粒子来用比较方便

Rank: 4

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

嘎哦。。。0.0。。。看到一个未知的知识0.0。。。边框弄成粒子0.0?。。。偶不会呢。。。需要用PIX函数么?

Rank: 4

发表于 2013-2-2 09:21:42 |显示全部楼层
milkyjing 发表于 2013-2-1 23:09
花點功夫能畫出很多神奇的東西.

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

啊呜。。曲线可以生成很多条吗0.0?

Moderator

疯子

Rank: 5Rank: 5

发表于 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部分以下就是矢量图变粒子的做法...说实话我也不是很会用=。=没控制好,最后那个粒子做的有点烂了...游风也做过一个。。。不过我想不起是他哪个脚本了...

Moderator

疯子

Rank: 5Rank: 5

发表于 2013-2-2 10:18:33 |显示全部楼层
爱雪音MiKu 发表于 2013-2-2 09:21
啊呜。。曲线可以生成很多条吗0.0?

你只要不怕卡,曲线可以生成很多条,没问题的。。。无非就是生成的字幕略大...

Rank: 4

发表于 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。是很难呢。。而且还有一些代码没看懂

Rank: 4

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

呜咕。。。生成多个曲线有什么简单的方法吗0.0?。。还是就复制一下代码?

Moderator

疯子

Rank: 5Rank: 5

发表于 2013-2-2 10:51:13 |显示全部楼层
爱雪音MiKu 发表于 2013-2-2 10:49
嘎哦。。。0.0。是很难呢。。而且还有一些代码没看懂

基本和用字体粒子差不多。。。唯一的区别就是坐标方面的差别=。=。。。我是没控制好。。。
您需要登录后才可以回帖 登录 | 新人加入

GitHub|TCAX 主页

GMT+8, 2024-3-19 16:44

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部
RealH