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

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

【影kage】新手特效隨便記 [复制链接]

Rank: 4

跳转到指定楼层
楼主
发表于 2013-4-20 20:56:55 |只看该作者 |正序浏览
本帖最后由 影kage 于 2013-4-23 21:38 编辑

個人履歷
=======
待過:微笑字幕組、鈴風字幕組、TUC
(因為都是TW的組,也許大家都沒聽過)
主要工作:字幕特效

首先終於能夠用TCAX產生特效了
(學會如何用TCAX 就算不會寫腳本 也要會用)

提過去的經驗 之前拿到TCAX連用都不會用
然後又分成很多檔案 也不知在做什麼
加上簡體和繁體OS系統 似乎又有些編碼問題
程式開啟來也不知怎麼做
然後家裡的網路連TCAX速度很慢...

感謝之前寫的說明
後來總算把特校給產生出來了
只不過不支援otf的字體...變成說產生出來的特效還要再調

對本人來說 TCAX是新手 python語法 連碰都沒碰過

過去的特效都是用Aegisub內建的函數產生出來的

拿幾個範例 (如果圖看不道 請mail給我 不知道Photobucket有沒有被河蟹掉)

附上過去的作品 (非使用TCAX)
其實能看的不多wwwww
(社團 歌謠祭用歌 非字幕組)


(天使&微笑&THK TARITARI OP)
6

查看全部评分

Rank: 4

7#
发表于 2013-5-13 14:01:40 |只看该作者
目前成果...
rgs_ed_demo1.PNG
還有一些地方還要再調整
太多行字幕跑到Aegisub快當掉了(電腦差吧)

剛剛看了大家的代碼...
有一點看不懂...可能要花點時間消化吧~~
說實在的幾乎大部分都是數學公式

Rank: 4

6#
发表于 2013-5-7 21:39:50 |只看该作者
本帖最后由 影kage 于 2013-5-8 09:29 编辑

各位好久不見
最近突然變得比較忙~沒什麼時間發文

Aegusub的上小字(注音)功能還不錯用
但是到了TCAX 似乎沒這功能...
(當然是希望如果有的話更好...)
那麼怎麼辦呢...

以下是個人想到的辦法
因為TCAX腳本寫法很自由
所以也不會太難 是用字典就可以辦到了

1.宣告一個全域變數_Furi來存小字部分
及定義2維字典來看哪些漢字要上假名注音
例如:小字在第8行字幕第1.2個字
(tcaxPy_Init()函式內)
  1.     global _Furi
  2.     _Furi = { 7: {0: "わ", 1: "け" } }
复制代码
2.定義一個函式來確認該字是否有小字部分注音
  1. def has_Furi(_i,_j):
  2.     if _i in _Furi:
  3.         return (_j in _Furi[_i])
  4.     return False
复制代码
3.印出小字
(tcaxPy_Main()函式內)
  1.     if has_Furi(_i,_j):
  2.         EFT = pos(_x, _y - (_Fs / 2) - 5) + fs(_Fs / 2)
  3.         ass_main(ASS_BUF, SubL(ts, te,1), EFT, _Furi[_i][_j])
复制代码
以下為成果
ts和te請自行定義...

furi.PNG
有更好的方法歡迎提出

註:Aegisub小字功能在這邊 http://docs.aegisub.org/3.0/Furigana_karaoke/

1

查看全部评分

Rank: 4

5#
发表于 2013-4-28 18:34:32 |只看该作者
本帖最后由 影kage 于 2013-4-28 23:25 编辑

因為rh那邊做伺服器轉移的關係
一直上不了網站....
之後再貼後來研究的成果吧

彩虹特效~
雖然不知道為什麼
TCAX似乎沒有HSV轉RGB的語法
所以只好使用colorsys中的hsv_to_rgb(h, s, v)函數
全部說明見這邊~~
在這模組所有參數的最小值為0 最大值為1 所以要轉換一下
colorsys.hsv_to_rgb(h, s, v)
Convert the color from HSV coordinates to RGB coordinates.

