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

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

[已解决] tcc文件引用非内置特效出错.. [复制链接]

Rank: 4

跳转到指定楼层
楼主
发表于 2013-10-27 13:43:45 |只看该作者 |倒序浏览
本帖最后由 ccx 于 2013-11-1 22:41 编辑

楼下!!!! 上图!!!

Rank: 4

沙发
发表于 2013-10-27 13:45:29 |只看该作者
wubuxiangsuoshenmlecccccccc.jpg

Rank: 4

板凳
发表于 2013-10-27 13:49:01 |只看该作者
# tcc file version

< tcc file version = 1.000 >


# mode configuration

< inherit ass header = false >
< k mode = syllable >
< text layout = horizontal >
< tcaxpy init = true >
< tcaxpy user = false >
< tcaxpy fin = false >


# py settings

< py file = western.py >    < beg line = 1 >    < end line = 6 >


# main settings

< k-timed ass file = testop.ass >
< font file = SIMFANG.TTF >    < font face id = 1 >    < font size = 36 >
< fx width = 1280 >    < fx height = 720 >    < fx fps = 23.976 >
< alignment = 7 >
< x offset = 30 >    < y offset = 15 >
< spacing = 0 >    < space scale = 1.000 >


# style settings

< font face name = "" >
< bord = 1 >    < shad = 0 >
< primary color = FFFFFF >    < secondary color = 000000 >    < outline color = 000000 >    < back color = 000000 >
< primary alpha = 0 >    < secondary alpha = 255 >    < outline alpha = 0 >    < back alpha = 255 >


# additional settings

< blur = 0.000 >





Rank: 4

地板
发表于 2013-10-27 13:49:30 |只看该作者
不多解释 大神你懂得

Rank: 4

