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

 找回密码
 新人加入
楼主: milkyjing

[ASS特效教程入门系列] 三. 曲线轨迹的简单应用及逐帧特效 [复制链接]

Rank: 4

发表于 2013-2-2 18:27:07 |显示全部楼层
渣渣疯子 发表于 2013-2-2 18:16
你那个for i in range(num):...你的不是num1 num2么?。。。都一样的话,统一一个num = 60 ...

46GROHCQ9Y6F{336)57OQS3.jpg
   呜咕。。这样的说0.0

Moderator

疯子

Rank: 5Rank: 5

发表于 2013-2-2 18:48:09 |显示全部楼层
爱雪音MiKu 发表于 2013-2-2 18:27
呜咕。。这样的说0.0

bezier3,不是berier3字母打错了,那里显示的错误原因是berier3未定义

Rank: 4

发表于 2013-2-2 18:59:28 |显示全部楼层
渣渣疯子 发表于 2013-2-2 18:48
bezier3,不是berier3字母打错了,那里显示的错误原因是berier3未定义

WGBGK4JSUEX)HFOU}46E)RK.jpg
   呜咕。。这样了。。现在貌似是TCC的设置问题0.0

Moderator

疯子

Rank: 5Rank: 5

发表于 2013-2-2 19:18:34 |显示全部楼层
爱雪音MiKu 发表于 2013-2-2 18:59
呜咕。。这样了。。现在貌似是TCC的设置问题0.0

< tcaxpy init = true >改了这个试试记得改true别改成ture...

Rank: 4

发表于 2013-2-2 19:56:13 |显示全部楼层
渣渣疯子 发表于 2013-2-2 19:18
< tcaxpy init = true >改了这个试试记得改true别改成ture...

呜咕。。还是那样。。错误的说

Moderator

疯子

Rank: 5Rank: 5

发表于 2013-2-2 20:28:42 |显示全部楼层
爱雪音MiKu 发表于 2013-2-2 19:56
呜咕。。还是那样。。错误的说

好像是命名冲突?你给TCC改个奇葩的名字再试试?

Rank: 4

发表于 2013-2-2 20:36:49 |显示全部楼层
本帖最后由 kk123456 于 2013-2-2 20:37 编辑
爱雪音MiKu 发表于 2013-2-2 18:59
呜咕。。这样了。。现在貌似是TCC的设置问题0.0


k值文件还在?确定命名为test_k.ass?

Rank: 4

发表于 2013-2-2 21:03:26 |显示全部楼层
渣渣疯子 发表于 2013-2-2 20:28
好像是命名冲突?你给TCC改个奇葩的名字再试试?

