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

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

[已解决] 如何才能让这个特效不要匀速的运动? [复制链接]

Rank: 4

跳转到指定楼层
楼主
发表于 2013-8-15 21:25:16 |只看该作者 |正序浏览
本帖最后由 yyxxlc 于 2013-8-19 22:06 编辑

前段时间在B站上看到了一个人鱼的动画做的OP 和群里某位大大的蔷薇少女的OP  做出的这样的效果 ,今天试着写了一下代码,出现了一个问题修正了好久都不行  就是无论K值是怎么样的  效果里面圆的移动速度都是匀速的  我想的是速度是随K的变化而变化的  K大一些的时候速度慢些 反之快一些  所以感觉应该问题出在路程上 如果设置的路程是一样的话 速度就会不一样吧  但是修改了好久都弄不好  天气好热  真糟糕....
  1. def tcaxPy_Main(_i, _j, _n, _start, _end, _elapk, _k, _X, _Y, _A, _TXT):

  2.     ASS_BUF = []
  3.     TCS_BUF = []
  4.     a=0
  5.     for deg in range (0,360,36):
  6.         col=['8080FF','06FFFF','00FF80','FFFF00','FF0080','FFFF80','00FF80']
  7.         theta=pi/180*deg
  8.         x0= _Fs/2 * cos(theta) + _X   
  9.         y0= _Fs/2 * sin(theta) + _Y
  10.         x=a
  11.         EFT0=color1(col[x])
  12.         if a<6:
  13.             a=x+1

  14.         for i in range(_k+1):
  15.             theta1=pi/180*(deg+i *1)
  16.             x1= _Fs * cos(theta1) + _X   
  17.             y1= _Fs * sin(theta1) + _Y

  18.             ass_main(ASS_BUF, SubL(_start+_elapk+i, _start+_elapk+i+1), pos(x1,y1)+fs(7)+alpha3(255)+EFT0, "●" )
  19.     ass_main(ASS_BUF, SubL(_start+_elapk, _end), pos(_X,_Y), _TXT )
  20.     return (ASS_BUF, TCS_BUF)
复制代码

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

9#
发表于 2013-8-17 22:08:12 |只看该作者
yyxxlc 发表于 2013-8-16 00:53
那个 我还想问一个和这个效果没什么关系的东西  关于像素字mask的时候  用gdifont模块(是这么写的吧)来修 ...

当成结论记住就行..

那个指数是点的取样精度. 这两个模块精度不同..

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

8#
发表于 2013-8-17 22:06:42 |只看该作者
yyxxlc 发表于 2013-8-16 11:00
把第17行改成 theta1=pi/180*(deg+i *(36/_k))  对不对 突然想到的~~~

给力. 你可以试试, 应该差不多了

Rank: 4

7#
发表于 2013-8-16 11:00:12 |只看该作者
milkyjing 发表于 2013-8-15 23:13
问题出现在第17行代码上吧. 你的距离设置其实是一样的, 与k都没有关系.

每单位时间 (_start+_elapk+i, _s ...

把第17行改成 theta1=pi/180*(deg+i *(36/_k))  对不对 突然想到的~~~

Rank: 4

6#
发表于 2013-8-16 00:53:54 |只看该作者
那个 我还想问一个和这个效果没什么关系的东西  关于像素字mask的时候  用gdifont模块(是这么写的吧)来修正位置的时候  clip里的 等级 变量  必须设成4才能看得到 是什么原理  其实以前那个一般的像素字里 等级设成7 才看得到 那个我也没弄清楚 只当是必须这么设的结论记住了  

Rank: 4

5#
发表于 2013-8-16 00:50:44 |只看该作者
本帖最后由 yyxxlc 于 2013-8-16 01:09 编辑
milkyjing 发表于 2013-8-15 23:13
问题出现在第17行代码上吧. 你的距离设置其实是一样的, 与k都没有关系.

每单位时间 (_start+_elapk+i, _s ...


奶大果然厉害呀  哈哈 其实我知道是 17行的问题  当时改过来改过去就是不知道怎么才能把时间和路程的循环给分开  后来实在没办法了 就捡了个空子 干脆把大于k>30的分在一起,用theta1=pi/180*(deg+i *1)  ; <30的用theta1=pi/180*(deg+i *2)  ,其实真正在歌里只要有快慢的区别大致也看不出来 。 如果可以的话 能不能请乃告诉下修改的办法?


好吧,那个每个点颜色的地方也被你发现了... 生成效果的时候发现有三个点的颜色是一样的  想到了应该是设置上有问题  但是因为下面的那个速度的地方困扰了好久 于是就没去管它了  谢谢奶大的指正

Rank: 4

地板
发表于 2013-8-16 00:41:56 |只看该作者
zxdfcgv 发表于 2013-8-15 22:16
路程一样的话 看时间吧  时间越短越快啊 时间越长越慢  时间为syl的开始到syl的结束不行么? ...

谢谢大大了  弱弱的问下 syl是神马

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

板凳
发表于 2013-8-15 23:13:06 |只看该作者
问题出现在第17行代码
  1. theta1=pi/180*(deg+i *1)
复制代码
上吧. 你的距离设置其实是一样的, 与k都没有关系.

每单位时间 (_start+_elapk+i, _start+_elapk+i+1) ,  delta_t = 1

行动的路程 是个常数 delta_theta1 = pi/180*(deg+i *1 + 1) - pi/180*(deg+i *1)

因此速度就是相同的了, 与k值无关..


另外存在的一个问题是 每36度, 分的点并不均匀. 只有前_k+1个点, 每个点涨1弧度. 假设_k=10, 则只增加了11弧度,

不管k值如何变, 点数都应该要均匀分布..

所以, 结论就是17行的表达式满足不了你的预期.

Rank: 6Rank: 6

沙发
发表于 2013-8-15 22:16:45 |只看该作者
路程一样的话 看时间吧  时间越短越快啊 时间越长越慢  时间为syl的开始到syl的结束不行么?
您需要登录后才可以回帖 登录 | 新人加入

GitHub|TCAX 主页

GMT+8, 2024-11-24 06:16

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部
RealH