TCAX 字幕特效制作工具官方论坛 | ASS | TCAS | Python | Aegisub | Lua
标题:
纠结了再纠结的贝塞尔曲线
[打印本页]
作者:
yyxxlc
时间:
2013-5-30 23:01:47
标题:
纠结了再纠结的贝塞尔曲线
本帖最后由 yyxxlc 于 2013-6-1 15:18 编辑
关于奶大在教程里举得三阶贝塞尔曲线的例子,我有两个问题好纠结 希望大大们伸以援手
代码的一部分:
num = 60 # 曲线上点的个数
xs = _x + randint(-100, 100) # 开始点
ys = _y + randint(-60, 20)
xc1 = xs + randint(-50, 50) # 控制点1
yc1 = ys + randint(-50, 50)
xc2 = xc1 + randint(-40, 40) # 控制点2
yc2 = yc1 + randint(-40, 40)
xe = _x # 结束点
ye = _y
points = Bezier3(num, xs, ys, xe, ye, xc1, yc1, xc2, yc2) # 3阶贝塞尔曲线, 控制点的生成是重点以及难点
for i in range(num):
POS = pos(points[i][0], points[i][1]) # 获取曲线上点坐标
EFT = POS + EFT1 + color3('5A3AFF')
ass_main(ASS_BUF, SubL(ts + i, ts + i + 30, 15, Pix_Style), EFT, PixPt())
EFT = POS + EFT2
ass_main(ASS_BUF, SubL(ts + i, ts + i + 30, 15, Pix_Style), EFT, PixPt())
复制代码
问题1:num = 60 关于曲线上点的个数的,这个是任意设的么?我把sai大某个类似的曲线脚本的这个num的个数改过,发现如果改小了之后 特效效果会变弱一些(主要体现在颜色变淡了很多),而且会影响到特效的出现消失时间呢
问题2:就是特效效果的开始和结束设置和曲线上的点(个数) 的关系是什么 ,为什么 for i in range(num): ....SubL(ts + i, ts + i + 30, 15, Pix_Style) ,理论上他们应该属于不同的东西啊一个时间一个个数 为什么可以把个数加起来成为时间的一部分呢 莫不是这个个数和时间有什么什么一一对应的关系么?
问题2.0.1 :呃。。。只想随便问问关于这个控制点 大大们都是怎么决定在哪儿的呢 是随便写的 还是靠什么公式算的 还是在assdraw上 画画什么的然后对着写的.....
作者:
milkyjing
时间:
2013-6-1 13:52:32
Re1: 可以随意设置. 至于之后的问题, 那就要看具体应用了, 要看看还有哪些地方和点数相关, 比如每个点的存在时间都是固定的, 你增加了点数, 那效果的持续时间肯定会变化
Re2: 可以说没有本质上的关系. 在时间上, 我增加一个随机数调整都可以, 为什么不能使用"具备某种规律"的数据呢. 具体怎么设定, 都是根据效果来定夺的.
Re3: 随意, 好看就行
p.s. 从底层抽象来说, 特效, 无非就是 时间, 坐标, 以及颜色, 这些东西都没有严格的规定, 最糟糕的情况就是全部随意设置--->出来的结果可能是一团糟, 至于怎么设置更美观, 更符合"特效的定义", 就需要自己反复实践了, 并不是几个问题所能解答的...
作者:
yyxxlc
时间:
2013-6-1 15:17:38
本帖最后由 yyxxlc 于 2013-6-5 00:00 编辑
milkyjing 发表于 2013-6-1 13:52
Re1: 可以随意设置. 至于之后的问题, 那就要看具体应用了, 要看看还有哪些地方和点数相关, 比如每个点的存 ...
结果还是奶大你来回我的呀~ 恩 谢谢啦 蹭~
欢迎光临 TCAX 字幕特效制作工具官方论坛 | ASS | TCAS | Python | Aegisub | Lua (http://tcax.org/)
Powered by Discuz! X2