5#
发表于 2013-10-27 13:50:55 |只看该作者
from tcaxPy import *
    from gdiFont import *

    def tcaxPy_Init():

        global _FontFileName
        global _FaceID
        global _Fs
        global _TextWidth
        global _TextHeight
        global _TextLength
        global _TextAdvDiff
        global _ResolutionX
        global _FD
        global GdiFont   #GDIfont


        _FontFileName = GetVal(val_FontFileName)
        _FaceID       = GetVal(val_FaceID)
        _Fs           = GetVal(val_FontSize)
        _TextHeight   = GetVal(val_TextHeight)
        _TextWidth    = GetVal(val_TextWidth)
        _TextLength   = GetVal(val_TextLength)
        _TextAdvDiff  = GetVal(val_TextAdvanceDiff)
        _ResolutionX  = GetVal(val_ResolutionX)
        _FD           = 1000 / GetVal(val_FXFPS)
        GdiFont = gfInitFont(GetVal(val_FontFaceName), _Fs, GetVal(val_Spacing), GetVal(val_SpaceScale), 0, False)    #GDIfont

    def tcaxPy_Fin():
        gfFinFont(GdiFont)    #GDIfont



    def tcaxPy_Main(_i, _j, _n, _BT, _ET, _SK, _KT, _x, _y, _a, _txt):
        ASS_BUF = []

      


    #    ts = _BT + _SK                                  # start time, in semi-second
    #    te = _BT + _SK + _KT                              # end time, in semi-second
    #    SUIJ0 = randint(-20,20)
    #    CIR = Circle(12, _x+SUIJ0, _y+SUIJ0, 20)
    #    for h in range(12):
    #        SUIJ1 = randint(0,20)
    #        SUIJ2 = randint(-60,60)
    #        R1 = RandCir2(_x+SUIJ0, _y+SUIJ0, 18, 18)
    #        MOV = mov(_x+SUIJ0,_y+SUIJ0,R1[0],R1[1])
    #        MOV = mov(_x+SUIJ0,_y+SUIJ0,CIR[h][0], CIR[h][1])
    #        EFT = MOV+fad(50,0)+bord(0)
    #        ass_main(ASS_BUF,SubL(ts,ts+50+SUIJ1,1), EFT, PixPt())
            
    #        CIR2 = Circle(12, CIR[h][0], CIR[h][1], 20)
    #        for b in range(12):
    #            R2 = RandCir2(R1[0],R1[1], 22, 22)
    #            MOV = mov(R1[0],R1[1],R2[0],R2[1])
    #            MOV = mov(CIR[h][0], CIR[h][1],CIR2[b][0], CIR2[b][1])
    #            EFT = MOV+fad(0,200)+bord(0)
    #            ass_main(ASS_BUF,SubL(ts+50+SUIJ1,ts+200+SUIJ2,1), EFT, PixPt())



        if _i ==0 or  _i ==1 or _i>2 and _i<7 or _i ==8 or _i ==10 or _i ==12 or _i ==14:
            for a in range(16):
                R = randint(0,15)
                dx = _x - int(_a  / 2 + 0.5)
                dy = _y - int(_Fs / 2 + 0.5)
               
                mask1 = gfGetOutline(GdiFont, _txt, dx+1, dy+1)    #GDIfont
               
                ass_main(ASS_BUF, SubL(_BT+_SK+30-a*3,_ET+120-a*6,1),an(7) + pos(_x, _y)+color1("857A81")+fad(200,300)+bord(0)+blur(3)+ alpha1(0)+frz(a*22.5)+clip2(4, mask1)+p(1), "m -1 0 l 1 -23 l 10 -21 l 1 0 ")
               
                mask2 = gfGetOutline(GdiFont, _txt, dx, dy)    #GDIfont
               
                ass_main(ASS_BUF, SubL(_BT+_SK+30-a*3,_ET+120-a*6,3),an(7) + pos(_x, _y)+color1("FFFFFF")+fad(200,300)+bord(0)+blur(3)+ alpha1(0)+frz(a*22.5)+clip2(4, mask2)+p(1), "m -1 0 l 1 -23 l 10 -21 l 1 0 ")
            
        if _i ==6 or _i ==8 or _i ==10 or _i ==12 or _i ==14:
            ts1 = _BT+_SK
            SUIJ0 = randint(-20,20)
            CIR = Circle(12, _x+SUIJ0, _y+SUIJ0, 20)
            for h in range(12):
                SUIJ1 = randint(0,20)
                MOV = mov(_x+SUIJ0,_y+SUIJ0,CIR[h][0], CIR[h][1])
                EFT = MOV+fad(50,0)+bord(0)
                ass_main(ASS_BUF,SubL(ts1,ts1+50+SUIJ1,1), EFT, PixPt())
               
                CIR2 = Circle(12, CIR[h][0], CIR[h][1], 20)
                for b in range(12):
                    SUIJ2 = randint(-60,60)
                    MOV = mov(CIR[h][0], CIR[h][1],CIR2[b][0], CIR2[b][1])
                    EFT = MOV+fad(0,200)+bord(0)
                    ass_main(ASS_BUF,SubL(ts1+50+SUIJ1,ts1+200+SUIJ2,1), EFT, PixPt())
            
            
            
        if _i ==2 or _i ==7 or _i ==9 or _i ==11 or _i ==13:
            for a in range(16):
                R = randint(0,15)
                dx = _x - int(_a  / 2 + 0.5)
                dy = _y - int(_Fs / 2 + 0.5)
               
                mask1 = gfGetOutline(GdiFont, _txt, dx-_ResolutionX+_TextLength[_i]+25+1, dy+1)    #GDIfont _ResolutionX
               
                ass_main(ASS_BUF, SubL(_BT+_SK+30-a*3,_ET+120-a*6,1),an(7) + pos(_x-_ResolutionX+_TextLength[_i]+25, _y)+color1("857A81")+fad(200,300)+bord(0)+blur(3)+ alpha1(0)+frz(a*22.5)+clip2(4, mask1)+p(1), "m -1 0 l 1 -23 l 10 -21 l 1 0 ")
               
                mask2 = gfGetOutline(GdiFont, _txt, dx-_ResolutionX+_TextLength[_i]+25, dy)    #GDIfont
               
                ass_main(ASS_BUF, SubL(_BT+_SK+30-a*3,_ET+120-a*6,3),an(7) + pos(_x-_ResolutionX+_TextLength[_i]+25, _y)+color1("FFFFFF")+fad(200,300)+bord(0)+blur(3)+ alpha1(0)+frz(a*22.5)+clip2(4, mask2)+p(1), "m -1 0 l 1 -23 l 10 -21 l 1 0 ")
      
      
        if _i ==7 or _i ==9 or _i ==11 or _i ==13:
            ts2 = _BT+_SK
            SUIJ0 = randint(-20,20)
            CIR = Circle(12, _x-_ResolutionX+_TextLength[_i]+25+SUIJ0, _y+SUIJ0, 20)
            for h in range(12):
                SUIJ1 = randint(0,20)
                MOV = mov(_x-_ResolutionX+_TextLength[_i]+25+SUIJ0,_y+SUIJ0,CIR[h][0], CIR[h][1])
                EFT = MOV+fad(50,0)+bord(0)
                ass_main(ASS_BUF,SubL(ts2,ts2+50+SUIJ1,1), EFT, PixPt())
               
                CIR2 = Circle(12, CIR[h][0], CIR[h][1], 20)
                for b in range(12):
                    SUIJ2 = randint(-60,60)
                    MOV = mov(CIR[h][0], CIR[h][1],CIR2[b][0], CIR2[b][1])
                    EFT = MOV+fad(0,200)+bord(0)
                    ass_main(ASS_BUF,SubL(ts2+50+SUIJ1,ts2+200+SUIJ2,1), EFT, PixPt())
      
      
        return (ASS_BUF, None)

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

