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

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

[完整特效] [jiji]001_DEVIL SURVIVOR 2 _OP [复制链接]

Rank: 5Rank: 5

跳转到指定楼层
楼主
发表于 2013-11-15 06:22:48 |只看该作者 |正序浏览
本帖最后由 jijidata 于 2013-11-22 00:45 编辑
  1. from tcaxPy import *
  2. from s import *
  3. def tcaxPy_Main(_i, _j, _n, _BT, _ET, _SK, _KT, _X, _Y, _A, _TXT):

  4.     ASS_BUF = []                # 用于保存ASS特效

  5.             ########文字效果########
  6.     ass_main(ASS_BUF,SubL(_BT-20+_j*3,_BT+_SK,1),an(5)+pos(_X,_Y)+fs(1)+t(0,250,fs(38)) ,_TXT)#入场效果
  7.     ass_main(ASS_BUF,SubL(_BT+_SK,_BT+_SK+_KT,1),an(5)+pos(_X,_Y)+t(_KT,+_KT*2,rnd(20))+t(_KT*2,_KT*4,rnd(0))+t(_KT*4,_KT*6,rnd(10))+t(_KT*6,_KT*8,rnd(20))+t(_KT*8,_KT*10,rnd(1)) ,_TXT)#表现方式
  8.     ass_main(ASS_BUF,SubL(_BT+_SK+_KT,_ET-(_n-_j)*1,1),an(5)+pos(_X,_Y) ,_TXT)#表现方式至退场效果之间的衔接
  9.     ass_main(ASS_BUF,SubL(_ET-(_n-_j)*1,_ET-(_n-_j)*1+20,1),an(5)+pos(_X,_Y)+t(fsc(200, 200)+alpha(255)+bord(0)+blur(20)) ,_TXT)#退场效果
  10.             ########附加效果########
  11.     ass_main(ASS_BUF, SubL(_BT+randint(-30,50),_ET+randint(100,150),2),an(5)+fad(300,500)+blur(6)+fsc(randint(5,50),randint(5,50))+moves4(_X+randint(-50,50),_Y+randint(-50,50),_X+randint(-60,60),_Y+randint(-60,60),_X+randint(-60,60),_Y+randint(-60,60),_X+randint(-50,50),_Y+randint(-60,60)),"{\\p1}m 21 16 b 17 16 17 23 21 23 b 25 23 26 16 21 16 m 24 19 l 43 20 l 24 20 m 18 19 l 0 20 l 18 20 m 20 16 l 21 0 l 22 16 m 20 23 l 21 40 l 22 23 ")

  12.     for j in range(0,5):
  13.         ass_main(ASS_BUF,SubL(_ET,_ET+randint(400,800)),an(5)+fad(0,randint(100,700))+blur(6)+fsc(randint(5,50),randint(5,50))+moves4(_X,_Y,_X+randint(-70,100),_Y+randint(-80,-50),_X+randint(-80,50),_Y+randint(-40,80),_X+randint(-70,50),_Y+randint(-60,60)),"{\p1}m 21 16 b 17 16 17 23 21 23 b 25 23 26 16 21 16 m 24 19 l 43 20 l 24 20 m 18 19 l 0 20 l 18 20 m 20 16 l 21 0 l 22 16 m 20 23 l 21 40 l 22 23")


  14.     return (ASS_BUF, None)
