TCAX 字幕特效制作工具官方论坛 | ASS | TCAS | Python | Aegisub | Lua
标题:
用TCAX制作分段特效时注意到的一些问题
[打印本页]
作者:
Seekladoom
时间:
2021-7-12 22:08:17
标题:
用TCAX制作分段特效时注意到的一些问题
本帖最后由 Seekladoom 于 2021-7-13 11:41 编辑
试着用py脚本给TCAX做分段特效,发现TCAX对python代码的缩进要求很严格,错一点点都会出现如下报错(如图1):
Indentation Error:Unident does not match any other Indentation level
Fatal Error:failed to initialize the 1(th) user tcax py script.
2021-7-12 22:21:23 上传
下载附件
(44.89 KB)
翻译过来就是:
缩进错误:Unindent 不匹配任何其他缩进级别
致命错误:无法初始化一级用户的tcax py脚本。
Aegisub的lua代码缩进要求就没这么严格。
一番折腾之后终于写出能让TCAX正常运行的分段特效代码(如图2)了,而且需要注意的是,分段特效如果不生成TCAS特效的话,这个时候需要把TCAS_BUF = []这个代码删掉,并且最后的return (ASS_BUF, TCAS_BUF) 的TCAS_BUF要换成None,也就是这样写:
return (ASS_BUF, None)
2021-7-12 22:21:35 上传
下载附件
(108.93 KB)
才能确保分段特效代码的正常运行。
分段代码如下:
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
if _i < 5:
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
if _i >= 5:
ass_main(ASS_BUF, SubL(_start+_j*3-20,_start+_elapk,0,'OPJP2'), 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,'OPJP2'), 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,'OPJP2'), pos(_x,_y)+color1('FFFFFF')+color3('3767E6')+blur(2)+fad(0,200), _txt) #退场特效 - syl2end
return (ASS_BUF, None)
复制代码
两段的字幕显示效果一模一样,不同的地方在
样式名称
上,前者是OPJP,后者是OPJP2,这里主要是想试着写出能生成
带有分段样式名称
的特效字幕的py脚本。
这样生成字幕之后,再以记事本方式打开ass字幕文件并在V4+ Style那里
重复复制粘贴几个TCMS样式
出来
并改名
就能确保生成的字幕文件正常显示特效了。
图片附件:
缩进错误.png
(2021-7-12 22:21:23, 44.89 KB) / 下载次数 2112
http://tcax.org/forum.php?mod=attachment&aid=MjcwM3xhMWFiZjE5ZHwxNzMyNDU4MDQzfDB8MA%3D%3D
图片附件:
缩进要求.png
(2021-7-12 22:21:35, 108.93 KB) / 下载次数 2141
http://tcax.org/forum.php?mod=attachment&aid=MjcwNHwxYjA5MTM5YXwxNzMyNDU4MDQzfDB8MA%3D%3D
作者:
Seekladoom
时间:
2021-8-19 10:37:18
关于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