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

标题: 呜咕,偶只知道基础常用的一些代码,很多厉害的代码都不会呀 [打印本页]

作者: 爱雪音MiKu    时间: 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)】。。
作者: 爱雪音MiKu    时间: 2013-1-4 20:25:31

呜咕。。HexToDec  这个代码是做什么的呢?
作者: milkyjing    时间: 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

....
作者: 爱雪音MiKu    时间: 2013-1-5 08:10:43

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

http://tca ...

啊呜,偶一个一个的看0.0
作者: 渣渣疯子    时间: 2013-1-5 09:30:50

这脚本主要生成的是tcas文件,这个和ASS有点区别...所以看不懂什么的...其实我能看懂的也不多
作者: 爱雪音MiKu    时间: 2013-1-5 09:36:09

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

呜咕。。可是偶有很多的代码呀,函数什么的不明白呢。。。想到什么特效。但因为各种不懂也不无法编写呢(T.T)
作者: 渣渣疯子    时间: 2013-1-5 09:41:38

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

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

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

呜咕。。嗯嗯。。偶尽最大努力写吧。。不会在在请教乃了呢0.0
作者: saiyaku    时间: 2013-1-5 15:16:53

某人貌似做了一大堆英文文檔
ass代碼說明 http://www.tcax.org/docs/ass-specs.htm
tcas說明 http://www.tcax.org/docs/tcas-spec.htm
K軸說明 http://www.tcax.org/docs/syl-spec.htm
tcc設置說明 http://www.tcax.org/docs/tcc-spec.htm
tcaxlib函數查詢 http://www.tcax.org/docs/tcaxLib/
作者: 爱雪音MiKu    时间: 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?
作者: saiyaku    时间: 2013-1-5 16:08:26

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

除ass代碼外好像都是milk碼的
作者: 爱雪音MiKu    时间: 2013-1-5 17:04:19

saiyaku 发表于 2013-1-5 16:08
除ass代碼外好像都是milk碼的

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

啊呜。。对了乃们学习TCAX的时候觉得TCAX难吗?。。。偶几乎没学过编程什么的。。。现在学TCAX感觉好难哦。。。各种都看不懂(T.T)。。失落ing...
作者: 渣渣疯子    时间: 2013-1-5 20:49:34

爱雪音MiKu 发表于 2013-1-5 17:04
呜咕。。0.0英文好厉害呀。。。

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

最早觉得难很正常吧...不过如果单纯写特效的话,并不会用到太多编程的东西...看不懂的,慢慢来就是了,业余爱好这种东西,不用那么着急啊
作者: 爱雪音MiKu    时间: 2013-1-5 20:57:59

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

啊呜。。是么0.0。。偶都快学糊涂了。。一直都最求快点学好。。也对呢业余的慢慢来了呢。。学习的时间还多呢。。感谢轴神的教导(T.T)
作者: 渣渣疯子    时间: 2013-1-5 21:36:59

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

为啥你也这么叫了啊......
作者: 爱雪音MiKu    时间: 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
作者: milkyjing    时间: 2013-1-5 22:11:05

加油啊, 新人, 我看好你哦...

p.s. 視頻教程是個好東西啊... lijingjie講得很到位了...建議你先看看, 不要浮躁.
作者: 爱雪音MiKu    时间: 2013-1-5 22:14:24

milkyjing 发表于 2013-1-5 22:11
加油啊, 新人, 我看好你哦...

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

呜咕。。V。。这位大大的教程偶看了呢。。。。偶现在是一些代码看不懂0.0。。看了一下乃们写的完整特效。。那些定义量很多都不明白是用什么的0.0
作者: milkyjing    时间: 2013-1-5 22:18:48

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


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

可以以那個為基準, 貼出你看不明白的地方...比較有針對性...
作者: 爱雪音MiKu    时间: 2013-1-5 22:21:39

milkyjing 发表于 2013-1-5 22:18
Nekokami那教程看了麼, 裡面有對一些變量進行解釋...

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

