Tải bản đầy đủ (.pdf) (50 trang)

Hướng dẫn viết effect cơ bản

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.72 MB, 50 trang )

Tác giả : Hoa Mẫu Đơn
Facebook: />Forum: />Vui lòng nếu leech ra ngoài nhớ ghi rõ nguồn gốc 

-----------------------------------------------------------------------------------------------------

Muốn đọc hiểu được những cách viết trong này, trước tiên các bạn hãy
đọc hiểu các tag của Aegisub 2.1.9 và đọc qua bài hướng dẫn viết 1 số
dạng hiệu ứng đơn giản trong Aegisub:
Link down Aegisub 2.1.9:
/>or:
/>AviSynth 2.6.0:
/>VS%202.6.0%20Alpha%203%20%5B110525%5D/AviSynth_110525.exe/
download
Tag: />Hướng dẫn: />Nếu ai giỏi tiếng anh, có thể luyện hết phần Automation bên forum Aegisub.org:
/>

Hướng dẫn thêm VSFIlterMod vào Aegisub 2.1.9:
/>Các bạn làm theo các bước trong video để không bị lỗi nhé

Thật tình mà nói, với những effect phức tạp 1 chút, việc đưa code không
giúp được ai cái gì cả, người làm effect rất nhiều khi viết code rất lung
tung (như tớ) và đọc cũng rất khó hiểu (nếu không muốn nói là như tớ hồi
trước là beginner đọc mấy cái script ví dụ không hiểu được chút gì), đưa
cái mớ code cho những người muốn học hỏi chỉ làm họ bị confused và
nhiều khi nản nữa
không chỉ vậy, nhiều effector không muốn đưa code cho ai, buộc họ đưa
code ra chỉ làm ít người muốn post vô đây hơn thôi
vì thế tớ thấy thay vì bắt buộc đưa code, tớ thấy cậu nên khuyến khích
người ta giải thích cách làm 1 effect nào đó (dùng các override tag nào,
cách tìm ý tưởng cho effect ra sao,...) thì hay hơn, không cần yêu cầu code
làm gì



Phép tính đặt trong hai dấu chấm than !...!
- Tính bất kỳ hai số -1 và 1 (Nhân thêm để tăng độ lớn)
!(math.random(0,1)*2-1)!
- Tính ra hai số -1 và 1 lần lượt nhau
!(($si%2)*2-1)!
- Tính tăng dần từ trái qua phải, nhân 10 hoặc tùy ý để tăng độ lớn. Bỏ -1
nếu muốn bắt đầu là 0
!($si-1)*10!


- Từ phải qua trái Bỏ +1 nếu muốn kết thúc là 0
!($syln-$si+1)*10!

Bắt đầu
FX1:


Ý tưởng fx như sau: khi hát đến syl nào thì sẽ có một thanh kiếm gỗ đập
vào syl đó, làm chữ co lại đồng thời bắn "sao" ra ngoài
Đây là hình vẽ cây kiếm gỗ
Code:


Comment: 0,0:00:00.00,0:00:00.00,Default,,0000,0000,0000,code
once,bambooblade ="m 30 56 b 32 60 36 60 38 56 l 38 15 l 30 15 m 18 12
l 50 12 l 50 9 l 18 9 m 30 6 l 33 6 l 33 -57 l 30 -57 m 38 6 l 35 6 l 35 -57 l
38 -57 m 38 -60 l 30 -60 l 30 -77 l 38 -77 m 38 -80 l 38 -120 l 35 -120 l 35
-80 m 30 -80 l 33 -80 l 33 -120 l 30 -120 m 38 -123 l 30 -123 l 30 -140 b
32 -145 36 -145 38 -140"

Còn đây là ngôi sao
Code:
Comment: 0,0:00:00.00,0:00:00.00,Default,,0000,0000,0000,code
once,stardust = "m -50 0 b -17 -1 -6 -1 -8 -6 b -1 -6 -1 -17 0 -50 b 1 -17 1
-6 8 -6 b 6 -1 17 -1 50 0 b 17 1 6 1 8 6 b 1 6 1 17 0 50 b -1 17 -1 6 -8 6 b 7 0 -17 1 -50 0"
Hai hình này vẽ bằng ass draw
Về khoản syl co lại, các bạn dùng tag \t để chuyển scale của chữ, đại loại
là thế này
Code:
Comment: 0,0:00:00.00,0:00:00.00,Romaji,,0000,0000,0000,template syl
noblank,!retime("syl",0,0)!{\an5\blur4\pos($scenter,$smiddle)\alpha&H0
0&\1c!line.styleref.color1!\3c!line.styleref.color3!\fscx100\fscy100\t(0,!$s
dur*0.3!,\1c!line.styleref.color3!\3c!line.styleref.color2!\fscx80\fscy80\blu
r6)\t(!$sdur*0.3!,$sdur,\1c!line.styleref.color1!\3c!line.styleref.color3!\bl
ur4\fscx100\fscy100)}
Về thanh kiếm gỗ, muốn tạo hiệu ứng cho nó giống như đập xuống, tớ cho
nó thay đổi \frz trong khoảng thời gian syl được hát
Code:
Comment: 0,0:00:00.00,0:00:00.00,Romaji,,0000,0000,0000,template syl
noblank
notext,!retime("syl",0,0)!{\an5\blur4\pos(!$scenter+80!,!$smiddle+55!)\al
pha&H00&\1c!line.styleref.color1!\3c!line.styleref.color3!\fscx45\fscy45\


bord0.5\frz!math.random(35,45)!\t(0,!$sdur*0.4!,\frz!math.random(80,85)
!)\p1}!bambooblade!
Ngôi sao bắn ra thì dùng lệnh move cho hình vẽ ngôi sao
Code:
Comment: 0,0:00:00.00,0:00:00.00,Romaji,,0000,0000,0000,template syl
noblank notext loop

