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

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

[特效算法] [内置特效EXT]简单粒子特效test [复制链接]

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

跳转到指定楼层
楼主
发表于 2011-9-1 20:27:11 |只看该作者 |倒序浏览
说明

感谢X大提供源代码(C#)

此效果出处:
http://u.115.com/file/e60g95oi#
[X]007_Munto_TV_ED.mkv

附件为预览及脚本下载

移植过来的py脚本, (TCAX内置特效兼容)
  1. ################################################################################
  2. ### description:
  3. ### expanding particles


  4. from tcaxPy import *


  5. def tcaxPy_Init():
  6.     global _FD                         # frame duration, in millisecond
  7.     global _Fs
  8.     global Font
  9.     _FD = 1000 / GetVal(val_FXFPS)
  10.     _Fs = GetVal(val_FontSize)
  11.     Font = InitFont(GetVal(val_FontFileName), GetVal(val_FaceID), _Fs, GetVal(val_Spacing), GetVal(val_SpaceScale), 0xFFFFFF, 0, 0)


  12. def tcaxPy_Fin():
  13.     FinFont(Font)


  14. def tcaxPy_Main(_i, _j, _n, _start, _end, _elapk, _k, _x, _y, _a, _txt):
  15.     ASS_BUF  = []        # used for saving ASS FX lines
  16.     TCAS_BUF = []        # used for saving TCAS FX raw data

  17.     ts = _start + _elapk
  18.     te = _start + _elapk + _k
  19.     count = int((te - ts) * 2)
  20.     PIX = TextPix(Font, _txt)
  21.     points = PixPoints(PIX)
  22.     pt_num = len(points)
  23.     dx = _x - int(_a / 2 + 0.5) + PIX[0][0]
  24.     dy = _y - int(_Fs / 2 + 0.5) + PIX[0][1]
  25.     for i in range(count):
  26.         pt = points[randint(0, pt_num - 1)]
  27.         t0 = randint(int(ts), int(te))
  28.         t1 = t0 + 150
  29.         x = dx + pt[0]
  30.         y = dy + pt[1]
  31.         EFT = move(x, y, randint(x - 50, x + 50), randint(y - 35, y + 35)) + fad(0, 300) + alpha1(0) + color1('FFFFFF') + \
  32.               alpha3(0) + color3('003DB8') + bord(2) + blur(2)
  33.         ass_main(ASS_BUF, SubL(t0, t1, 0, Pix_Style), EFT, RandPolygon(2, 2, 6))

  34.     return (ASS_BUF, TCAS_BUF)
复制代码

preview.mp4

623.31 KB, 下载次数: 5050

预览

ext_particle.py

1.45 KB, 下载次数: 4239

脚本

1

查看全部评分

Rank: 1

沙发
发表于 2011-9-29 14:23:59 |只看该作者
提示错误啊 应该怎么解决呢?
提示:global name 'PixPoints'is not defined.
failed to execute the tcaxPy _main() function in the 1(th) user tcax py script.

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

板凳
发表于 2011-9-29 20:15:02 |只看该作者
小歪叽 发表于 2011-9-29 14:23
提示错误啊 应该怎么解决呢?
提示:global name 'PixPoints'is not defined.
failed to execute the tcaxP ...

升级到最新版的 Beta3 SP1

http://www.tcax.org/forum.php?mod=viewthread&tid=99

Rank: 1

地板
发表于 2011-9-30 13:30:54 |只看该作者
milkyjing 发表于 2011-9-29 20:15
升级到最新版的 Beta3 SP1

http://www.tcax.org/forum.php?mod=viewthread&tid=99

升级后还是提示“global name 'PixPoints'is not defined.”呃、、、

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

5#
发表于 2011-9-30 21:45:47 |只看该作者
小歪叽 发表于 2011-9-30 13:30
升级后还是提示“global name 'PixPoints'is not defined.”呃、、、

额... 把tcc文件贴出来看下吧....

Rank: 1

6#
发表于 2011-9-30 22:33:26 |只看该作者
  1. # tcc file version

  2. < tcc file version = 1.0 >


  3. # mode configuration

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


  10. # py settings

  11. < py file = ext_particle.py >    < beg line = 1 >    < end line = 0 >



  12. # main settings

  13. < k-timed ass file = op_k.ass >
  14. < font file = 迷你简毡笔黑.TTF >    < font face id = 1 >    < font size = 40 >
  15. < fx width = 1280 >    < fx height = 720 >    < fx fps = 23.976 >
  16. < alignment = 7 >
  17. < x offset = 0 >    < y offset = 15 >
  18. < spacing = 0 >    < space scale = 1.0 >


  19. # style settings

  20. < font face name = "" >
  21. < bord = 0 >    < shad = 0 >
  22. < primary color = 057ED8 >    < secondary color = A6A037 >    < outline color = CFE1CE >    < back color = 000000 >
  23. < primary alpha = 0 >    < secondary alpha = 0 >    < outline alpha = 0 >    < back alpha = 100 >


  24. # additional settings

  25. < blur = 1.0 >
复制代码

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

7#
发表于 2011-10-1 00:32:38 |只看该作者
小歪叽 发表于 2011-9-30 22:33

ext_particle.py 是放在工程文件夹中的吧?

如果确认升级成功了的话, 还真不知道问题出在哪儿.

Beta3中tcaxPy.pyd的大小为603 KB (617,984 bytes)
SP1中tcaxPy.pyd的大小为604 KB (618,496 bytes)
请确认下你的tcax程序根目录中, tcaxPy.pyd的大小同SP1的相同.

Rank: 1

8#
发表于 2011-10-7 13:04:31 |只看该作者
升级只要把tcax.exe替换就可以了吧?

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

9#
发表于 2011-10-7 14:38:56 |只看该作者
小歪叽 发表于 2011-10-7 13:04
升级只要把tcax.exe替换就可以了吧?

sp1压缩包中的全部文件都拷贝替换掉Beta3中的同名文件.

Rank: 1

10#
发表于 2011-10-7 19:29:53 |只看该作者
milkyjing 发表于 2011-10-7 14:38
sp1压缩包中的全部文件都拷贝替换掉Beta3中的同名文件.

嗯 可以了 谢谢啦~

Rank: 4

11#
发表于 2012-6-24 09:39:48 |只看该作者
请问一下"RandPolygon(2, 2, 6)"这个是什么意思,如果改成“PixPt()“的话,粒子明显暗很多。

Rank: 4

12#
发表于 2012-6-24 09:44:49 |只看该作者
虽然tcaxPy.py里有这个函数的介绍,但我看不明白,麻烦解释一下。

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

13#
发表于 2012-6-24 09:52:21 |只看该作者
kk123456 发表于 2012-6-24 09:39
请问一下"RandPolygon(2, 2, 6)"这个是什么意思,如果改成“PixPt()“的话,粒子明显暗很多。 ...

RandPolygon用于生成随机形状的矩形,参数为r1, r2, 和v,其中,r1, r2可以想成是控制大小的,v是顶点数。
PixPt()只是生成单个像素点。

Rank: 4

14#
发表于 2017-8-16 23:04:12 |只看该作者
崩溃下载不了

Rank: 4

15#
发表于 2017-12-17 00:34:32 |只看该作者
感谢分享

Rank: 4

16#
发表于 2017-12-31 00:01:55 |只看该作者
感谢分享!

Rank: 1

17#
发表于 2018-8-12 10:10:19 |只看该作者
感谢分享!

Rank: 1

18#
发表于 2018-8-12 17:20:16 |只看该作者
感谢分享。。。。
您需要登录后才可以回帖 登录 | 新人加入

GitHub|TCAX 主页

GMT+8, 2024-11-22 01:56

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部
RealH