呜咕。。好的。。偶看看呢。。。不会的在来问乃们0.0
作者: tnti    时间: 2013-1-6 00:19:31

saiyaku 发表于 2013-1-5 15:16
某人貌似做了一大堆英文文檔
ass代碼說明 http://www.tcax.org/docs/ass-specs.htm
tcas說明 http://tcax ...

不懂英语干脆连后期和特效都不要学了 算了 我机翻看去...
作者: 渣渣疯子    时间: 2013-1-6 10:40:37

爱雪音MiKu 发表于 2013-1-5 21:50
啊呜。。0.0他们不都是这样叫的么0.0。。难偶不应该这样叫么(T.T)。。。那么偶应该称呼乃叫什么呢0.0? ...

叫我疯子就好...
作者: 爱雪音MiKu    时间: 2013-1-6 10:54:51

渣渣疯子 发表于 2013-1-6 10:40
叫我疯子就好...

嘎哦。。这名称不好吧0.0
作者: 渣渣疯子    时间: 2013-1-6 11:29:30

爱雪音MiKu 发表于 2013-1-6 10:54
嘎哦。。这名称不好吧0.0

有啥不好的,马甲不就是这样的么?忘了轴神吧
作者: 爱雪音MiKu    时间: 2013-1-6 12:04:10

渣渣疯子 发表于 2013-1-6 11:29
有啥不好的,马甲不就是这样的么?忘了轴神吧

啊呜。。。0.0好吧。。可是轴神这个名称偶已经忘不掉了呢0.0。。。乃这么厉害的说0.0
作者: 渣渣疯子    时间: 2013-1-6 20:40:31

爱雪音MiKu 发表于 2013-1-6 12:04
啊呜。。。0.0好吧。。可是轴神这个名称偶已经忘不掉了呢0.0。。。乃这么厉害的说0.0 ...

比我厉害的多得是啊。。。我就是个渣渣
作者: 爱雪音MiKu    时间: 2013-1-6 21:04:33

渣渣疯子 发表于 2013-1-6 20:40
比我厉害的多得是啊。。。我就是个渣渣

呜咕。。乃不要谦虚呢0.0。。。这么厉害呢都被称为轴神了。。。一定是一位很厉害的人呢
作者: 安米儿    时间: 2013-1-7 13:48:54

说道函数……对函数无解啊……
作者: 叽算姬    时间: 2013-1-8 22:37:31

渣渣疯子 发表于 2013-1-6 20:40
比我厉害的多得是啊。。。我就是个渣渣

dog and cats 这话说的是恶意卖萌吗?  好。。
作者: milkyjing    时间: 2013-1-8 23:48:23

叽算姬 发表于 2013-1-8 22:37
dog and cats 这话说的是恶意卖萌吗?  好。。


瘋子親是謙謙君子...
作者: showjim    时间: 2013-1-10 08:05:47

本帖最后由 showjim 于 2013-1-10 10:09 编辑

打个广告

还在为看不懂源码而苦恼吗?
想轻松掌握字幕特效吗?

试试Lua吧
接近伪代码
与C语言类似
与ass字幕代码兼容
让您轻松掌握一技之长!
作者: tnti    时间: 2013-1-11 13:35:25

showjim 发表于 2013-1-10 08:05
打个广告

还在为看不懂源码而苦恼吗?

与C语言类似=天书(楼快歪了...)
作者: milkyjing    时间: 2013-1-11 22:59:02

showjim 发表于 2013-1-10 08:05
打个广告

还在为看不懂源码而苦恼吗?

建議有能力多學... Python, Ruby, Perl, Lua, TCL等, 都是不錯的腳本語言 233

將來可以兼職個腳本程序員啥的, 233
作者: showjim    时间: 2013-1-15 10:36:43

milkyjing 发表于 2013-1-12 00:59
建議有能力多學... Python, Ruby, Perl, Lua, TCL等, 都是不錯的腳本語言 233

將來可以 ...

milk大,好辛苦啊,xxparticalsystem求助啊




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