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

标题: [内置特效EXT]旋转的发散光线test [打印本页]

作者: milkyjing    时间: 2011-9-1 17:33:45     标题: [内置特效EXT]旋转的发散光线test

说明

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

此效果出处:
http://u.115.com/file/aq2ofr04#
[X]027_Darker_Than_Black_-Ryuusei_no_Gemini-_OP.mkv

附件为预览及脚本下载

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


  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 DrawLight(r):
  15.     s = '{\\p4}'
  16.     r *= 8
  17.     ag = -0.15
  18.     while (ag <= 0.15):
  19.         l = (pow(abs(ag) / 0.15, 0.3) + 0.5) * r
  20.         s += 'm 0 0 l {0} {1} 0 1 c '.format(int(l * cos(ag)), int(l * sin(ag)))
  21.         ag += 0.01
  22.     s += '{\\p0}'
  23.     return s

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

  27.     ts = _start + _elapk
  28.     #te = _start + _elapk + _k
  29.     count = _k + 10
  30.     for i in range(0, count, 2):
  31.         startag = randint(0, 359)
  32.         endag = startag + RandSign() * randint(50, 100)
  33.         EFT = pos(_x, _y) + fad(300, 300) + alpha1(0) + be(1) + color1('147EF3') + frz(startag) + t(frz(endag))
  34.         ass_main(ASS_BUF, SubL(ts + i, ts + i + 100, 4, Pix_Style), EFT, DrawLight(120))
  35.         EFT = pos(_x, _y) + fad(300, 300) + alpha1(20) + be(1) + color1('FFFFFF') + frz(startag) + t(frz(endag))
  36.         ass_main(ASS_BUF, SubL(ts + i, ts + i + 100, 5, Pix_Style), EFT, DrawLight(60))

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


附件: [预览] preview.mp4 (2011-9-1 17:34:42, 588.72 KB) / 下载次数 2706
http://tcax.org/forum.php?mod=attachment&aid=Mzl8ZTU0YWVhNTh8MTcxNTEyNjYzM3wwfDA%3D

附件: [脚本] ext_light.py (2011-9-1 17:34:40, 1.61 KB) / 下载次数 2232
http://tcax.org/forum.php?mod=attachment&aid=Mzh8ZDU3Njg0MjV8MTcxNTEyNjYzM3wwfDA%3D
作者: 我们的夏天    时间: 2011-9-3 10:42:50

Milk大辛苦了
话说,这个光晕范围是不是太大了点。。。
作者: milkyjing    时间: 2011-9-3 14:46:26

我们的夏天 发表于 2011-9-3 10:42
Milk大辛苦了
话说,这个光晕范围是不是太大了点。。。

可以直接修改 DrawLight(120), 与 DrawLight(60), 来改变大小.

我直接保留了X大使用过的参数. 如果本脚本以后作为正式内置特效的话, 颜色及直径会弄成可配置参数的.


作者: lilight    时间: 2013-5-13 14:19:49

  1.     while (ag <= 0.15):
  2.         l = (pow(abs(ag) / 0.15, 0.3) + 0.5) * r
  3.         s += 'm 0 0 l {0} {1} 0 1 c '.format(int(l * cos(ag)), int(l * sin(ag)))
  4.         ag += 0.01
复制代码
这个循环里面, r为100的时候,l 的值为几十到一百多,l*sin(ag) 很小,零点几,int(l*sin(ag))一直是0,
于是
  1. 'm 0 0 l {0} {1} 0 1 c '
复制代码
就变成'm 0 0 l {0} 0 0 1 c ' 了。。。

为什么要对此循环30次




欢迎光临 TCAX 字幕特效制作工具官方论坛 | ASS | TCAS | Python | Aegisub | Lua (http://tcax.org/) Powered by Discuz! X2