6#
发表于 2013-10-27 16:38:10 |只看该作者
请修改标题.

Rank: 4

7#
发表于 2013-10-27 17:19:06 |只看该作者
milkyjing 发表于 2013-10-27 16:38
请修改标题.

好的
1

查看全部评分

Rank: 4

8#
发表于 2013-10-27 17:23:37 |只看该作者
ccx 发表于 2013-10-27 13:50
from tcaxPy import *
    from gdiFont import *

ps:是对其了的 可能发的时候出错了

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

9#
发表于 2013-10-28 23:10:43 |只看该作者
ccx 发表于 2013-10-27 17:23
ps:是对其了的 可能发的时候出错了

你把.py, .tcc文件以附件形式发上来吧

Rank: 4

10#
发表于 2013-10-29 20:23:45 |只看该作者
tcc文件 格式不支持无法上传.....

western.py

5.75 KB, 下载次数: 3087

Rank: 4

11#
发表于 2013-10-29 20:24:12 |只看该作者
milkyjing 发表于 2013-10-28 23:10
你把.py, .tcc文件以附件形式发上来吧

Rank: 4

12#
发表于 2013-10-29 20:27:59 |只看该作者
tcc文件我只能改成py上传了

tcc.py

985 Bytes, 下载次数: 3094

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

13#
发表于 2013-11-1 20:23:53 |只看该作者
ccx 发表于 2013-10-29 20:23
tcc文件 格式不支持无法上传.....

整体向左缩进4个空格试试 (如果你用Notepad+, 或者Notepad2的话, 可以全选, 然后按 shift+tab)

Rank: 4

14#
发表于 2013-11-1 21:51:22 |只看该作者
milkyjing 发表于 2013-11-1 20:23
整体向左缩进4个空格试试 (如果你用Notepad+, 或者Notepad2的话, 可以全选, 然后按 shift+tab) ...

你用这个方法好使吗? 我用notepad .....

Rank: 4

15#
发表于 2013-11-1 22:07:58 |只看该作者
ccx 发表于 2013-11-1 21:51
你用这个方法好使吗? 我用notepad .....

不过这次好像 是因为第二行

Rank: 4

16#
发表于 2013-11-1 22:17:40 |只看该作者
modu;e.jpg

Rank: 4

