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

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

[已解决] 呜咕,偶只知道基础常用的一些代码,很多厉害的代码都不会呀 [复制链接]

Rank: 4

跳转到指定楼层
楼主
发表于 2013-1-4 17:36:01 |只看该作者 |倒序浏览
呜咕。。。比如de定义f的代码偶都不认识(T.T)。。。看了大大们的完整特效一个都无法看懂(T.T)。。

啊呜。。偶还是从基础学吧。。找一个M大大以前写的
  1. from tcaxPy import *
  2. from pixLibs.ImageStone.pixStone import *

  3. def tcaxPy_Init():
  4.     global _FD          # 一帧的时间
  5.     global _Fs
  6.     global _TextLength
  7.     global Font
  8.     global FontOut
  9.     global PIX_tex
  10.     global PIX_tex2
  11.     _FD = 1000 / GetVal(val_FXFPS)
  12.     _Fs = GetVal(val_FontSize)
  13.     _TextLength = GetVal(val_TextLength)
  14.     _FontFileName = GetVal(val_FontFileName)
  15.     _FaceID       = GetVal(val_FaceID)
  16.     Font    = InitFont(_FontFileName, _FaceID, _Fs, GetVal(val_Spacing), GetVal(val_SpaceScale),

  17. MakeRGB(0, 0, 0), 1, 0)
  18.     FontOut = InitFont(_FontFileName, _FaceID, _Fs, GetVal(val_Spacing), GetVal(val_SpaceScale),

  19. MakeRGB(180, 180, 180), 5, 1)
  20.     PIX_tex = ImagePix(abspath('tex2.png'), _Fs, 0)
  21.     PIX_tex2 = ImagePix(abspath('tex5.png'))

  22. def tcaxPy_Fin():
  23.     FinFont(Font)
  24.     FinFont(FontOut)

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

  26.     ASS_BUF  = []        # 保存ASS特效
  27.     TCAS_BUF = []        # 保存TCAS特效

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

  29.     dx = _x - int(_a / 2 + 0.5)         # 一个固定操作, 将an5的坐标转换为an7
  30.     dy = _y - int(_Fs / 2 + 0.5)        # ASS特效默认采用an5坐标, TCAS特效则采用an7坐标

  31.     if (_i == 12):
  32.         dy += _Fs + 8

  33.     ts_0 = _start - _FD * 10 / 10
  34.     ts = _start
  35.     te = _end
  36.     te_0 = te + _FD * 5 / 10
  37.     tm = _start + _elapk

  38.     PIX_t = TextPix(Font, _txt)             # 获取文字
  39.     PIX_t = PixTexture(PIX_t, PIX_tex)      # 增加纹理
  40.     PIX_out = TextPix(FontOut, _txt)        # 获取边框
  41.     PIX_out = PixTexture(PIX_out, PIX_tex2)
  42.     PIX_out = PixColorMul(PIX_out, 1, 1, 1, 0.9)    # 增加透明度
  43.     PIX_out = PixBlur(PIX_out, 6)           # 增加模糊
  44.     PIX_ori = CombinePixs(PIX_out, PIX_t)   # 混合文字主体和边框 (边框作底)

  45.     center = _n / 2 - 0.5      # center index of 5 texts is 2, center index of 6 is 2.5
  46.     x = dx + 50 * (_j - center) / center
  47.     y = dy + 10
  48.     for i in range(10):
  49.         x = x + (dx - x) * (i + 1) / 5
  50.         y = y + (dy - y) * (i + 1) / 5
  51.         PIX = PixBlur(PIX_ori, 40 - i * 4)
  52.         tcas_main(TCAS_BUF, PIX, 10 * ts_0 + _FD * i, 10 * ts_0 + _FD * (i + 1), x, y, 0)

  53.     PIX = PIX_ori
  54.     tcas_main(TCAS_BUF, PIX, 10 * ts, 10 * te, dx, dy, 0)

  55.     for i in range(0, 10 * _k, int(2 * _FD)):
  56.         PIX = PIX_ori
  57.         PIX = PixBlur(PIX, 0)
  58.         PIX = pstSoftGlow(PIX, 10, 60, 110)
  59.         tcas_main(TCAS_BUF, PIX, 10 * tm + i, 10 * tm + i + _FD, dx, dy, 0)     # PixBlur(PIX, 0) 有特殊效



  60.     for i in range(5):
  61.         PIX = PixBlur(PIX_ori, (i + 1) * 4)
  62.         #PIX = PixColorMul(PIX, 1, 1, 1, 0.5 + 0.5 * (5 - i - 1) / 5)
  63.         tcas_main(TCAS_BUF, PIX, 10 * te_0 - _FD * (5 - i), 10 * te_0 - _FD * (5 - i - 1), dx, dy, 0)

  64.     # ASS
  65.     if IsLineChanged(_i):
  66.         num = int(_TextLength[_i] / 2)
  67.         points = Bezier1(num, dx, 10, dx + _TextLength[_i], 10)
  68.         for i in range(num):
  69.             ass_main(ASS_BUF, SubL(_start + i / 5, _start + i / 5 + 80, 0, Pix_Style), \
  70.                  pos(points[i][0], points[i][1]) + alpha1(HexToDec('77')) + alpha3(HexToDec('F4')) + bord(1)

  71. + blur(1) + color3('A54AFF') + color1('A54AFF') + \
  72.                  t(0, 200, bord(6) + blur(6)) + t(600, 800, bord(1) + blur(1)), PixPt())
  73.             ass_main(ASS_BUF, SubL(_start + i / 5, _start + i / 5 + 80, 1, Pix_Style), \
  74.                  pos(points[i][0], points[i][1]) + alpha1(HexToDec('77')) + alpha3(HexToDec('AA')) + bord(1)

  75. + blur(1) + color3('A54AFF') + color1('A54AFF') + \
  76.                  t(0, 100, bord(1.8) + blur(1.8)) + t(100, 200, bord(2.3) + blur(2.3)) +\
  77.                  t(200, 600, bord(1.8) + blur(1.8)) + t(600, 800, bord(1) + blur(1)), PixPt())
  78.             ass_main(ASS_BUF, SubL(_start + i / 5, _start + i / 5 + 80, 2, Pix_Style), \
  79.                  pos(points[i][0], points[i][1]) + alpha1(HexToDec('77')) + alpha3(HexToDec('AA')) + bord

  80. (0.7) + blur(0.7) + color3('FFFFFF') + color1('FFFFFF') + \
  81.                  t(0, 100, bord(1.6) + blur(1.6)) + t(100, 200, bord(2.1) + blur(2.1)) +\
  82.                  t(200, 600, bord(1.6) + blur(1.6)) + t(600, 800, bord(0.8) + blur(0.8) + alpha3(255)), PixPt

  83. ())
  84.         points = Bezier1(num, dx + _TextLength[_i], dy + _Fs + 10, dx, dy + _Fs + 10)
  85.         for i in range(num):
  86.             ass_main(ASS_BUF, SubL(_start + i / 5, _start + i / 5 + 80, 0, Pix_Style), \
  87.                  pos(points[i][0], points[i][1]) + alpha1(HexToDec('77')) + alpha3(HexToDec('F4')) + bord(1)

  88. + blur(1) + color3('A54AFF') + color1('A54AFF') + \
  89.                  t(0, 200, bord(6) + blur(6)) + t(600, 800, bord(1) + blur(1)), PixPt())
  90.             ass_main(ASS_BUF, SubL(_start + i / 5, _start + i / 5 + 80, 1, Pix_Style), \
  91.                  pos(points[i][0], points[i][1]) + alpha1(HexToDec('77')) + alpha3(HexToDec('AA')) + bord(1)

  92. + blur(1) + color3('A54AFF') + color1('A54AFF') + \
  93.                  t(0, 100, bord(1.8) + blur(1.8)) + t(100, 200, bord(2.3) + blur(2.3)) +\
  94.                  t(200, 600, bord(1.8) + blur(1.8)) + t(600, 800, bord(1) + blur(1)), PixPt())
  95.             ass_main(ASS_BUF, SubL(_start + i / 5, _start + i / 5 + 80, 2, Pix_Style), \
  96.                  pos(points[i][0], points[i][1]) + alpha1(HexToDec('77')) + alpha3(HexToDec('AA')) + bord

  97. (0.7) + blur(0.7) + color3('FFFFFF') + color1('FFFFFF') + \
  98.                  t(0, 100, bord(1.6) + blur(1.6)) + t(100, 200, bord(2.1) + blur(2.1)) +\
  99.                  t(200, 600, bord(1.6) + blur(1.6)) + t(600, 800, bord(0.8) + blur(0.8) + alpha3(255)), PixPt

  100. ())

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

  102.     return (ASS_BUF, TCAS_BUF)
