TCAX 字幕特效制作工具官方论坛 | ASS | TCAS | Python | Aegisub | Lua
标题:
TCAX的几种ASS特效标签写法
[打印本页]
作者:
Seekladoom
时间:
2021-8-21 08:02:18
标题:
TCAX的几种ASS特效标签写法
本帖最后由 Seekladoom 于 2021-8-26 03:35 编辑
注:这5种写法都能生成准确无误的ASS特效字幕。
TCAX的几种ASS特效标签写法.rar
(0 Bytes, 下载次数: 2933)
2021-8-23 16:06:24 上传
下载次数: 2933
第1种:an(5)+pos(_X,_Y)+blur(3)+fad(200,200)
ass_main(ASS_BUF,SubL(_BT,_ET,1),an(5)+pos(_X,_Y)+blur(3)+fad(200,200),_TXT)
复制代码
第2种(混搭写法):
'\\an5\\blur3\\fad(200,200)'+pos(_X,_Y)
ass_main(ASS_BUF,SubL(_BT,_ET,1),'\\an5\\blur3\\fad(200,200)'+pos(_X,_Y),_TXT)
复制代码
第3种
(混搭写法)
:r'\an5\blur3\fad(200,200)'+pos(_X,_Y)
ass_main(ASS_BUF,SubL(_BT,_ET,1),r'\an5\blur3\fad(200,200)'+pos(_X,_Y),_TXT)
复制代码
第4种
:'\\an5\\blur3\\fad(200,200)\\pos({0},{1})'.format(_X,_Y),_TXT)
ass_main(ASS_BUF,SubL(_BT,_ET,1),'\\an5\\blur3\\fad(200,200)\\pos({0},{1})'.format(_X,_Y),_TXT)
复制代码
第5种
:r'\an5\blur3\fad(200,200)\pos({0},{1})'.format(_X,_Y),_TXT)
ass_main(ASS_BUF,SubL(_BT,_ET,1),r'\an5\blur3\fad(200,200)\pos({0},{1})'.format(_X,_Y),_TXT)
复制代码
第6种(此法需要修改TCAX源码才能实现,留作后续开发用):\an5
\
pos(_X,_Y)
\
blur3
\
fad(200,200)
ass_main(ASS_BUF,SubL(_BT,_ET,1),\an5\pos(_X,_Y)\blur3\fad(200,200),_TXT)
复制代码
另外,第2种写法中
\\an5\\blur3\\fad(200,200)
两边的符号',是将这段ASS特效标签代码变成TCAX可以识别的字符串用的,因此不能省略。也不能换成{},否则会无法生成特效字幕。第3种
写法
的
r'\an5\blur3\fad(200,200)'
跟第2种一样,也是方便TCAX识别字符串用的。
第2-3种写法之所以会出现在TCAX的各种python特效脚本中,是因为TCAX的自动化特效模块——tcaxPy.py脚本有很长一段时间都没有补上常规ASS特效标签b(即粗体标签)和各种mod标签所需的
字符串代码
造成的,在没人完善
tcaxPy.py脚本的情况下,很多人就只能用
'\\an5'、
r'\an5\'这样的方法去掩盖
tcaxPy.py脚本存在的缺陷。
第4-5种写法是在第2-3种写法的基础之上,在完全不使用tcaxPy.py脚本中的字符串逻辑的情况下,尽可能只用 \ 、单引号和 r 的ASS特效标签编写方式,亲测可以正常跑并计算出相应的结果,但在代码长度上还是比第1种要长一些,有变量的
ASS
特效标签越多,同一行内的代码越长。。。_(:з」∠)_
这些
因在tcaxPy.py脚本中未定义相应的字符串逻辑而被迫用
第2-3种写法的ASS特效标签如果碰到需要填写变量(比如Python的randint函数,TCAX的_X、_Y等)时,写在'\\ '或r'\ '内的变量(比如'\\pos(_X,_Y)'和r'\pos(_X,_Y)')在TCAX自动化编译生成ASS特效字幕时,就会出现
无法计算这些变量
的情况。考虑到
长期代码维护
的便利性,请使用上述提到的
第1种写法
。
目前tcaxPy.py脚本已经开始逐渐补上此前缺失的字符串逻辑了,请看如下帖子2楼:
【tcaxPy脚本】tcaxPy Version 0.8.0.2
tcaxPy.py脚本的
最新版
会在这里持续更新:
【tcaxPy脚本】tcaxPy Version 0.8.0.3(更新中)
附件:
TCAX的几种ASS特效标签写法.rar
(2021-8-23 16:06:24, 0 Bytes) / 下载次数 2933
http://tcax.org/forum.php?mod=attachment&aid=Mjc3M3xiYmIyYWIyZnwxNzMyMjA0OTY1fDB8MA%3D%3D
作者:
Seekladoom
时间:
2021-8-21 17:46:44
本帖最后由 Seekladoom 于 2022-3-17 02:58 编辑
相关链接:
Python 基础篇-正斜杠("/")和反斜杠("\")的用法
python-字符串中含有变量的表示方法
作者:
Seekladoom
时间:
2022-4-4 03:20:48
本帖最后由 Seekladoom 于 2022-4-4 03:30 编辑
补充:
Python的格式化输出函数format()在
字符串
中
有花括号{}
的情况下,不适用于本帖上述中提到的TCAX的几种写法规则。
PyonFX由于没有TCAX的ass_main函数那样的字符串处理规则,所以在PyonFX中要写成下面这样:
"{\\an5\\pos(%.f,%.f)\\blur3\\fad(200,200)}%s" % (syl.center, syl.middle, syl.text)
复制代码
相关链接:
Python中使用 %s 和 format 传递参数的区别
欢迎光临 TCAX 字幕特效制作工具官方论坛 | ASS | TCAS | Python | Aegisub | Lua (http://tcax.org/)
Powered by Discuz! X2