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

 找回密码
 新人加入
查看: 4161|回复: 18

[已解决] 呜咕。。关于完整特效的问题0.0 [复制链接]

Rank: 4

发表于 2013-1-28 19:24:35 |显示全部楼层
啊呜。。为什么乃们大大编写的脚本。。。那么多的特效都写在一个脚本里的呢0.0?【而且。。特效还被乃们控制在想要的字幕里呢】。。。。不是一个脚本只能写一个特效吗0.0?

Moderator

后弃

Rank: 5Rank: 5

发表于 2013-1-28 20:54:51 |显示全部楼层
本帖最后由 showjim 于 2013-1-28 22:55 编辑

1. 其实写脚本程序并没有“一个脚本只能写一个特效”的限制,一个脚本里的特效怎么写,写多少种都由作者自己定的

2. 既然你在TCAX 版问,就TCAX而言,其可以对特定的字幕行或特定的字幕样式进行特效编辑,因为milk大提供了这样的参量,所以在代码里只要对想要编辑的字幕进行判断,就能实现 “特效还被乃们控制在想要的字幕里”。

其实写特效的实质就是编程,自由度大;同学可以参照他人的脚本试试看,很容易上手的。
1

查看全部评分

Rank: 4

发表于 2013-1-28 21:01:22 |显示全部楼层
showjim 发表于 2013-1-28 20:54
1. 其实写脚本程序并没有“一个脚本只能写一个特效”的限制,一个脚本里的特效怎么写,写多少种都由作者自 ...

呜咕。。。是么。。可是这方面的参量偶没学过0.0

Rank: 4

发表于 2013-1-28 21:06:18 |显示全部楼层
爱雪音MiKu 发表于 2013-1-28 21:01
呜咕。。。是么。。可是这方面的参量偶没学过0.0

呜咕。。这个时候就应该叫大大0.0   @milkyjing   @渣渣疯子

Moderator

后弃

Rank: 5Rank: 5

发表于 2013-1-28 21:29:01 |显示全部楼层
爱雪音MiKu 发表于 2013-1-28 23:01
呜咕。。。是么。。可是这方面的参量偶没学过0.0

这里的参量是泛指,譬如,字幕的行号和in-effect标识(aegisub、NyuFX)。
再如,设在一首歌里共12行歌词,你想在其高潮部分制作特效(假设为最后4行),则只需用if判断行号_i是否是9 <= _i  <= 12 即可。

说这么多,你试试就知道了

Rank: 4

发表于 2013-1-28 21:42:00 |显示全部楼层
showjim 发表于 2013-1-28 21:29
这里的参量是泛指,譬如,字幕的行号和in-effect标识(aegisub、NyuFX)。
再如,设在一首歌里共12行歌词 ...

呜咕。。。0.0很详细的说。。。谢谢。。

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

发表于 2013-1-28 21:54:35 |显示全部楼层
Re 1L: TCAX可以調用複數個腳本來生成一個特效, 通過配置TCC文件實現. 對一個特效使用的腳本數沒有限定.

# 特效脚本设置

< py file = test1.py >
# 特效脚本的文件名, 可以使用相对路径或者绝对路径. 推荐使用相对路径

< beg line = 1 >
# 该特效脚本所应用的起始行, 1表示从第一行开始生效, 0表示最后一行, -n表示倒数第n+1行

< end line = 0 >
# 该特效脚本所应用的结束行, 0表示到最后一行一直有效

< py file = test1.py > < beg line = 1 > < end line = 0 >
# test1.py这个特效脚本从第一行开始直到最后一行都有效

< py file = test2.py > < beg line = 1 > < end line = 0 >

< py file = test3.py > < beg line = 1 > < end line = -1 >
# 到倒数第二行有效

< py file = test4.py > < beg line = -5 > < end line = -2 >
# test4.py从倒数第6行开始到倒数第3行有效

