TCAX 字幕特效制作工具官方论坛 | ASS | TCAS | Python | Aegisub | Lua
标题:
如何让TCAX根据py脚本文件中设置的样式名称去输出样式?
[打印本页]
作者:
Seekladoom
时间:
2020-8-4 17:06:50
标题:
如何让TCAX根据py脚本文件中设置的样式名称去输出样式?
本帖最后由 Seekladoom 于 2021-7-12 16:07 编辑
因为TCAX每次操作完py脚本文件以后,输出的特效字幕文件的
样式
全都会被TCAX中的
tcaxPy.py
这个脚本自动替换为
TCMS
,我自己设置的OPJP、OPCN、EDJP、EDCN、INJP、INCN这些样式啥的全都会清一色被替换为
TCMS
。
【操作前】
2020-8-4 17:22:18 上传
下载附件
(200.69 KB)
【操作后】
2020-8-4 17:22:31 上传
下载附件
(210.14 KB)
有没有什么办法给TCAX中的
tcax.py
修改点啥代码让TCAX自动读取K值字幕文件里面的样式名称然后再输出特效字幕文件?
2020-8-4 17:22:08 上传
下载附件
(191.66 KB)
虽然不是啥直接影响特效制作的大问题,但写代码久了难免会有强迫症,想自己生成自定义程度更高的字幕文件,样式为TCMS的话还要自己手动修改一次才能作为字幕组的字幕文件复制粘贴整合进去,这样做其实无形中
降低了工作效率
。。。_(:з」∠)_
图片附件:
操作后.png
(2020-8-4 17:22:31, 210.14 KB) / 下载次数 2186
http://tcax.org/forum.php?mod=attachment&aid=MjQ0MXxhMzQ3MTI0YXwxNzMyNDE0MTM0fDB8MA%3D%3D
图片附件:
操作前.png
(2020-8-4 17:22:18, 200.69 KB) / 下载次数 2248
http://tcax.org/forum.php?mod=attachment&aid=MjQ0MHxiMjdkZmVhNnwxNzMyNDE0MTM0fDB8MA%3D%3D
图片附件:
TCMS.png
(2020-8-4 17:22:08, 191.66 KB) / 下载次数 2186
http://tcax.org/forum.php?mod=attachment&aid=MjQzOXxjZDk4ZWFlMXwxNzMyNDE0MTM0fDB8MA%3D%3D
作者:
Seekladoom
时间:
2021-7-12 10:25:57
本帖最后由 Seekladoom 于 2021-7-12 15:28 编辑
解决方法如下:
from tcaxPy import *
def tcaxPy_Init():
global _FD # frame duration, in millisecond
global _Blur
_FD = 1000 / GetVal(val_FXFPS)
_Blur = GetVal(val_Blur)
def tcaxPy_Fin():
pass
def tcaxPy_Main(_i, _j, _n, _start, _end, _elapk, _k, _x, _y, _a, _txt):
ASS_BUF = [] # used for saving ASS FX lines
TCAS_BUF = [] # used for saving TCAS FX raw data
ass_main(ASS_BUF, SubL(_start+_j*3-20,_start+_elapk,0,'OPJP'), pos(_x,_y)+color1('3767E6')+color3('FFFFFF')+blur(2)+fad(200,0), _txt) #入场特效 - start2syl
ass_main(ASS_BUF, SubL(_start+_elapk,_start+_elapk+_k,0,'OPJP'), pos(_x,_y)+blur(2)+color1('3767E6')+color3('FFFFFF')+t(color1('FFFFFF')+color3('3767E6')), _txt) #卡拉OK特效 - syl
ass_main(ASS_BUF, SubL(_start+_elapk+_k,_end-(_n-_j-1)*3+20,0,'OPJP'), pos(_x,_y)+color1('FFFFFF')+color3('3767E6')+blur(2)+fad(0,200), _txt) #退场特效 - syl2end
return (ASS_BUF, TCAS_BUF)
复制代码
关键部分:SubL(_start+_j*3-20,_start+_elapk,0,'OPJP')
这里的SubL有四个参数,依次是开始时间、结束时间、文本层数、
样式名称
,论坛内绝大部分脚本都没写第3和第4个参数,因此字幕文件默认生成名称为TCMS的样式。
把第3和第4个参数补上,第4个参数写成这样的形式——'样式名称'即可生成这样的字幕文件:
2021-7-12 10:30:53 上传
下载附件
(104.63 KB)
不过V4+ Style部分仍需要自行手动修改,如果要确保这里也按照py脚本里面设置的样式名称自动生成的话,需要对
tcaxPy.py
进行相应修改才行。
目前发现tcaxPy.py中的这段内容跟V4+ Style可能有较大联系:
val_AssHeader = 0 # Ass文件头部信息 用于tcaxPy_User函数
复制代码
时间关系这里就暂时不深入了,有余力的可以去翻翻奶大留下的源码:
https://github.com/milkyjing/TCAX
图片附件:
生成1.png
(2021-7-12 10:30:53, 104.63 KB) / 下载次数 2098
http://tcax.org/forum.php?mod=attachment&aid=MjY5Nnw3ODZhZjIzNHwxNzMyNDE0MTM0fDB8MA%3D%3D
作者:
Seekladoom
时间:
2021-7-12 17:36:30
本帖最后由 Seekladoom 于 2021-7-14 03:45 编辑
补充:
1.虽然暂时做不到修改tcaxPy.py再用TCAX直接在ass字幕文件的V4+ Style那里生成三个不同的样式,且一个tcc文件只能对应一个样式,但可以靠py脚本在不同段落生成不同的样式名称(包括对齐和颜色信息那些东西等等),最后在ass字幕文件的V4+ Style那里重复复制粘贴几个样式出来并改名就行了。
这样也可以把TCAX制作中日双语特效的工作效率提高不少了!
2.TCC文件中的alignment无论设置为多少,生成的ass字幕文件中的V4+ Styles的Alignment那栏永远都是5,但字幕的pos坐标还是会根据tcc文件中的的alignment发生变化,因此可以通过分别设置中文和日文的pos坐标来做到一个py脚本生成中日双语特效。
作者:
Seekladoom
时间:
2021-8-19 10:38:45
关于TCAX生成的ASS文件的全局Style的设置
http://www.tcax.org/forum.php?mod=viewthread&tid=54
欢迎光临 TCAX 字幕特效制作工具官方论坛 | ASS | TCAS | Python | Aegisub | Lua (http://tcax.org/)
Powered by Discuz! X2