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

 找回密码
 新人加入
楼主: milkyjing
打印 上一主题 下一主题

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

Moderator

疯子

Rank: 5Rank: 5

65#
发表于 2013-2-2 22:14:41 |只看该作者
爱雪音MiKu 发表于 2013-2-2 21:48
啊呜。。偶明白啦。。这样成功了。。谢谢轴神大大,M大大,KK大大  0.0

已经好了么=。=。。。我这里测试生成的东西看不到粒子点。。。这次换我郁闷了

Moderator

疯子

Rank: 5Rank: 5

64#
发表于 2013-2-2 21:57:00 |只看该作者
爱雪音MiKu 发表于 2013-2-2 21:41
啊呜。。。0.0。。刚刚看了一下。。这样写的确和一条线的效果一样0.0

我复制了想测试下,发现你编程方面的错误太多了,你去好好看看编程的书籍啊...等号后面对应的东西都不一样,当然会错了我测试完了正确代码给你,你也去好好看看教程吧

Rank: 4

63#
发表于 2013-2-2 21:49:38 |只看该作者
milkyjing 发表于 2013-2-2 21:47
嘛, 既然代碼已經能夠執行了, LZ就隨便玩玩唄... 多摸索, 收穫大... ...

嘎哦。。V。。谢谢M大大的指导。。。对偶来说。。写出了不容易(T.T)。。错误那么多。。

Rank: 4

62#
发表于 2013-2-2 21:48:17 |只看该作者
渣渣疯子 发表于 2013-2-2 21:38
你那个POS有问题啊...你完全没必要用POS,第一条曲线是POS1第二条是POS2就好了 ...

G~M{2SJS%R5ZJ6WMCR8XO)R.jpg   啊呜。。偶明白啦。。这样成功了。。谢谢轴神大大,M大大,KK大大  0.0

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

61#
发表于 2013-2-2 21:47:38 |只看该作者
嘛, 既然代碼已經能夠執行了, LZ就隨便玩玩唄... 多摸索, 收穫大...

Rank: 4

60#
发表于 2013-2-2 21:40:13 |只看该作者
milkyjing 发表于 2013-2-2 21:38
POS = POS1 + POS2 這行代碼達不到你的預期, 你可以說下你通過這行代碼想要達成什麼樣的效果? ...

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

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

59#
发表于 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 這行代碼達不到你的預期, 你可以說下你通過這行代碼想要達成什麼樣的效果?

Moderator

疯子

Rank: 5Rank: 5

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

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

Rank: 4

57#
发表于 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?

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

56#
发表于 2013-2-2 21:31:26 |只看该作者
爱雪音MiKu 发表于 2013-2-2 21:27
啊呜。。这样也不对呢(T.T)


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

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

Rank: 4

55#
发表于 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

54#
发表于 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

53#
发表于 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

52#
发表于 2013-2-2 21:07:37 |只看该作者
爱雪音MiKu 发表于 2013-2-2 21:03
呜咕。。。。还在的说。。命名也对的

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

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

Moderator

疯子

Rank: 5Rank: 5

51#
发表于 2013-2-2 21:06:09 |只看该作者
爱雪音MiKu 发表于 2013-2-2 21:03
啊呜。。这样貌似还是不行呢

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

Rank: 4

50#
发表于 2013-2-2 21:03:53 |只看该作者
kk123456 发表于 2013-2-2 20:36
k值文件还在?确定命名为test_k.ass?

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

Rank: 4

49#
发表于 2013-2-2 21:03:26 |只看该作者
渣渣疯子 发表于 2013-2-2 20:28
好像是命名冲突?你给TCC改个奇葩的名字再试试?

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

Rank: 4

48#
发表于 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?

Moderator

疯子

Rank: 5Rank: 5

47#
发表于 2013-2-2 20:28:42 |只看该作者
爱雪音MiKu 发表于 2013-2-2 19:56
呜咕。。还是那样。。错误的说

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

Rank: 4

46#
发表于 2013-2-2 19:56:13 |只看该作者
渣渣疯子 发表于 2013-2-2 19:18
< tcaxpy init = true >改了这个试试记得改true别改成ture...

呜咕。。还是那样。。错误的说
您需要登录后才可以回帖 登录 | 新人加入

GitHub|TCAX 主页

GMT+8, 2024-5-17 19:35

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部
RealH