复制代码
呜咕。。。从开始的MakeRGB的定义开始下面的就几乎不会了呢(T.T)。。PIX只知道用粒子特效的。。。用法一点都不知道

啊呜。。。能帮偶详细的讲解一下么0.0【貌似请求过分了呢(T.T)】。。

Rank: 4

沙发
发表于 2013-1-4 20:25:31 |只看该作者
呜咕。。HexToDec  这个代码是做什么的呢?

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

板凳
发表于 2013-1-4 23:38:49 |只看该作者
挑個簡單的學唄... 另外, 我不是發過教程麼... 論壇鏈接上都有的, 很好找的.. 基本都是高亮...

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

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

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

....

Rank: 4

地板
发表于 2013-1-5 08:10:43 |只看该作者
milkyjing 发表于 2013-1-4 23:38
挑個簡單的學唄... 另外, 我不是發過教程麼... 論壇鏈接上都有的, 很好找的.. 基本都是高亮...

http://tca ...

啊呜,偶一个一个的看0.0

Moderator

疯子

Rank: 5Rank: 5

5#
发表于 2013-1-5 09:30:50 |只看该作者
这脚本主要生成的是tcas文件,这个和ASS有点区别...所以看不懂什么的...其实我能看懂的也不多

Rank: 4

6#
发表于 2013-1-5 09:36:09 |只看该作者
渣渣疯子 发表于 2013-1-5 09:30
这脚本主要生成的是tcas文件,这个和ASS有点区别...所以看不懂什么的...其实我能看懂的也不 ...