10,!retime("syl",0,100)!{\an5\blur2\fad(0,200)\move(!$scenter+10!,!$smi
ddle+25!,!$scenter+math.random(-100,100)!,!$smiddle+math.random(50,100)!)\1c&HFFFFFF&\fscx40\fscy40\alpha&H00&)\bord0\shad0\p1}
!stardust!
Còn nhiều thứ khác nữa như hiệu ứng chữ to hay nhỏ thì cây kiếm cũng to
hay nhỏ theo, cái này dùng fxgroup và nó khá lằng nhằng, tớ bận quá
không có thời gian hướng dẫn trên này.
share code lại đụng tới vấn đề đọc ko hiểu, mà thôi, chúc các cậu sáng tạo
thêm fx mới từ ý tưởng này

FX2:
Chuyển nhiều màu liền nhau cho một dòng sub. Chỉnh lại vị trí \clip giữa
line.left và line.right nếu muốn add thêm màu, thêm màu thêm dòng
MultiColorTransform
Original scrpit: ezgradient by Ai-chan
Update: Hoa Mẫu Đơn
Code:
Comment:
0,0:00:00.00,0:00:00.00,Default,MutilColorTransform,0000,0000,0000,,{
Change first color in after line same last color in before line, change


clipping position if you want add more color; Orginal script by Ai-chan,
Update by jofori89}
Comment: 0,0:00:00.00,0:00:05.00,Default,,0000,0000,0000,template
loop 20 keeptags,{\pos($x, $y)\clip(!_G.interpolate((j-1)/maxj, $lleft-3,
$lleft+$lwidth/3)!, $ltop, !_G.interpolate(j/maxj, $lleft-3,
$lleft+$lwidth/3)!, $lbottom)\c!_G.interpolate_color(j/maxj,
"&HFFC8A0&", "&H00FFFF&")!}
Comment: 0,0:00:00.00,0:00:05.00,Default,,0000,0000,0000,template
loop 20 keeptags,{\pos($x, $y)\clip(!_G.interpolate((j-1)/maxj,

$lleft+$lwidth/3, $lright-$lwidth/3)!, $ltop, !_G.interpolate(j/maxj,
$lleft+$lwidth/3, $lright-$lwidth/3)!,
$lbottom)\c!_G.interpolate_color(j/maxj, "&H00FFFF&",
"&H0000FF&")!}
Comment: 0,0:00:00.00,0:00:05.00,Default,,0000,0000,0000,template
loop 20 keeptags,{\pos($x, $y)\clip(!_G.interpolate((j-1)/maxj, $lright$lwidth/3, $lright+3)!, $ltop, !_G.interpolate(j/maxj, $lright-$lwidth/3,
$lright+3)!, $lbottom)\c!_G.interpolate_color(j/maxj, "&H0000FF&",
"&H000000&")!}
Dialogue:
0,0:00:05.00,0:00:15.00,Default,,0000,0000,0000,karaoke,...This is
template to transfrom four colors...
Kara template:
/>Một cái lặt vặt khác, không có tên cứ tạm gọi là Soft blur vậy
Code:
Comment: 1,0:00:00.00,0:22:23.74,Default,,0000,0000,0000,template
pre-line mainfx,!retime("line",120,120)!{\fad(70,70)\shad0\t(70,120,\shad!line.styleref.shadow!\bord!lin
e.styleref.outline*2!)\t(!$ldur+120!,!$ldur+24070!,\shad0\bord!line.styleref.outline!}{\k12}
Comment: 0,0:22:23.74,0:22:23.74,Default,,0000,0000,0000,template line
mainfx,{\k!(syl.duration>500) and "f" or ""!$kdur}


Comment: 0,0:00:00.00,0:00:00.00,Default,loop,0000,0000,0000,template
noblank loop 5,{\be2}!retime("syl", j*20, j*20)!{\shad0\move($x, $y,
!$x+15!, !$y+15!)\alpha&H40\t(\alpha&HFF&)}
Comment: 0,0:00:00.00,0:00:00.00,Default,loop,0000,0000,0000,template
noblank loop 5,{\be2}!retime("syl", j*20, j*20)!{\shad0\move($x, $y, !$x15!, !$y+15!)\alpha&H40\t(\alpha&HFF&)}
Comment: 0,0:00:00.00,0:00:00.00,Default,loop,0000,0000,0000,template
noblank loop 5,{\be2}!retime("syl", j*20, j*20)!{\shad0\move($x, $y,
!$x+15!, !$y-15!)\alpha&H40\t(\alpha&HFF&)}
Comment: 0,0:00:00.00,0:00:00.00,Default,loop,0000,0000,0000,template

noblank loop 5,{\be2}!retime("syl", j*20, j*20)!{\shad0\move($x, $y, !$x15!, !$y-15!)\alpha&H40\t(\alpha&HFF&)}
Comment: 0,0:00:00.00,0:00:00.00,Default,loop,0000,0000,0000,template
noblank loop 5,{\be2}!retime("syl", j*35, j*35)!{\shad0\move(!$x+15!,
!$y+15!, $x, $y)\alpha&HFF\t(\alpha&H40&)}
Comment: 0,0:00:00.00,0:00:00.00,Default,loop,0000,0000,0000,template
noblank loop 5,{\be2}!retime("syl", j*35, j*35)!{\shad0\move(!$x-15!,
!$y+15!, $x, $y)\alpha&HFF\t(\alpha&H40&)}
Comment: 0,0:00:00.00,0:00:00.00,Default,loop,0000,0000,0000,template
noblank loop 5,{\be2}!retime("syl", j*35, j*35)!{\shad0\move(!$x+15!,
!$y-15!, $x, $y)\alpha&HFF\t(\alpha&H40&)}
Comment: 0,0:00:00.00,0:00:00.00,Default,loop,0000,0000,0000,template
noblank loop 5,{\be2}!retime("syl", j*35, j*35)!{\shad0\move(!$x-15!,
!$y-15!, $x, $y)\alpha&HFF\t(\alpha&H40&)}
Comment:
0,0:00:00.00,0:00:05.00,Default,,0000,0000,0000,karaoke,{\k35}Shi{\k68
}n{\k29}ji{\k25}ru

FX3:
Nói chi tiết thì nó thế này.
- Đặt \an8 để hiệu ứng xoay \t(\frx) theo kiểu lật, cũng có thể đặt
\org($scenter, $stop) vào cũng được. Dùng !retime("start2syl", -400+($si-


1)*20, 0)! để tính thời gian giảm lần lượt bắt đầu sớm với line 400ms,
cách quãng 20ms (các số có thể khác chút) để chữ lật lần lượt từ trái qua
phải.
Code:
template noblank: !retime("start2syl", -400+($si-1)*30,
0)!{\an8\shad0\3c&HFFFFFF\c!line.styleref.color2!\frx-180\t(0, 400,
\frx0)\pos($scenter, $stop)\fad(150, 0)}

- Cũng đặt \an7 để chữ giãn theo chiều xuống dưới và sang ngang, đặt
thời gian tăng kích thước, mờ viền và chuyển màu trắng nhỏ hơn với khi
co về trở lại style cũ. Các hình trái tim là \move tùy ý và lặp lại mấy lần và
\fad. Thế này chẳng hạn:
Code:
Layer 2 (nằm trên)
template noblank: !retime("syl", 0, 0)!{\an7\shad0\3c&HFFFFFF\t(0,
!$dur/3!, \fscx150\fscy150\be2\c&HFFFFFF)\t(!$dur/3!, $dur,
\fscx100\fscy100\be0\c!line.styleref.color2!)\pos($sleft, $stop)}
Layer 0
template notext noblank loop 5: !retime("syl", 0,
2000)!{\an8\be1\shad0\3c&HFFFFFF\move(!$scenter+math.random($sl
eft, $sright)!, $stop, !$scenter+math.random(-5, 5)*5!,
!$stop+math.random(-5, 5)*5!)\fad(0, 250)\p1}m 16 30 b 28 22 30 18 30
14 b 32 8 22 -2 16 10 b 10 -2 0 8 2 14 b 2 18 4 22 16 30{\p0}
- Phần còn lại chả có gì đặc biệt chỉ cần \fad(0, 150)
Code:
template noblank: !retime("syl2end", 0,
50)!{\an8\shad0\3c&HFFFFFF\c!line.styleref.color2!\pos($scenter,
$stop)\fad(0, 150)}


Tổng thể là như này:
Code:
Comment: 1,0:00:00.00,0:00:05.00,Default,,0000,0000,0000,template
noblank,!retime("start2syl", -400+($si-1)*30, 0)!{\an8\org($scenter,
$stop)\shad0\3c&HFFFFFF\c!line.styleref.color2!\frx-180\t(0, 400,
\frx0)\pos($scenter, $stop)\fad(150, 0)}
Comment: 2,0:00:00.00,0:00:05.00,Default,,0000,0000,0000,template
noblank,!retime("syl", 0,

0)!{\an7\shad0\3c&HFFFFFF\c!line.styleref.color2!\t(0, !$dur/4!,
\fscx150\fscy150\be2\c&HFFFFFF)\t(!$dur/4!, $dur,
\fscx100\fscy100\be0\c!line.styleref.color1!)\pos($sleft, $stop)}
Comment: 1,0:00:00.00,0:00:05.00,Default,,0000,0000,0000,template
noblank,!retime("syl2end", 0,
50)!{\an8\shad0\3c&HFFFFFF\c!line.styleref.color1!\pos($scenter,
$stop)\fad(0, 150)}
Comment: 0,0:00:00.00,0:00:05.00,Default,,0000,0000,0000,template
notext noblank loop 5,!retime("syl", 0,
2000)!{\an5\be1\c&H9D7AE4&\fscx50\fscy50\shad0\3c&HFFFFFF\mov
e(!$scenter+math.random(-$swidth, $swidth)!, !$stop+math.random(0,
$sheight)!, !$scenter+math.random(-5, 5)*10!, !$stop+math.random(-5,
5)*10!)\fad(100, 500)\p1}m 16 30 b 28 22 30 18 30 14 b 32 8 22 -2 16 10
b 10 -2 0 8 2 14 b 2 18 4 22 16 30{\p0}
Comment:
0,0:12:43.45,0:12:49.66,Default,,0000,0000,0000,karaoke,{\k28}Ki{\k23}
no{\k25}u {\k22}no {\k25}E{\k51}ga{\k24}o {\k46}U{\k27}tsu{\k46}ri
{\k71}Ya{\k30}ke{\k24}ni {\k25}Ka{\k23}na{\k28}shi{\k103}i
Comment:
0,0:12:50.01,0:12:58.80,Default,,0000,0000,0000,karaoke,{\k27}O{\k25}
na{
FX4:



Comment: 0,0:00:00.00,0:00:00.00,edromaji,,0000,0000,0000,code
once,colorc = {"&H9AC7E2&", "&HCAC5E7&", "&HEBD3C1&",
"&HE3BAD7&", "&HD3E4C6&"}
Comment: 0,0:00:00.00,0:00:00.00,edromaji,,0000,0000,0000,code
syl,textcolor = colorc[math.random(5)]

Comment: 0,0:00:00.00,0:00:00.00,edromaji,,0000,0000,0000,template
noblank fxgroup k,!retime("start2syl", -250,
0)!{\fsp0\4a&HFF\an5\pos($scenter,
$smiddle)\c&HFFFFFF\3c!line.styleref.color3!\fad(250, 0)}
Bắt đầu sớm hơn thời gian thực 250 milisec nhờ khai báo -250 trong
retime("start2syl", -250, 0) để dành thời gian cho \fad(), màu viền \3c là
màu ô thứ 3 trong style đã tạo !line.styleref.color3!
Comment: 2,0:00:00.00,0:00:00.00,edromaji,,0000,0000,0000,template
noblank fxgroup k,!retime("syl", 0, 0)!{\fsp0\4a&HFF\an5\pos($scenter,
$smiddle)\bord1.5\c!textcolor!\3c&HFFFFFF\t(0, 150,
\fscx135\fscy135)\t(0, !0.15*$dur!, \frz!(($si%2)*2-1)*15!\t(!0.25*$dur!,


!0.40*$dur!, \frz0\t(!0.50*$dur!, !0.75*$dur!, \frz!(($si%2)*2-1)*15!\t(!0.85*$dur!, $dur, \frz0))))}
Comment: 0,0:00:00.00,0:00:00.00,edromaji,,0000,0000,0000,template
noblank fxgroup k,!retime("syl", 0,
0)!{\fsp0\1a&H00\3a&HFF\4a&H00\an5\bord0\t(0, 150,
\fscx160\fscy160)\pos(!$scenter+math.random(-2, 3)!,
!$smiddle+math.random(-3,
3)!)\c!line.styleref.color4!\4c!line.styleref.color4!\t(0, !0.15*$dur!, \frz15\t(!0.25*$dur!, !0.40*$dur!, \frz0\t(!0.50*$dur!, !0.75*$dur!,
\frz15\t(!0.85*$dur!, $dur, \frz0))))}
Lấy một màu tùy ý trong nhóm colorc đã khai báo bên trên nhờ textcolor
= colorc[math.random(5)] cho \c để đổi màu.
\t(0, 150, \fscx135\fscy135) cái này để làm chữ to dần lên 135%
[B]\t(0, !0.15*$dur!, \frz![b](($si%2)*2-1)*15!\t(!0.25*$dur!,
!0.40*$dur!, \frz0\t(!0.50*$dur!, !0.75*$dur!, \frz!(($si%2)*2-1)*15!\t(!0.85*$dur!, $dur, \frz0)))) Phần này để cho chữ lắc qua lắc lại
quanh tâm, 15% thời gian đầu sẽ nghiêng 15 độ, đến 40% sẽ về 0 độ, đến
75% thời gian chữ sẽ nghiêng 15 độ về phía bên kia, rồi đến 100% thời
gian thì lại về 0. ($si%2)*2-1) cái này để tính ra các số +1, -1 lần lượt
nhau để cho qua mỗi âm chữ lại đổi chiều nghiêng, qua bên trái trước

hoặc qua bên phải trước.

Comment: 0,0:00:00.00,0:00:00.00,edromaji,,0000,0000,0000,template
noblank fxgroup k,!retime("syl2end", 0,
0)!{\fsp0\an5\bord1\shad0\move($scenter, $smiddle, !$scenter-50!,
!$smiddle+5!, 250, 1000)\c!textcolor!\3c&HFFFFFF\t(50, 250,
\c!line.styleref.color1!\3c!line.styleref.color3!\t(250, 1000, \alpha&HFF)}
Sau khi đã lắc qua lắc lại chữ sẽ di chuyển sang bên phải 50 pixel, xuống
dưới 5 pixel so với vị trí gốc nhờ tag \move trong thời gian 250 đến 1000.
Màu sắc vẫn giữ y nguyên cái gì mà textcolor đã tính được ở trên rồi sau


50 đến 250 thì đổi sang màu 1 \t(50, 250, \c!line.styleref.color1! và biến
mất
FX5:
- Để chữ xuất hiện đều như vậy thì cũng time như time kara, rồi + thêm
khoảng 50 mili giây cho mỗi syl
Code:
!retime("start2syl",-350+($si-1)*50,0)!
-350 ở đây là khoảng thời gian bù chữ của syl xuất hiện muộn so với lúc
bắt đầu của line gốc (-350 là mình ước lượng thế)
- Kế đến ta để chữ bắt đầu = việc mờ đi 1 khoảng \blur2 và \fad(450,0)
- Ở đây chữ sẽ bắt đầu xuất hiện nằm ngang theo trục x một khoảng
\frx180, lúc đó cỡ chữ chắc cũng khoảng \frcx60\frcy60.
- Sau đó, trong khoảng thời gian 700, ta để chữ xoay từ \frx180 về bình
thường \frx0, cỡ chữ cũng về bình thường \frcx100\frcy100
Đại khái nó là thế, còn đây là code:
Code:
Comment: 1,0:00:01.00,0:00:05.88,Default,,0000,0000,0000,template
noblank,!retime("start2syl",-350+($si1)*50,0)!{\an5\blur2\fad(450,0)\pos($scenter,$smiddle)\c!line.styleref.col

or1!\fscx60\fscy60\frx180\t(0,700,\frx0\fscx100\fscy100)}
Còn đoạn Oh! Oh thì khá đơn giản:
- Để sub xuất hiện = việc bắn từ phải sang ta để cho điểm xuất phát ở bên
phải cách trung tâm 1 khoảng = 100
Code:
Comment: 0,0:00:00.16,0:00:00.16,Default,,0000,0000,0000,Template
char
noblank,!retime("start2syl",0,0)!{\an5\blur1.5\move(!$scenter+100!,$smi
ddle,$scenter,$smiddle,0,200)\fad(200,0)\c!line.styleref.color1!}


- Về đoạn eff, ta tạo 2 line với layer giống nhau:
+ Line đầu tiên ta để sub xuất hiện bình thường:
Code:
Comment: 2,0:00:00.00,0:00:00.00,Default,,0000,0000,0000,template
noblank,!retime("syl",0,0)!{\an5\blur1.5\pos($scenter,$smiddle)}
\blur có hay ko thì tùy.
+ Line thứ 2 ta để cho chữ bắn to ra với khoảng \fscx170\fscy170 trong
khoảng thời gian \t đồng thời cho trong suốt với \1a&H90& và sau ~150
nó sẽ mờ đi với \fad(0,150)
Cụ thể thì nó sẽ như thế này:
Code:
Comment: 2,0:00:00.00,0:00:00.00,Defalut,,0000,0000,0000,template
noblank,!retime("syl",0,0)!{\an5\blur1.5\1a&H90&\pos($scenter,$smiddle
)\frz0\fscx100\fscy100\t(\fscx170\fscy170)\fad(0,150)}
- Lead out của nó thì để bình thường thôi, mờ đi trước khi hết time line đó
1 khoảng 200 = \fad(0,200)
Code:
Comment: 1,0:00:00.00,0:00:00.00,Default,,0000,0000,0000,template
noblank,!retime("s


FX6:
- Đoạn Lead in:
+ Chữ bắt đầu rơi tư phía trên xuống một khoảng -50 và bắn từ phải sang
một khoảng +80
Code:
Comment: 1,0:00:01.00,0:00:05.88,Default,,0000,0000,0000,template
noblank char,!retime("start2syl",-350+($si1)*50,0)!{\an5\move(!$scenter+80!, !$smiddle-50!, $scenter,


$smiddle,0,200\fad(350,0)\c!line.styleref.color1!}
Ở đây đặt ô effect là Template noblank char để eff đc áp dụng lên mỗi
chữ
- Đoạn eff thì đại khái nó như sau:
+ Trong khoảng thời gian từ 0 tới 50% của tiếng hát (0,!0.5*$dur!), chữ
sẽ xoay theo đường tròn có tâm ở tọa độ (10000, $smiddle) với một góc
cực nhỏ âm 0.15 độ nên sẽ tạo cho ta cảm giác như chữ chạy thẳng, cùng
lúc đó ta để cỡ chữ bình thường theo trục \fscrx100 và kéo dài lên 1
khoảng \frcy170
+ Kế tiếp ta đặt trong khoảng \t tiếp theo từ 60% thời gian của tiếng hát
tới toàn bộ phần thời gian còn lại (!$dur*0.60!, $dur) góc của đường tròn
sẽ về lại bình thường \frz0, đồng thời cỡ chữ sẽ phình ra 1 khoảng
\frcx150 và lùn đi 1 khoảng \frcy50.
Code:
Comment: 2,0:00:00.00,0:00:00.00,Default,,0000,0000,0000,template
noblank,!retime("syl", 0, 0)!{\an5\move($scenter, $smiddle, $scenter,
$smiddle, 0, 200)\org(10000, $smiddle)\t(0, !$dur*0.50!, \frz0.15\fscx100\fscy170)\t(!$dur*0.60!, $dur, \frz0\fscx150\fscy50)}
- Đoạn lead out:
+ Sau khi chạy eff, chữ sẽ đi tiếp từ phải ~> trái 1 khoảng -100 và "bay"
lên 1 khoảng -80. Trong khoảng từ 0 tới 50% thời gian câu hát, chữ sẽ

xoay 1 góc -45 độ và mờ đi trước khi hết time là 500
Code:
Comment: 1,0:00:00.00,0:00:00.00,Default,,0000,0000,0000,template
noblank,!retime("syl2end",0,0)!{\an5\move($scenter, $smiddle, !$scenter100!, !$smiddle-80!,1000,0)\t(0,!0.5*$dur!, \frz-45\fad(0,500)}

Phần vietsub thì như sau:
- Ta tạo 2 lead in với layer giống nhau:


+ Layer 1 set màu cho trắng \c&HFFFFFF& và có viền đen hơi đậm 1
chút \bord1\3c&H000000&.
Code:
Comment: 0,0:00:03.95,0:00:03.95,Default,,0000,0000,0000,template
char
noblank,!retime("start2syl",0,0)!{\an5\be1\pos($scenter,$smiddle)\c&HF
FFFFF&\bord1\3c&H000000&}
+ Layer 2 ta để thời gian bù chữ sớm hơn là -350 với quãng 60 cho mỗi
syl
Code:
!retime("start2syl",-300+($si-1)*60,0)!
+ Lúc đầu chữ sẽ sáng nhẹ với \1c&HFFFFFF&\3c&HFFFFFF&\bord1.
Tiếp đến trong khoảng từ 0 tới 200 thời gian của tiếng hát, chữ sẽ phình to
ra 1 chút khoảng \fscx110\fscy100 đồng thời sẽ sáng lóa lên với
\1c&HFFFFFF&\bord2\3c&HFFFFFF&. Để cho màu về từ từ với lúc
ban đầu ta đặt trong khoảng \t tiếp từ 200 cho tới 1000 thời gian của tiếng
hát, chữ sẽ co về bình thường \fscx100\fscy100 đồng thời màu cũng về ban
đầu với \bord0.
Code:
Comment: 0,0:00:03.95,0:00:03.95,Default,,0000,0000,0000,template
char noblank,!retime("start2syl",-300+($si1)*60,0)!{\an5\pos($scenter,$smiddle)\1c&HFFFFFF&\3c&HFFFFFF&

\bord1\t(0,200,\fscx110\fscy110\1c&HFFFFFF&\bord2\3c&HFFFFFF&
)\t(200,1000,\fscx100\fscy100\bord0\}
Chú ý: Ở đây đặt ô eff là template char noblank để eff đc set cho từng
chữ
- Phần eff ta chỉ set cho đồng màu với lead in:
Code:
Comment: 0,0:00:03.95,0:00:03.95,Default,,0000,0000,0000,template syl


noblank,!retime("syl",0,0)!{\an5\be1\pos($scenter,$smiddle)\1c&HFFFF
FF&\bord1}
- Lead out cũng vậy:
Code:
Comment: 0,0:00:03.95,0:00:03.95,Default,,0000,0000,0000,template syl
noblank,!re

FX7:
Tạo 1 leadin cho chữ chuyển từ 0>> !$dur/2! sét cho màu trắng và đồng
thời tăng độ sáng của viền và chữ cho đến khoảng !$dur/2!,$dur thì chữ
trở về lại với màu ban đầu tớ chọn và đồng thời giảm bord và blur
Code:
Comment: 0,0:00:00.00,0:00:02.00,Na,,0000,0000,0000,template
noblank loop 10,!retime("start2syl",-350+($si1)*30,0)!{\an5\move(!$scenter5!,!$smiddle+20!,$scenter,$smiddle,0,200)\t(0,!$dur/2!,\3c&HFFFFFF&
\2c&HFFFFFF&\1c&HFFFFFF&\blur6\bord2)\t(!$dur/2!,$dur,\3c&HF
F00FF&\blur1\bord0.5)}
Tiếp theo tạo "sylpct",0, 30 có nghĩ là từ 0 đến 30% lượng syl dùng move
tính !$smiddle+(($si%2)*2-1)*10!) sẽ ra 2 giá trị cho trục y là 1 và -1 và
*10 các chữ sẽ di chuyển theo trục y lên xuống đồng thời với 1 lượng *10.
Code:
Comment: 0,0:00:00.00,0:00:00.00,Na,,0000,0000,0000,template

noblank,!retime("sylpct",0,30)!{\an5\be1\blur10\move(!$scenter!,!$smiddl
e!,!$scenter!,!$smiddle+(($si%2)*2-1)*10!)\t(\3c
&HFF00FF&\2c&HFFFFFF&\1c&HFFFFFF&\blur2\bord0.5)\fscx100\
fscy100}
Cái này cũng giống với syl trên nên không nói thêm


Code:
Comment: 0,0:00:00.00,0:00:00.00,Na,,00 00,0000,0000,template
noblank,!retime("syl",0,0)!{\an5\be1\blur10\3c&HFF00FF&\move(!$scen
ter!,!$smiddle+(($si%2)*2-1) *10!,!$scenter!,!$smiddle!)\fscx100\fscy1
00\t(\blur1)\2c&HFFFFFF&\1c&HFFFFFF&}
Ở phần này ta dùng move cho các chữ từ vị trí *5 trục x y đến giữa trục
x,y và đồng thời chắp lại thành vòng tròn
Code:
Comment: 0,0:00:0 0.00,0:00:29.56,Na,,0000,0000,0000 ,template notext
loop 15,!retime("syl"

FX 8:
○ Về phần Lead-in:
• Cho thời gian bù chữ 1 khoảng -400, để vị trí ban đầu của chữ ở bên
phải, cách trung tâm 1 khoảng 300 (!$scenter+300) và trong
khoảng 200ms, move về vị trí trung tâm (\move(x1,y1,x2,y2,0,200).
• Màu thì vì đã set trong style nên
để \1c!line.styleref.color1! và \3c!line.styleref.color3!.
Để \bord5 và \blur10, kèm theo cho viền trong suốt 1 chút (3a&550&) để
giống background. Xuất hiện từ mờ đến rõ trong khoảng 200 (\fad(200,0).
Code:
Comment: 0,0:00:00.00,0:00:00.00,Romaji,,0000,0000,0000,Template syl
noblank,!retime("start2syl",400,0)!{\an5\3a&550&\move(!$scenter+300!,$smiddle,$scenter,$smiddle,

0,200)\1c!line.styleref.color1!\3c!line.styleref.color3!\bord5\blur10\fad(20
0,0)}
○ Về Main eff:
• Cho thời gian bù thêm là 400, lấy tổng số syl trừ đi số thứ của syl, kết
quả sẽ giảm dần cho đến 0
Code:


("syl",0,400-($syln-$si)*20)
• Từ vị trí ban đầu, cho chữ move xuống dưới 1 khoảng 30
(!$smiddle+30), set màu giống Leadi-in và đồng thời trong khoảng thời
gian \t cho chữ "chảy" xuống bằng cách tăng chiều cao của chữ 1 khoảng
280 (\fscy280) và dần dần trong suốt (\alpha&HFF&)
Code:
Comment: 0,0:00:00.00,0:00:00.00,Romaji,,0000,0000,0000,Template syl
noblank,!retime("s

FX9:
○ Trước tiên tạo Code once, gán giá trị màu để main eff chạy có random
Code:
color = {"Code màu", "Code màu", "etc"}
○ Còn đây là shape:
• Lá phong (sưu tầm từ 4rum aegisub)
Code:
m -71 -44 b -77 -58 -76 -70 -66 -80 b -61 -81 -58 -81 -54 -84 b -51 -95 -41
-99 -34 -104 b -34 -101 -34 -99 -33 -99 b -26 -101 -22 -109 -19 -114 b -20
-105 -25 -92 -20 -83 b -14 -79 21 -92 41 -99 b 31 -82 31 -69 56 -71 b 54 60 58 -55 89 -64 b 88 -60 84 -57 80 -54 b 70 -48 45 -38 53 -28 b 36 -20 20
-19 26 -6 b 32 2 50 4 57 19 b 63 22 68 24 71 26 b 50 26 46 38 69 57 b 57
62 51 66 75 82 b 60 84 40 65 43 74 b 26 72 19 74 19 95 b 13 88 11 84 10
77 b -4 72 -12 60 -26 56 b -35 60 -30 78 -37 90 b -46 87 -48 99 -48 107 b

-50 108 -50 108 -52 109 b -54 120 -57 129 -60 138 b -60 109 -66 104 -74
104 b -80 82 -93 77 -111 95 b -106 83 -104 74 -105 62 b -107 47 -104 36 108 29 b -120 25 -131 34 -143 39 b -135 30 -126 23 -120 14 b -120 8 -114
-1 -113 -9 b -101 -29 -87 -42 -74 -39 b -74 -40 -74 -42 -75 -43 b -94 -62 -


135 -133 -160 -134 b -161 -134 -162 -136 -162 -137 b -137 -143 -107 -80
-75 -45
• Giọt máu (tự sướng)
Code:
m03b005053b560603
Code:
m 1 3 b 3 -4 3 -4 5 3 b 5 7 1 8 1 3
• Sakura (tự sướng)
Code:
m 9 23 b 8 22 7 21 5 19 b 4 18 2 16 1 11 b 1 8 2 5 4 3 b 5 2 6 1 7 1 b 8 3 8
4 9 5 b 10 4 10 3 11 1 b 13 2 14 3 14 3 b 16 5 17 8 17 11 b 16 16 14 18 13
19 b 11 21 10 22 9 23
• Fireflies (tượng sứ, mà mèn, xấu vãi hà
Code:

)

m03b005053b560603
Rồi, giờ đến:
○ Lead-in
• Không có gì đáng nói, cho thời gian bù thêm khoảng -350, set màu main
theo color2, cho bord2 và xuất hiện từ mờ đến rõ trong khoảng 400ms
Code:
Comment: 0,0:00:00.00,0:00:00.00,Romaji ED,,0000,0000,0000,Template
noblank char,!retime("start2syl",-350+($si1)*50,0)!{\an5\pos($scenter,$smiddle)\fad(400,0)\1c!line.styleref.color2!\

bord2}
○ Main eff:
♦ Effect 1:
• Sau khi hết syl, vẫn để cho syl "lố" ra khoảng 500ms rồi mới biến mất
kiểu từ rõ đến mờ ~> mất hẳn (\fad(0,300), đặt ("syl",0,500). Màu main


không set nên mặc định sẽ là color1 theo style, cho viền random màu với
mỗi syl \3c!color[math.random(6)]! với \bord2 và lu mờ khoảng \blur3.
• Tiếp đến trong khoảng \t từ 0 tới 100, chữ to ra 1 khoảng
\fscx120\fscy120 và với \t từ 100 tới hết thời lượng của syl ($dur) chữ sẽ
về ban đầu \fscx100\fscy100.
Code:
Comment: 0,0:00:00.00,0:00:00.00,Romaji ED,,0000,0000,0000,Template
syl
noblank,!retime("syl",0,500)!{\an5\pos($scenter,$smiddle)\3c!color[math.
random(6)]!\bord2\blur3\t(0,100,\fscx120\fscy120)\t(100,$dur,\fscx100\fsc
y100)\fad(0,300)}
♦ Effect 2 (Eff 2, 3, 4, 5 có lead-in và main eff như eff 1 nên chỉ giải thích
phần shape)
• Cho tổng số syl trừ đi số thứ của syl, mục đích để eff shape ko bị phụ
thuộc vào syl mà dẫn hiện tượng... cái thì bay rõ nhanh, cái thì bay rõ lâu
+ thêm biến mất đột ngột...
Code:
("syl",0,2000-($syln-$si)*30)
• Cho điểm ban đầu của shape xuất hiện random khoảng trên, dưới (-5,5),
trái phải (-15,15) và move random xuống duới khoảng (200,300), lệch
sang trái phải 1 khoảng (-150,150). Màu thì dùng tool color picker để lấy
ngay trong clip cho giống, set \bord2 và \blur8.
• Vì cỡ lá khá to nên phải set lại kích cỡ \fscx20\fscy20 cho nó hợp

background. Để cho lá "rơi" tự nhiên, ban đầu cho xoay x và y random
khoảng \frx!math.random(-50,50)!\fry!math.random(-50,50)! , cộng thêm
frz nữa cho hợp \frz!math.random(-50,50)!
• Tiếp đến trong khoảng \t, cho cả 3 trục x y z xoay random khoảng
\frz!math.random(-180,180)!\frx!math.random(180,180)!\fyx!math.random(-180,180)! và mờ đi tới hết thời lượng syl
\fad(0,$dur)
Code:


Comment: 0,0:00:00.00,0:00:00.00,Romaji ED
2,,0000,0000,0000,Template notext noblank loop 1,!retime("syl",0,2000($syln-$si)*30)!{\an5\move(!$scenter+math.random(15,15)!,!$smiddle+math.random(-5,5)!,!$scenter+math.random(150,150)!,!$smiddle+math.random(200,300)!)\c&H687DFE&\3c&H99C
FFC&\bord2\blur8\fscx20\fscy20\frz!math.random(50,50)!\frx!math.random(-50,50)!\fry!math.random(50,50)!\t(\frz!math.random(-180,180)!\frx!math.random(180,180)!\fyx!math.random(-180,180)!)\fad(0,$dur)\p1}!phong!
♦ Effect 3:
• Tượng tự, cho tổng số syl trừ đi số thứ của syl
• Cho điểm ban đầu của shape xuất hiện random khoảng trên, dưới (10,20), trái phải (-15,15) và move random xuống duới khoảng (200,300),
lệch sang trái, phải 1 khoảng (-15,15). Màu vẫn dùng tool color picker để
lấy ngay trong clip cho giống, set \bord1 và \blur10.
• Với kích cỡ khá nhỏ nên phải set cho nó to ra, nhưng vì đoạn
background có máu trong clip có giọt to, giọt bé nên để random khoảng
\fscx!math.random(150,200)!\fscy!math.random(160,2 10)!
• Trong khoảng \t từ 50 cho đến hết thời lượng của syl ($dur), màu chính
và viền sẽ trong suốt 1 chút khoảng \1a&H60&\3a&H60&.
Code:
Comment: 0,0:00:00.00,0:00:00.00,Romaji ED
3,,0000,0000,0000,Template notext noblank loop 1,!retime("syl",0,2000($syln-$si)*30)!{\an5\move(!$scenter+math.random(15,15)!,!$smiddle+math.random(-10,20)!,!$scenter+math.random(15,15)!,!$smiddle+math.random(200,300)!)\1c&H0D0DDE&\3c&H0D0
DDE&\bord1\blur10\fscx!math.random(150,200)!\fscy!math.random(160,
210)!\t(50,$dur,\1a&H60&\3a&H60&)\fad(200,$dur)\p1}!blood[1]!
Comment: 0,0:00:00.00,0:00:00.00,Romaji ED
3,,0000,0000,0000,Template notext noblank loop 1,!retime("syl",0,2000($syln-$si)*30)!{\an5\move(!$scenter+math.random(15,15)!,!$smiddle+math.random(-10,20)!,!$scenter+math.random(15,15)!,!$smiddle+math.random(200,300)!)\1c&H0D0DDE&\3c&H0D0



DDE&\bord1\blur10\fscx!math.random(150,200)!\fscy!math.random(160,
210)!\t(50,$dur,\1a&H60&\3a&H60&)\fad(200,$dur)\p1}!blood[2]!
♦ Effect 4:
• Màu cũng dùng tool color pick để láy cho giống, set bord và blur
random \bord!math.random(1,3)!\blur!math.random(2.5,3)!
• Từ vị trí ban đầu cho random trái, phải và trên, dưới (-20,20) move sang
trái, chếch xuống duới random khoảng !$scenter+math.random(-100,50)!,!$smiddle+math.random(-10,200)!
• Kích cỡ random \fscx!math.random(50,70)!\fscy!math.random(50,70)! .
Trục x y để bình thường, trục z xoay random \frz!math.random(-35,100)!
rồi trong khoảng \t cho trục x và y xoay random 1 khoảng
\frx!math.random(180,210)!\fry!math.random(180,210 )!
Code:
Comment: 0,0:00:00.00,0:00:00.00,Romaji ED
4,,0000,0000,0000,Template notext noblank loop
3,!retime("syl",0,math.random(70,80)*10)!{\fad(0,$dur)\an5\be1\bord!ma
th.random(1,3)!\blur!math.random(2.5,3)!\1c&HFCDCFF&\3c&HFFFF
FF&\bord3\blur6\move(!$scenter+math.random(20,20)!,!$smiddle+math.random(-20,20)!,!$scenter+math.random(-100,50)!,!$smiddle+math.random(10,200)!)\fscx!math.random(50,70)!\fscy!math.random(50,70)!\frz!math.r
andom(35,100)!\fry0\frx0\t(\frx!math.random(180,210)!\fry!math.random(180,21
0)!)\p1}!sakura[math.random(2)]!
♦ Effect 5:
• Tương tự như effect 4, chỉ khác là cho move từ vị trí ban đầu random rới
vị trí sau cũng random bằng nhau (-40,40). Màu set xanh lá cây
\1c&HBEF829& và vièn trắng, cho \bord15 và \blur20 để nhìn như "phát
sáng"
Code:
Comment: 0,0:00:00.00,0:00:00.00,Romaji ED
5,,0000,0000,0000,Template notext noblank loop



FX10:
sóng nước đơn giản thì không quá khó, tuy nhiên không đẹp lắm
code syl: wave_offset = line.duration/math.floor(line.kara.n/2); delay =
(syl.i-1)*150; fxgroup.lastsyl = (syl.i == #line.kara)
code syl: turntags = ""; for T = 1, line.kara.n/2 do turntags = turntags ..
string.format("\\t(%d,%d,\\frz6\\fry-15\\frx12\\fsvp3\\fscy90\\fscx110)\\t(%d,%d,\\frz-6\\fry14\\frx12\\fsvp3\\fscy100\\fscx90)", wave_offset*(T-1)+delay, wave_offset*T+delay,
wave_offset*T+delay, wave_offset*(T+1)+delay) end
template noblank char: !retime("start2end", -300,
200)!{\an5\be1\bord1.5\shad0\pos($scenter, $lmiddle)\fad(300,
200)\c!line.styleref.color1!\t($start, !$start+100!,
\c!line.styleref.color2!\bord3.5\be5\3c&HFFFFFF\t(!$start+150!,
$end,\bord1.5\be1))}{!turntags!}
template noblank: !retime("syl", -50,
50)!{\an5\bord0\shad0\be1\c&HFFFFFF&\alpha&H20\t(0, $dur,
\be5)\move(!$scenter-math.random(15, 30)!, !$smiddle+5!, $scenter,
!$smiddle+5!, 0, !line.duration!)\fad(50,50)}
template notext noblank fxgroup lastsyl loop 6: !retime("line", -50,
50)!{\an5\bord0.5\shad0\blur2\c&HFFFFFF&\3c&H14BDF5&\alpha&
H20\fscx75\fscy75\move(!$lright-math.random(0, 25)!,
!$smiddle+math.random(-10, 15)!, !$lright-math.random(0, 25)!,
!$smiddle+math.random(-5, 25)!)\fad(150,350)}{\p6}m 89 85 b 94 80 100
76 108 72 b 114 19 122 -45 129 -86 b 136 -45 144 19 150 72 b 158 76 163
80 169 85 b 175 91 178 96 181 103 b 234 109 298 117 339 124 b 298 131
234 139 181 145 b 178 152 175 157 169 163 b 163 168 158 172 150 176 b
144 229 136 293 129 334 b 122 293 114 229 108 176 b 100 172 94 168 89
163 b 83 157 80 152 77 145 b 24 139 -40 131 -81 123 b -40 117 24 109 77
103 b 80 96 83 91 89 85



×