< py file = !\test.py > < beg line = 5 > < end line = 0 >
# ‘!\’ 或者 ‘!/’ 表示 test.py 在TCAX程序的根目录下

< py file = !\script\test.py > < beg line = 3 > < end line = 7 >
# test.py 在TCAX程序的根目录中的 script 文件夹下

< py file = !in_001.py > < beg line = 3 > < end line = 7 >
# '!' 表示使用内置特效


出處: http://www.tcax.org/forum.php?mod=viewthread&tid=87


我們對字幕特效進行高層抽象, 對其組成進行一定的劃分 (純經驗, 非最優方案, 亦非唯一解), 得出:
通常我们可以将每一句完整的卡拉OK特效分成如下5个部分:

    1. 歌词的进入方式 (Introduction Effect)
  *2. 歌词的存在方式 (Existence Effect)
  *3. 卡拉OK的表现方式 (Highlight Effect)
    4. 歌词的消失方式 (Disappearance Effect)
    5. 附加效果 (Extra Effect)


出處: http://www.tcax.org/forum.php?mod=viewthread&tid=41
參考: http://www.tcax.org/forum.php?mod=viewthread&tid=65
http://www.tcax.org/forum.php?mod=viewthread&tid=62


所謂"內置特效"無非就是按照上述概念, 按照一定規則 (http://www.tcax.org/forum.php?mod=viewthread&tid=64) 編寫而成的腳本 (這是基於"TCAX能在一個特效工程中使用多個特效腳本"的基礎上實現的)


p.s. LZ可以多瀏覽一下論壇相關版塊.


Moderator

疯子

Rank: 5Rank: 5

发表于 2013-1-29 00:46:36 |显示全部楼层
完整特效的话,可以用if来判定句子,甚至句子中的几个字的。。。http://www.tcax.org/forum.php?mod=viewthread&tid=582特别是有了这几个函数以后,几个字几个字的单独处理也是很方便的def tcaxPy_Main(_i, _j, _n, _BT, _ET, _SK, _KT, _X, _Y, _A, _TXT):这一行里,_i就是行数_j就是每行的字数,完整脚本基本都有用到,你可以看看,很多脚本开头不就有if _i这一类的判定么?

Moderator

疯子

Rank: 5Rank: 5

发表于 2013-1-29 00:48:29 |显示全部楼层
另外,用TCC设置的话,一般都是用内置脚本吧,自己写的话一般直接一个脚本顺下来,内置的话时间要求还比较麻烦啊...

Rank: 4

发表于 2013-1-29 08:06:12 |显示全部楼层
渣渣疯子 发表于 2013-1-29 00:46
完整特效的话,可以用if来判定句子,甚至句子中的几个字的。。。http://www.tcax.org/forum.php?mod=view ...

呜咕。。嗯嗯。。if_i这句是经常看到乃们大大用的呢。。。IF是如果的判断句嘛。。。偶以为大大们用来判断特效的呢0.0

Rank: 4

发表于 2013-1-29 08:08:42 |显示全部楼层
milkyjing 发表于 2013-1-28 21:54
Re 1L: TCAX可以調用複數個腳本來生成一個特效, 通過配置TCC文件實現. 對一個特效使用的腳本數沒有限定.

啊呜。。那么自编的完整特效不要像内置特效。。编写特效的方式时。。不要写的那么多的时间?【偶看内置特效字幕的进入,存在,表现,消失,附加。。都有TS,TE0.0?

Moderator

疯子

Rank: 5Rank: 5

发表于 2013-1-29 14:42:24 |显示全部楼层
爱雪音MiKu 发表于 2013-1-29 08:08
啊呜。。那么自编的完整特效不要像内置特效。。编写特效的方式时。。不要写的那么多的时间?【偶看内置特 ...

内置是因为会有不同的脚本间组合,所以把不同效果的时间段固定了,具体固定的标准可以看看这个里面的高级约束http://www.tcax.org/forum.php?mod=viewthread&tid=64但是自己写完整效果就不用在意这个了,一句话只写一个效果那也是自己的事情了,可以直接写成ts = _BT te = _ET都是可以的,只要能达到自己想要的效果,怎么写都行,但是要发布内置,就要考虑时间的约束
1

查看全部评分

Rank: 4

发表于 2013-1-29 17:56:57 |显示全部楼层
渣渣疯子 发表于 2013-1-29 14:42
内置是因为会有不同的脚本间组合,所以把不同效果的时间段固定了,具体固定的标准可以看看这个里面的高级 ...

呜咕。。。那就是说。。。如果自己写特效。。时间就不要像内置特效那样写那么长的代码来定义时间了吗0.0?。。。。自己写就可以随意一些了?。。比如字幕的进入就可以直接设定成时间轴的0.0?_BT就可以直接定义了?

Moderator

疯子

Rank: 5Rank: 5

发表于 2013-1-29 18:17:20 |显示全部楼层
爱雪音MiKu 发表于 2013-1-29 17:56
呜咕。。。那就是说。。。如果自己写特效。。时间就不要像内置特效那样写那么长的代码来定义时间了吗0.0 ...

自己写特效的话,一般就是用_BT,_SK,_KT,_ET这几个时间点嘛...内置是为了不同脚本间的衔接写的代码才很长,你去看完整特效里的时间定义,一般很少有那么麻烦的时间定义也就是说,只要能做到你想要的效果,时间方面你怎么弄都行

Rank: 4

发表于 2013-1-29 18:38:53 |显示全部楼层
渣渣疯子 发表于 2013-1-29 18:17
自己写特效的话,一般就是用_BT,_SK,_KT,_ET这几个时间点嘛...内置是为了不同脚本间的衔接写的代码才很长 ...

嘎哦。。0.0明白了。。终于知道怎么定时间了。。感谢轴神大大。。。看内置特效。。以为定时间很难呢。。。。对了乃们大大写特效。。为什么要获取第一个特效的坐标什么的0.0?

Moderator

疯子

Rank: 5Rank: 5

发表于 2013-1-29 19:27:39 |显示全部楼层
爱雪音MiKu 发表于 2013-1-29 18:38
嘎哦。。0.0明白了。。终于知道怎么定时间了。。感谢轴神大大。。。看内置特效。。以为定时间很难呢。。 ...

获取第一个特效的坐标是什么?举个例子吧

Rank: 4

发表于 2013-1-29 19:51:08 |显示全部楼层
渣渣疯子 发表于 2013-1-29 19:27
获取第一个特效的坐标是什么?举个例子吧

呜咕。。不对偶打错了。。。那个。。大大们经常使用线做附加特效呀0.0。。。那个线在字幕周围转了一会儿然后就碰到字,消失0.0。。。那些特效不是需要获取特效的第一个坐标呀0.0?。。。偶想学习一下线的使用。。学了这么久准备编写一个特效。。也非常喜欢那个线的特效的说

Moderator

疯子

Rank: 5Rank: 5

发表于 2013-1-29 20:24:04 |显示全部楼层
爱雪音MiKu 发表于 2013-1-29 19:51
呜咕。。不对偶打错了。。。那个。。大大们经常使用线做附加特效呀0.0。。。那个线在字幕周围转了一会儿 ...

http://www.tcax.org/forum.php?mo ... &extra=page%3D1你是想问bezier曲线么?这里有教程

Rank: 4

发表于 2013-1-29 20:46:06 |显示全部楼层
渣渣疯子 发表于 2013-1-29 20:24
http://www.tcax.org/forum.php?mod=viewthread&tid=178&extra=page%3D1你是想问bezier ...

啊呜。。。谢谢的说。。。立刻研究
您需要登录后才可以回帖 登录 | 新人加入

GitHub|TCAX 主页

GMT+8, 2024-4-18 21:29

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部
RealH