呜咕。。可是偶有很多的代码呀,函数什么的不明白呢。。。想到什么特效。但因为各种不懂也不无法编写呢(T.T)

Moderator

疯子

Rank: 5Rank: 5

7#
发表于 2013-1-5 09:41:38 |只看该作者
爱雪音MiKu 发表于 2013-1-5 09:36
呜咕。。可是偶有很多的代码呀,函数什么的不明白呢。。。想到什么特效。但因为各种不懂也不无法编写呢( ...

这些东西慢慢积累就好了,函数啥的,知道怎么用就可以。。。比如说你可以生成ass看看字幕行的效果对应的代码。至于想到什么效果,怎么做出来,这个一个人可以有一个办法,你可以先试着把你手里能用的办法先组合起来,如果还有什么地方解决不了可以再问。

Rank: 4

8#
发表于 2013-1-5 11:23:08 |只看该作者
渣渣疯子 发表于 2013-1-5 09:41
这些东西慢慢积累就好了,函数啥的,知道怎么用就可以。。。比如说你可以生成ass看看字幕行的效果对应的 ...

呜咕。。嗯嗯。。偶尽最大努力写吧。。不会在在请教乃了呢0.0

Administrator

Shanzhai Pro.

Rank: 7Rank: 7Rank: 7

9#
发表于 2013-1-5 15:16:53 |只看该作者

Rank: 4

10#
发表于 2013-1-5 16:00:59 |只看该作者
saiyaku 发表于 2013-1-5 15:16
某人貌似做了一大堆英文文檔
ass代碼說明 http://www.tcax.org/docs/ass-specs.htm
tcas說明 http://tcax ...

呜咕。。。全都是英文呀(T.T)。。。很多都看不懂(T.T)。。。外国大大写的吗0.0?

Administrator

Shanzhai Pro.

Rank: 7Rank: 7Rank: 7

11#
发表于 2013-1-5 16:08:26 |只看该作者
爱雪音MiKu 发表于 2013-1-5 16:00
呜咕。。。全都是英文呀(T.T)。。。很多都看不懂(T.T)。。。外国大大写的吗0.0? ...

除ass代碼外好像都是milk碼的

Rank: 4

12#
发表于 2013-1-5 17:04:19 |只看该作者
saiyaku 发表于 2013-1-5 16:08
除ass代碼外好像都是milk碼的

呜咕。。0.0英文好厉害呀。。。

啊呜。。对了乃们学习TCAX的时候觉得TCAX难吗?。。。偶几乎没学过编程什么的。。。现在学TCAX感觉好难哦。。。各种都看不懂(T.T)。。失落ing...

Moderator

疯子

Rank: 5Rank: 5

13#
发表于 2013-1-5 20:49:34 |只看该作者
爱雪音MiKu 发表于 2013-1-5 17:04
呜咕。。0.0英文好厉害呀。。。

啊呜。。对了乃们学习TCAX的时候觉得TCAX难吗?。。。偶几乎没学过编程 ...

最早觉得难很正常吧...不过如果单纯写特效的话,并不会用到太多编程的东西...看不懂的,慢慢来就是了,业余爱好这种东西,不用那么着急啊

Rank: 4

14#
发表于 2013-1-5 20:57:59 |只看该作者
渣渣疯子 发表于 2013-1-5 20:49
最早觉得难很正常吧...不过如果单纯写特效的话,并不会用到太多编程的东西...看不懂的,慢慢来就是了,业 ...

啊呜。。是么0.0。。偶都快学糊涂了。。一直都最求快点学好。。也对呢业余的慢慢来了呢。。学习的时间还多呢。。感谢轴神的教导(T.T)

Moderator

疯子

Rank: 5Rank: 5

15#
发表于 2013-1-5 21:36:59 |只看该作者
爱雪音MiKu 发表于 2013-1-5 20:57
啊呜。。是么0.0。。偶都快学糊涂了。。一直都最求快点学好。。也对呢业余的慢慢来了呢。。学习的时间还 ...

为啥你也这么叫了啊......

Rank: 4

16#
发表于 2013-1-5 21:50:03 |只看该作者
渣渣疯子 发表于 2013-1-5 21:36
为啥你也这么叫了啊......

啊呜。。0.0他们不都是这样叫的么0.0。。难偶不应该这样叫么(T.T)。。。那么偶应该称呼乃叫什么呢0.0?

啊呜。。自偶介绍一下。。。
姓名:雪音【大家都这么叫的
性别:?(未知)
年龄:14
特长:无【只会用AE,vegas和Aegisub做一些字幕(和TCAX大大们完全不能比。。因为是新手),调教,和初级日语(刚学中级)+画画】以上都是低水准的(T.T)
爱好:学习各种好玩的东西
住的地方:江苏省  盐城市
QQ:945461668

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

17#
发表于 2013-1-5 22:11:05 |只看该作者
加油啊, 新人, 我看好你哦...

p.s. 視頻教程是個好東西啊... lijingjie講得很到位了...建議你先看看, 不要浮躁.

Rank: 4

18#
发表于 2013-1-5 22:14:24 |只看该作者
milkyjing 发表于 2013-1-5 22:11
加油啊, 新人, 我看好你哦...

p.s. 視頻教程是個好東西啊... lijingjie講得很到位了...建 ...

呜咕。。V。。这位大大的教程偶看了呢。。。。偶现在是一些代码看不懂0.0。。看了一下乃们写的完整特效。。那些定义量很多都不明白是用什么的0.0

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

19#
发表于 2013-1-5 22:18:48 |只看该作者
爱雪音MiKu 发表于 2013-1-5 22:14
呜咕。。V。。这位大大的教程偶看了呢。。。。偶现在是一些代码看不懂0.0。。看了一下乃们写的完整特效。 ...


Nekokami那教程看了麼, 裡面有對一些變量進行解釋...

可以以那個為基準, 貼出你看不明白的地方...比較有針對性...

Rank: 4

20#
发表于 2013-1-5 22:21:39 |只看该作者
milkyjing 发表于 2013-1-5 22:18
Nekokami那教程看了麼, 裡面有對一些變量進行解釋...

可以以那個為基準, 貼出你看不明白的地方...比較有 ...

呜咕。。好的。。偶看看呢。。。不会的在来问乃们0.0
您需要登录后才可以回帖 登录 | 新人加入

GitHub|TCAX 主页

GMT+8, 2024-11-25 08:52

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部
RealH