不過我import進去python似乎沒有抓到這檔案 Lib裡面也沒看到...
所以只好找原始碼把這函數拷進去 (如果有更好的方法歡迎指正)
語法下
  1. def hsv_to_rgb(h, s, v):
  2.     if s == 0.0: return v, v, v
  3.     i = int(h*6.0) # XXX assume int() truncates!
  4.     f = (h*6.0) - i
  5.     p = v*(1.0 - s)
  6.     q = v*(1.0 - s*f)
  7.     t = v*(1.0 - s*(1.0-f))
  8.     if i%6 == 0: return v, t, p
  9.     if i == 1: return q, v, p
  10.     if i == 2: return p, v, t
  11.     if i == 3: return p, q, v
  12.     if i == 4: return t, p, v
  13.     if i == 5: return v, p, q
  14.     # Cannot get here
复制代码
然後我們以h(色相)作為變量來輸出彩虹的顏色
  1. for i in range(num):
  2.     rgb = hsv_to_rgb(i / num, 1.0, 1.0)  #HSV轉RGB
  3.     dcolor = FmtRGB(int(rgb[0] * 255), int(rgb[1] * 255), int(rgb[2] * 255)) #進行數值轉換
  4.     #之後特效處理
复制代码
2

查看全部评分

Rank: 4

地板
发表于 2013-4-23 21:27:17 |只看该作者
本帖最后由 影kage 于 2013-4-23 21:28 编辑

n2.png
扭曲文字
原本打算用\clip+\fax來做
但因為位移的方式不會算
所以改成用\clip+\fscx
(據說用像素字比較省資源)

其他的~之後有空再說
1

查看全部评分

Rank: 4

板凳
发表于 2013-4-22 12:21:20 |只看该作者
本帖最后由 影kage 于 2013-4-22 12:44 编辑

簡單的in out修改~~
補上腳本 目前都拿預設內置腳本當範本
附件如下
kgt_base01.zip (2.11 KB, 下载次数: 1646)

in_kgt001/out_kgt001
樓上所講的部分~隨機逐字淡入淡出
kgt01.PNG
語法跟LUA差很多...
用python只需要一個shuffle就能做到了

out_kgt002
模糊分散 (語法+原理不難 過去常用)
kgt02.PNG
完全移植~~~
loop:每個字的loop數
offset:每個字之間 座標的位移間距

目前都是測試的腳本~有要用的人自行研究吧
等之後熟悉了再發布正式的腳本
標頭會改成in_kgXXX
2

查看全部评分

Rank: 4

沙发
发表于 2013-4-21 21:02:58 |只看该作者
本帖最后由 影kage 于 2013-4-21 22:03 编辑

腳本試改  因為是新手
說實在python我連碰都沒碰過
只花一個晚上把python語法簡單瀏覽過

目前成果把逐字淡入淡出 改成 逐字隨機淡入淡出

語法如下

tcaxPy_Init: 補上
  1.     global _testn
  2.     global _rij  #存入洗亂後的表格用的list
  3.     _testn = GetVal(val_nTexts)
  4.     _rij = []  #_rij初始化
  5.     for i in range(GetVal(val_nLines)):
  6.         _rij.append(list(range(_testn[i]))) #產生每行的list並加到_rij裡面
  7.         shuffle(_rij[i]) #洗亂順序
复制代码
Aegisub LUA似乎沒 shuffle函數 所以得要自己弄...不過python可以自己完成

lead-in 修改的部分
把ts的_j改成_rij[_i][_j] 代入洗亂過的順序
tcaxPy_Main:
  1. ts = _start + _rij[_i][_j] * time_fac * _FD / 10 - time_gap * _FD / 10 - duration / 10
  2. te = _start + _j * time_fac * _FD / 10 - time_gap * _FD / 10
复制代码
lead-out 修改的部分
把te的_j改成_rij[_i][_j] 代入洗亂過的順序
tcaxPy_Main:
  1. ts = _end - (_n - _j - 1) * time_fac * _FD / 10 + time_gap * _FD / 10
  2. te = _end - (_n - _rij[_i][_j] - 1) * time_fac * _FD / 10 + time_gap * _FD / 10 + duration / 10
复制代码
之後打算把之前常用的Aegisub腳本移植到TCAX上
要用實再拿來用 感覺 還蠻方便的

不過突然發現TCAX沒小字的功能 所以之後有小字的話
可能要分別處理 透過
目前想法是 Aegisub +TCAX
先用Aegisub把小字和一般的字幕分開
再用TCAX上特效
所以會有兩SYL檔
2

查看全部评分

您需要登录后才可以回帖 登录 | 新人加入

GitHub|TCAX 主页

GMT+8, 2024-11-22 09:53

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部
RealH