复制代码
以前写的Aegisub的template改的,话说template写习惯了改用tcax有些别扭,感觉还是tcax强大~(虽然tcax不是很熟练
预览参见,时间的衔接与原版有些差异,用到了mod的tag,无法执行请看这里


原来的template模板:
http://www.tcax.org/forum.php?mod=viewthread&tid=806&extra=page%3D1

预览




tcc
  1. # tcc file version

  2. < tcc file version = 1.000 >

  3. # mode configuration

  4. < inherit ass header = false >
  5. < k mode = syllable >
  6. < text layout = horizontal >
  7. < tcaxpy init = false >
  8. < tcaxpy user = false >
  9. < tcaxpy fin = false >

  10. # py settings
  11. < py file = jiji-001.py >    < beg line = 1 >    < end line = 0 >





  12. < k-timed ass file = DS2opj _k.ass >
  13. < font file = DFKoin-W4.ttc >    < font face id = 2 >    < font size = 38 >
  14. < fx width = 1280 >    < fx height = 720 >    < fx fps = 23.976 >
  15. < alignment = 2 >
  16. < x offset = 10 >    < y offset = 15 >
  17. < spacing = 0 >    < space scale = 1.000 >



  18. # style settings

  19. < font face name = "" >
  20. < bord = 1 >    < shad = 0 >
  21. < primary color = FFFFFF >    < secondary color = 000000 >    < outline color = A31121 >    < back color = 000000 >
  22. < primary alpha = 0 >    < secondary alpha = 240 >    < outline alpha = 0 >    < back alpha = 240 >

  23. # additional settings

  24. < blur = 0.000 >
复制代码
2

查看全部评分

Rank: 4

9#
发表于 2021-8-19 11:50:59 |只看该作者
本帖最后由 Seekladoom 于 2021-8-19 20:25 编辑

补充:使用TCAX或TCAX Studio时,如果短时间(15秒内对py、tcc文件进行3次以上修改并用TCAX或TCAX Studio进行自动化操作)内频繁修改py和tcc文件且所有修改的语法都正确的情况下,用TCAX或TCAX Studio自动化生成特效字幕时,依然很容易碰到这样的报错(实际上我自己的代码没有任何语法问题,等待15秒就能继续用就是最好的证明):

操作过快引发的报错.png

这种时候只要把TCAX或TCAX Studio关掉重开或者等待15秒左右就能继续跑了,如果脾气暴躁的朋友碰到这个问题,个人推荐直接关掉重开来得更快些,需要高强度测试TCAX的人强烈建议关掉重开,实在不行可以重启电脑

个人猜测可能是TCAX底层代码中的垃圾回收处理机制不够完善且TCAX释放缓存的速度不够快,缓存释放完之前使用者又继续操作了,TCAX来不及处理而产生了上面这样的报错。

如果想看到完整报错,请使用TCAX的命令行操作:
TCAX 完整报错.png


Rank: 4

8#
发表于 2021-8-18 10:06:24 |只看该作者
本帖最后由 Seekladoom 于 2021-8-19 14:15 编辑

关于tcaxPy_Init的使用
如果写代码时想尽可能缩短代码行且平时不怎么用init模块,可以先在TCC文件中的init那栏写false,这样py脚本中在不需要tcaxPy_Init时就不用写了。

如果TCC文件中的init那栏写的是true,而py脚本又用不到init时,也必须要写这么两行才能跑:
  1. def tcaxPy_Init:
  2.     pass
复制代码
否则TCAX报错时反馈得到的tcaxPy_Main有问题这点很容易误导你去对tcaxPy_Main做出修改。

Rank: 4

7#
发表于 2021-8-17 23:20:05 |只看该作者
本帖最后由 Seekladoom 于 2021-8-19 18:01 编辑

看了半天才发现没有def tcaxPy_Init,看来必须要统一代码习惯啊。。。_(:з」∠)_

补上能在TCAX Studio中直接跑的代码:
  1. from tcaxPy import * #请用这个帖子(http://www.tcax.org/forum.php?mod=viewthread&tid=1939)中的tcaxPy.py文件

  2. def tcaxPy_Init():   
  3.     pass

  4. def tcaxPy_Main(_i, _j, _n, _BT, _ET, _SK, _KT, _X, _Y, _A, _TXT):
  5.     ASS_BUF = []                # 用于保存ASS特效

  6.     ASSDraw = 'm 21 16 b 17 16 17 23 21 23 b 25 23 26 16 21 16 m 24 19 l 43 20 l 24 20 m 18 19 l 0 20 l 18 20 m 20 16 l 21 0 l 22 16 m 20 23 l 21 40 l 22 23'
  7.     dy = _Y - 13
  8.     #文字效果
  9.     ass_main(ASS_BUF,SubL(_BT-20+_j*3,_BT+_SK,1),an(5)+pos(_X,dy)+fs(1)+t(0,250,fs(38)),_TXT)#入场效果
  10.     ass_main(ASS_BUF,SubL(_BT+_SK,_BT+_SK+_KT,1),an(5)+pos(_X,dy)+t(_KT,+_KT*2,rnd(20))+t(_KT*2,_KT*4,rnd(0))+t(_KT*4,_KT*6,rnd(10))+t(_KT*6,_KT*8,rnd(20))+t(_KT*8,_KT*10,rnd(1)),_TXT)#表现方式
  11.     ass_main(ASS_BUF,SubL(_BT+_SK+_KT,_ET-(_n-_j)*1,1),an(5)+pos(_X,dy) ,_TXT)#表现方式至退场效果之间的衔接
  12.     ass_main(ASS_BUF,SubL(_ET-(_n-_j)*1,_ET-(_n-_j)*1+20,1),an(5)+pos(_X,dy)+t(fsc(200, 200)+alpha(255)+bord(0)+blur(20)),_TXT)#退场效果

  13.     #附加效果
  14.     ass_main(ASS_BUF, SubL(_BT+randint(-30,50),_ET+randint(100,150),2),an(5)+fad(300,500)+blur(6)+fsc(randint(5,50),randint(5,50))+moves4(_X+randint(-50,50),dy+randint(-50,50),_X+randint(-60,60),dy+randint(-60,60),_X+randint(-60,60),dy+randint(-60,60),_X+randint(-50,50),dy+randint(-60,60))+p(1),ASSDraw)

  15.     for j in range(0,5):
  16.         ass_main(ASS_BUF,SubL(_ET,_ET+randint(400,800)),an(5)+fad(0,randint(100,700))+blur(6)+fsc(randint(5,50),randint(5,50))+moves4(_X,dy,_X+randint(-70,100),dy+randint(-80,-50),_X+randint(-80,50),dy+randint(-40,80),_X+randint(-70,50),dy+randint(-60,60))+p(1),ASSDraw)

  17.     return (ASS_BUF, None)
复制代码

补充两点说明:
1.楼主的脚本代码中的绘图代码需要做如下修改
修改前:绘图代码使用的是半角的双引号(" ")确保TCAX能识别,这里可能是TCAX早期版本的字符串逻辑。
  1. "{\\p1}m 21 16 b 17 16 17 23 21 23 b 25 23 26 16 21 16 m 24 19 l 43 20 l 24 20 m 18 19 l 0 20 l 18 20 m 20 16 l 21 0 l 22 16 m 20 23 l 21 40 l 22 23 "
复制代码
修改后:为了能在TCAX Studio以及没有GUI的1.2.0版本的TCAX上跑,需要将双引号修改成半角的单引号(' ')。
  1. 'm 21 16 b 17 16 17 23 21 23 b 25 23 26 16 21 16 m 24 19 l 43 20 l 24 20 m 18 19 l 0 20 l 18 20 m 20 16 l 21 0 l 22 16 m 20 23 l 21 40 l 22 23'
复制代码

2.示例代码中缺少def tcaxPy_Init():个人猜测早期版本的TCAX可能不需要def tcaxPy_Init():也能跑(加粗的这段有误,请看补充说明,但现在为了能在TCAX Studio以及1.2.0版本的TCAX上使用,必须在脚本中写上如下代码才能正常运行:
  1. def tcaxPy_Init():   
  2.     pass
复制代码
补充说明:我自己的第2点内容说明有误,楼主给的tcc文件中的< tcaxpy init >一栏填的是< tcaxpy init = false >,因此py特效脚本中不需要写def tcaxPy_Init()。而我自己所用的tcc文件中的< tcaxpy init  >一栏为< tcaxpy init = true >,因此必须写上如上代码才能正常运行。

另外py脚本在TCAX Studio上使用时,应该使用UTF-8 BOM编码(其实这是微软的锅,TCAX Studio是用C#写的,而C#这门编程语言又是微软开发的,微软在软件开发的编码习惯上喜欢给UTF8添加BOM)。如果直接使用UTF-8编码的话,编译以后会把代码中的中文注释全部变成乱码。。。_(:з」∠)_

补上给TCAX Studio使用的模板文件,分了有无def tcaxPy_Init两种情况:
TCAX Karaoke Effect 004 - light spot(有无def tcaxPy_Init).rar (0 Bytes, 下载次数: 3123)
具体关系如下图所示:
def tcaxPy_Init与tcc文件之间的关系.png

各位朋友可以自行对比py文件和tcc文件中的细节差异并用TCAX Studio去运行测试看看。


Rank: 4

6#
发表于 2014-4-23 19:25:57 |只看该作者
目前正在努力学习中,还是得多看看教程啊

Rank: 4

5#
发表于 2014-3-28 20:13:31 |只看该作者
jijidata 发表于 2014-3-27 22:47
http://www.tcax.org/forum.php?mod=viewthread&tid=162&extra=page%3D1
看5楼说明

哦哦,3Q~~

Rank: 5Rank: 5

地板
发表于 2014-3-27 22:47:08 |只看该作者
本帖最后由 jijidata 于 2014-3-27 22:47 编辑
圆圆一位 发表于 2014-3-27 22:23
大神,那个。。。from s import *里面的s是下载的时候就自带有的像tcaxPy.py一样的东西么?为什么我找不到 ...


http://www.tcax.org/forum.php?mo ... &extra=page%3D1
看5楼说明

Rank: 4

板凳
发表于 2014-3-27 22:23:26 |只看该作者
大神,那个。。。from s import *里面的s是下载的时候就自带有的像tcaxPy.py一样的东西么?为什么我找不到?没有它貌似都在报错

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

沙发
发表于 2013-11-19 12:48:51 |只看该作者
季季给力啊, 终于开始发片了

Rank: 4

楼主
发表于 2013-11-15 23:00:35 |只看该作者
jijidata 发表于 2013-11-15 22:37
请使用vsfiltermod插件挂载字幕

嗯~,謝謝,問題大致解決了,再次感謝代碼分享

Rank: 5Rank: 5

#
发表于 2013-11-15 22:37:55 |只看该作者
草薙海 发表于 2013-11-15 21:45
感謝您分享這個代碼,可是我採用您的代碼出來的星星光條為什麼是豎著的

请使用vsfiltermod插件挂载字幕

Rank: 4

-1#
发表于 2013-11-15 21:45:32 |只看该作者
感謝您分享這個代碼,可是我採用您的代碼出來的星星光條為什麼是豎著的
您需要登录后才可以回帖 登录 | 新人加入

GitHub|TCAX 主页

GMT+8, 2024-11-26 00:16

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部
RealH