17#
发表于 2013-11-1 22:18:43 |只看该作者
  1. from tcaxPy import *
  2. from gdiFont import *

  3. def tcaxPy_Init():

  4.         global _FontFileName
  5.         global _FaceID
  6.         global _Fs
  7.         global _TextWidth
  8.         global _TextHeight
  9.         global _TextLength
  10.         global _TextAdvDiff
  11.         global _ResolutionX
  12.         global _FD
  13.         global GdiFont   #GDIfont


  14.         _FontFileName = GetVal(val_FontFileName)
  15.         _FaceID       = GetVal(val_FaceID)
  16.         _Fs           = GetVal(val_FontSize)
  17.         _TextHeight   = GetVal(val_TextHeight)
  18.         _TextWidth    = GetVal(val_TextWidth)
  19.         _TextLength   = GetVal(val_TextLength)
  20.         _TextAdvDiff  = GetVal(val_TextAdvanceDiff)
  21.         _ResolutionX  = GetVal(val_ResolutionX)
  22.         _FD           = 1000 / GetVal(val_FXFPS)
  23.         GdiFont = gfInitFont(GetVal(val_FontFaceName), _Fs, GetVal(val_Spacing), GetVal(val_SpaceScale), 0, False)    #GDIfont

  24. def tcaxPy_Fin():
  25.         gfFinFont(GdiFont)    #GDIfont



  26. def tcaxPy_Main(_i, _j, _n, _BT, _ET, _SK, _KT, _x, _y, _a, _txt):
  27.         ASS_BUF = []

  28.    


  29. #    ts = _BT + _SK                                  # start time, in semi-second
  30. #    te = _BT + _SK + _KT                              # end time, in semi-second
  31. #    SUIJ0 = randint(-20,20)
  32. #    CIR = Circle(12, _x+SUIJ0, _y+SUIJ0, 20)
  33. #    for h in range(12):
  34. #        SUIJ1 = randint(0,20)
  35. #        SUIJ2 = randint(-60,60)
  36. #        R1 = RandCir2(_x+SUIJ0, _y+SUIJ0, 18, 18)
  37. #        MOV = mov(_x+SUIJ0,_y+SUIJ0,R1[0],R1[1])
  38. #        MOV = mov(_x+SUIJ0,_y+SUIJ0,CIR[h][0], CIR[h][1])
  39. #        EFT = MOV+fad(50,0)+bord(0)
  40. #        ass_main(ASS_BUF,SubL(ts,ts+50+SUIJ1,1), EFT, PixPt())
  41.                
  42. #        CIR2 = Circle(12, CIR[h][0], CIR[h][1], 20)
  43. #        for b in range(12):
  44. #            R2 = RandCir2(R1[0],R1[1], 22, 22)
  45. #            MOV = mov(R1[0],R1[1],R2[0],R2[1])
  46. #            MOV = mov(CIR[h][0], CIR[h][1],CIR2[b][0], CIR2[b][1])
  47. #            EFT = MOV+fad(0,200)+bord(0)
  48. #            ass_main(ASS_BUF,SubL(ts+50+SUIJ1,ts+200+SUIJ2,1), EFT, PixPt())



  49.         if _i ==0 or  _i ==1 or _i>2 and _i<7 or _i ==8 or _i ==10 or _i ==12 or _i ==14:
  50.                 for a in range(16):
  51.                         R = randint(0,15)
  52.                         dx = _x - int(_a  / 2 + 0.5)
  53.                         dy = _y - int(_Fs / 2 + 0.5)
  54.                        
  55.                         mask1 = gfGetOutline(GdiFont, _txt, dx+1, dy+1)    #GDIfont
  56.                        
  57.                         ass_main(ASS_BUF, SubL(_BT+_SK+30-a*3,_ET+120-a*6,1),an(7) + pos(_x, _y)+color1("857A81")+fad(200,300)+bord(0)+blur(3)+ alpha1(0)+frz(a*22.5)+clip2(4, mask1)+p(1), "m -1 0 l 1 -23 l 10 -21 l 1 0 ")
  58.                        
  59.                         mask2 = gfGetOutline(GdiFont, _txt, dx, dy)    #GDIfont
  60.                        
  61.                         ass_main(ASS_BUF, SubL(_BT+_SK+30-a*3,_ET+120-a*6,3),an(7) + pos(_x, _y)+color1("FFFFFF")+fad(200,300)+bord(0)+blur(3)+ alpha1(0)+frz(a*22.5)+clip2(4, mask2)+p(1), "m -1 0 l 1 -23 l 10 -21 l 1 0 ")
  62.                
  63.         if _i ==6 or _i ==8 or _i ==10 or _i ==12 or _i ==14:
  64.                 ts1 = _BT+_SK
  65.                 SUIJ0 = randint(-20,20)
  66.                 CIR = Circle(12, _x+SUIJ0, _y+SUIJ0, 20)
  67.                 for h in range(12):
  68.                         SUIJ1 = randint(0,20)
  69.                         MOV = mov(_x+SUIJ0,_y+SUIJ0,CIR[h][0], CIR[h][1])
  70.                         EFT = MOV+fad(50,0)+bord(0)
  71.                         ass_main(ASS_BUF,SubL(ts1,ts1+50+SUIJ1,1), EFT, PixPt())
  72.                        
  73.                         CIR2 = Circle(12, CIR[h][0], CIR[h][1], 20)
  74.                         for b in range(12):
  75.                                 SUIJ2 = randint(-60,60)
  76.                                 MOV = mov(CIR[h][0], CIR[h][1],CIR2[b][0], CIR2[b][1])
  77.                                 EFT = MOV+fad(0,200)+bord(0)
  78.                                 ass_main(ASS_BUF,SubL(ts1+50+SUIJ1,ts1+200+SUIJ2,1), EFT, PixPt())
  79.                
  80.                
  81.                
  82.         if _i ==2 or _i ==7 or _i ==9 or _i ==11 or _i ==13:
  83.                 for a in range(16):
  84.                         R = randint(0,15)
  85.                         dx = _x - int(_a  / 2 + 0.5)
  86.                         dy = _y - int(_Fs / 2 + 0.5)
  87.                        
  88.                         mask1 = gfGetOutline(GdiFont, _txt, dx-_ResolutionX+_TextLength[_i]+25+1, dy+1)    #GDIfont _ResolutionX
  89.                        
  90.                         ass_main(ASS_BUF, SubL(_BT+_SK+30-a*3,_ET+120-a*6,1),an(7) + pos(_x-_ResolutionX+_TextLength[_i]+25, _y)+color1("857A81")+fad(200,300)+bord(0)+blur(3)+ alpha1(0)+frz(a*22.5)+clip2(4, mask1)+p(1), "m -1 0 l 1 -23 l 10 -21 l 1 0 ")
  91.                        
  92.                         mask2 = gfGetOutline(GdiFont, _txt, dx-_ResolutionX+_TextLength[_i]+25, dy)    #GDIfont
  93.                        
  94.                         ass_main(ASS_BUF, SubL(_BT+_SK+30-a*3,_ET+120-a*6,3),an(7) + pos(_x-_ResolutionX+_TextLength[_i]+25, _y)+color1("FFFFFF")+fad(200,300)+bord(0)+blur(3)+ alpha1(0)+frz(a*22.5)+clip2(4, mask2)+p(1), "m -1 0 l 1 -23 l 10 -21 l 1 0 ")
  95.    
  96.    
  97.         if _i ==7 or _i ==9 or _i ==11 or _i ==13:
  98.                 ts2 = _BT+_SK
  99.                 SUIJ0 = randint(-20,20)
  100.                 CIR = Circle(12, _x-_ResolutionX+_TextLength[_i]+25+SUIJ0, _y+SUIJ0, 20)
  101.                 for h in range(12):
  102.                         SUIJ1 = randint(0,20)
  103.                         MOV = mov(_x-_ResolutionX+_TextLength[_i]+25+SUIJ0,_y+SUIJ0,CIR[h][0], CIR[h][1])
  104.                         EFT = MOV+fad(50,0)+bord(0)
  105.                         ass_main(ASS_BUF,SubL(ts2,ts2+50+SUIJ1,1), EFT, PixPt())
  106.                        
  107.                         CIR2 = Circle(12, CIR[h][0], CIR[h][1], 20)
  108.                         for b in range(12):
  109.                                 SUIJ2 = randint(-60,60)
  110.                                 MOV = mov(CIR[h][0], CIR[h][1],CIR2[b][0], CIR2[b][1])
  111.                                 EFT = MOV+fad(0,200)+bord(0)
  112.                                 ass_main(ASS_BUF,SubL(ts2+50+SUIJ1,ts2+200+SUIJ2,1), EFT, PixPt())
  113.    
  114.    
  115.         return (ASS_BUF, None)
复制代码

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

18#
发表于 2013-11-1 22:19:59 |只看该作者
原始脚本在哪里? 让LZ发你一个py文件吧... 省得这么折腾
您需要登录后才可以回帖 登录 | 新人加入

GitHub|TCAX 主页

GMT+8, 2024-11-25 13:02

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部
RealH