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

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

[特效算法] 像素字按照贝塞尔曲线形状扩散(修正定位偏差) [复制链接]

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

21#
发表于 2013-2-20 19:33:48 |只看该作者
爱雪音MiKu 发表于 2013-2-20 19:18
呜咕。。偶也想可以看懂错误提示。。但是这种错误偶没遇到过啦。。所以不知道原因。。。

嘎哦。。偶感 ...


學會讀懂出錯提示: 第38行代碼錯誤 (有時候需要聯繫上下文), 錯誤信息是 tuple index out of range (一般錯誤提示都是很簡單的英文, 實在不行Google翻譯一下), 意思是說 元素索引越界. 這裡的 "元組" 指的是 points, 索引indice_pos和0都是 (因為是二維數組). 這些內容都是基本的, 必須要掌握. 索引越界意思是 下標超過了最大個數.

有了以上信息之後, 你需要開始排查錯誤原因. 為什麼會出現這個錯誤? 那麼, 你首先要知道 points 元組包含了多少個元素? 這就要回朔到points被賦值的地方, points = gfGetPoints(...). 這裡, 你必須要了解的是元組, 數組的概念 (這個也很基本).

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

這個帖子提到的一些內容你是否都已經掌握了呢? 如果回答是肯定的, 我可以繼續幫你分析下去.

嘛, 學習要踏實一點, 一步一個腳印.


Rank: 4

22#
发表于 2013-2-20 19:46:40 |只看该作者
milkyjing 发表于 2013-2-20 19:33
學會讀懂出錯提示: 第38行代碼錯誤 (有時候需要聯繫上下文), 錯誤信息是 tuple index out of range (一般 ...

呜咕。。可以

Rank: 4

23#
发表于 2013-2-21 18:44:34 |只看该作者
milkyjing 发表于 2013-2-20 19:33
學會讀懂出錯提示: 第38行代碼錯誤 (有時候需要聯繫上下文), 錯誤信息是 tuple index out of range (一般 ...

呜咕。。今天下午无聊发呆。。想了一个下午。。决定自己还是重新再一次的系统式的学习一下PY语言。。这一次决定学好会了。。再回来。。。感觉偶自己以现在的方式学的东西是不会多的。。想重新再学一下

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

24#
发表于 2013-2-21 20:15:57 |只看该作者
爱雪音MiKu 发表于 2013-2-21 18:44
呜咕。。今天下午无聊发呆。。想了一个下午。。决定自己还是重新再一次的系统式的学习一下PY语言。。这一 ...

这个想法好。不过学习过程也可以有交流。。。

关键还是合理提问。问合理的问题。

Rank: 4

25#
发表于 2013-2-21 20:26:48 |只看该作者
milkyjing 发表于 2013-2-21 20:15
这个想法好。不过学习过程也可以有交流。。。

关键还是合理提问。问合理的问题。 ...

呜咕。。V。。偶会尽全力自己学习理解的。。遇到实在无法明白的问题。。再来请教大大们的帮助吧。。。这次一定要学好。。
1

查看全部评分

Rank: 4

26#
发表于 2013-5-12 17:36:59 |只看该作者
  1.     for part in range(bucle):
  2.         indice_text = randint(0, pt_num - 1)
  3.         indice_pos = randint(0, maxi - 1)
  4.         x = dx + points[indice_text][0]
  5.         y = dy + points[indice_text][1]
  6.         x_fin = pos_cur[indice_pos][0]
  7.         y_fin = pos_cur[indice_pos][1]
  8.         rand_ini = randint(50, 400)
  9.         ts = _end - 30 + _j * 2.5
  10.         te = ts + 65 + _j * 2.5
  11.         rand_end = 10 * (te - ts)
  12.         EFT = move(x, y, x_fin, y_fin, rand_ini, rand_end) + fad(70, 0) + color1('0337C1') + fsc(125, 125) + shad(0) + bord(0) + alpha(255 - points[indice_text][2]) + t(alpha(255) + fsc(50, 50))
复制代码
奶大,关于这一段,问两个问题:

1. 从最后的move代码看,这个是将 “字上的像素” 从原始位置 “移动到” 曲线上 的位置,而不是“沿着”曲线,对吧?


2. 循环中所取的点的下标,是随机取的,因为randint会取到重复的值,可以保证所有点都被取到?
    遇到重复的下标的时候,怎么执行的?

  希望奶大有空的时候看下~
多谢奶大

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

27#
发表于 2013-5-12 18:39:02 |只看该作者
lilight 发表于 2013-5-12 17:36
奶大,关于这一段,问两个问题:

1. 从最后的move代码看,这个是将 “字上的像素” 从原始位置 “移动到” ...

Re1. 是的.

关于让像素点沿着曲线运动, 这个也可以继续做, 对每个像素点, 生成一个曲线路径即可. 但要让效果好, 还是不太容易控制的.

Re2. 会有点重复的, 也不保证能取完.

算法可以进一步改进. 但要以能产生更好的效果为目标.

重复了也没什么影响, 你可以实验一下, 把indice_text改成一个常数, 看看会是什么效果. 然后改成 randint(0, 2), 等等...

Rank: 4

28#
发表于 2014-12-17 20:59:05 |只看该作者
为什么我套用了这段代码然后AVS播放什么也不显示?

正式会员

御坂、凛

Rank: 4

29#
发表于 2015-12-23 12:23:55 |只看该作者
圆角在Aeg里面显示成直的了,似乎和像素有关?来求解

Rank: 4

30#
发表于 2016-1-19 11:58:54 |只看该作者
字幕特效果真有机会做全动画特效了
您需要登录后才可以回帖 登录 | 新人加入

GitHub|TCAX 主页

GMT+8, 2024-4-25 01:39

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部
RealH