O6R8HAHF7@1C)V6HA4AIY(Q.jpg
  啊呜。。这样貌似还是不行呢

Rank: 4

发表于 2013-2-2 21:03:53 |显示全部楼层
kk123456 发表于 2013-2-2 20:36
k值文件还在?确定命名为test_k.ass?

呜咕。。。。还在的说。。命名也对的

Moderator

疯子

Rank: 5Rank: 5

发表于 2013-2-2 21:06:09 |显示全部楼层
爱雪音MiKu 发表于 2013-2-2 21:03
啊呜。。这样貌似还是不行呢

召唤了M大,让他闪亮登场解决问题吧

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

发表于 2013-2-2 21:07:37 |显示全部楼层
爱雪音MiKu 发表于 2013-2-2 21:03
呜咕。。。。还在的说。。命名也对的

你要看錯誤提示, (已經是不同的提示了.)

如果你的py腳本裡面沒有定義tcaxPy_Init函數, 那麼tcc中 <tcaxpy init> 要相應設置成false

Rank: 4

发表于 2013-2-2 21:16:10 |显示全部楼层
milkyjing 发表于 2013-2-2 21:07
你要看錯誤提示, (已經是不同的提示了.)

如果你的py腳本裡面沒有定義tcaxPy_Init函數, 那麼tcc中  要相 ...

{RJ[7UIRPUZXK~]Z8G%@K2A.jpg
呜咕。。新的问题0.0。。。貌似代码又错了(T.T)

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

发表于 2013-2-2 21:18:55 |显示全部楼层
爱雪音MiKu 发表于 2013-2-2 21:16
呜咕。。新的问题0.0。。。貌似代码又错了(T.T)


第38行, pos是個函數, 不是一個數組, pos[...] 用法是錯誤的, 應該改成 pos()...

p.s. 編輯腳本, 建議使用Notepad2, 或IDLE等工具, 新手不建議使用記事本- -
p.s.2. 磨刀不誤砍柴工...看看Python的基本語法是有益的.

Rank: 4

发表于 2013-2-2 21:27:44 |显示全部楼层
milkyjing 发表于 2013-2-2 21:18
第38行, pos是個函數, 不是一個數組, pos[...] 用法是錯誤的, 應該改成 pos()...

p.s. 編輯腳本, 建議使 ...

3W}A1U~SY5PAGLZ5RO7[~PP.jpg
  啊呜。。这样也不对呢(T.T)

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

发表于 2013-2-2 21:31:26 |显示全部楼层
爱雪音MiKu 发表于 2013-2-2 21:27
啊呜。。这样也不对呢(T.T)


pos函數接收兩個參數, x, y, 你給了3個參數了..

話說, 這麼問答效率有點低啊... 雖然我們歡迎多提問題, 多交流. 不過, LZ可以嘗試自己讀下出錯提示.

Rank: 4

发表于 2013-2-2 21:36:50 |显示全部楼层
milkyjing 发表于 2013-2-2 21:31
pos函數接收兩個參數, x, y, 你給了3個參數了..

話說, 這麼問答效率有點低啊... 雖然我們歡迎多提問題,  ...
  1. from tcaxPy import *

  2. def tcaxPy_Main(_i, _j, _n, _start, _end, _elapk, _k, _x, _y, _a, _txt):

  3.     ASS_BUF  = []        # 保存ASS特效
  4.     TCAS_BUF = []        # 保存TCAS特效

  5.     ##### 主要特效编写操作 #####

  6.     ts = _start + _elapk - 20       # 效果开始时间
  7.     _Fs = GetVal(val_FontSize)      # 字体大小
  8.     EFT1 = alpha1(HexToDec('AA')) + alpha3(HexToDec('AA')) + color1('FFFFFF') + \
  9.             bord(5) + blur(5) + t(0, 100, bord(3) + blur(3)) + fad(0, 200)
  10.     EFT2 = alpha1(HexToDec('AA')) + alpha3(HexToDec('00')) + color1('FFFFFF') + color3('FFFFFF') + \
  11.             bord(3) + blur(3) + t(0, 100, bord(1) + blur(1) + alpha3(HexToDec('44'))) + fad(0, 200)
  12.     for k in range(2):
  13.          num = 60    # 曲线上点的个数
  14.          xs = _x     # 开始点
  15.          ys = _y - 30
  16.          xc1 = _x - 30  # 控制点1
  17.          yc1 = _y
  18.          xc2 = _x    # 控制点2
  19.          yc2 = _y + 30
  20.          xe = _x     # 结束点
  21.          ye = _y
  22.          num = 60
  23.          ixs = _x     # 开始点
  24.          iys = _y + 30
  25.          ixc1 = _x + 30  # 控制点1
  26.          iyc1 = _y
  27.          ixc2 = _x    # 控制点2
  28.          iyc2 = _y - 30
  29.          ixe = _x     # 结束点
  30.          iye = _y
  31.          points1 = Bezier3(num, xs, ys, xe, ye, xc1, yc1, xc2, yc2)   # 3阶贝塞尔曲线, 控制点的生成是重点以及难点
  32.          points2 = Bezier3(num,ixs, iys, ixe, iye, ixc1, iyc1, ixc2, iyc2)
  33.          for i in range(num):
  34.               POS1 = pos(points1[i][0], points1[i][1])
  35.               POS2 = pos(points2[i][0], points2[i][1])
  36.               POS = POS1 + POS2   # 获取曲线上点坐标
  37.               EFT = POS + EFT1 + color3('5A3AFF')
  38.               ass_main(ASS_BUF, SubL(ts + i, ts + i + 30, 15, Pix_Style), EFT, PixPt())
  39.               EFT = POS + EFT2
  40.               ass_main(ASS_BUF, SubL(ts + i, ts + i + 30, 15, Pix_Style), EFT, PixPt())

  41.     ##### 将结果返回给tcax进行处理 #####

  42.     return (ASS_BUF, TCAS_BUF)
复制代码
呜咕。。这样级可以了。。但是第二条曲线没有生成出来0.0。。。。不是把两条线的位置都给了吗。。为什么只显示一条0.0?

Moderator

疯子

Rank: 5Rank: 5

发表于 2013-2-2 21:38:34 |显示全部楼层
爱雪音MiKu 发表于 2013-2-2 21:36
呜咕。。这样级可以了。。但是第二条曲线没有生成出来0.0。。。。不是把两条线的位置都给了吗。。为什么 ...

你那个POS有问题啊...你完全没必要用POS,第一条曲线是POS1第二条是POS2就好了

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

发表于 2013-2-2 21:38:44 |显示全部楼层
爱雪音MiKu 发表于 2013-2-2 21:36
呜咕。。这样级可以了。。但是第二条曲线没有生成出来0.0。。。。不是把两条线的位置都给了吗。。为什么 ...
  1.               POS = POS1 + POS2   # 获取曲线上点坐标
  2.               EFT = POS + EFT1 + color3('5A3AFF')
  3.               ass_main(ASS_BUF, SubL(ts + i, ts + i + 30, 15, Pix_Style), EFT, PixPt())
  4.               EFT = POS + EFT2
  5.               ass_main(ASS_BUF, SubL(ts + i, ts + i + 30, 15, Pix_Style), EFT, PixPt())
复制代码
POS = POS1 + POS2 這行代碼達不到你的預期, 你可以說下你通過這行代碼想要達成什麼樣的效果?

Rank: 4

发表于 2013-2-2 21:40:13 |显示全部楼层
milkyjing 发表于 2013-2-2 21:38
POS = POS1 + POS2 這行代碼達不到你的預期, 你可以說下你通過這行代碼想要達成什麼樣的效果? ...

呜咕。。就是两天线的开始点和控制点都完全相反。。然后回到X,Y

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

发表于 2013-2-2 21:47:38 |显示全部楼层
嘛, 既然代碼已經能夠執行了, LZ就隨便玩玩唄... 多摸索, 收穫大...
您需要登录后才可以回帖 登录 | 新人加入

GitHub|TCAX 主页

GMT+8, 2024-3-29 03:13

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部
RealH