TCAX 字幕特效制作工具官方论坛 | ASS | TCAS | Python | Aegisub | Lua
标题:
[SAI]029_kyoukaisenjounohorizonED
[打印本页]
作者:
saiyaku
时间:
2011-10-15 23:57:53
标题:
[SAI]029_kyoukaisenjounohorizonED
預覽:
http://pan.baidu.com/s/1hqqY9CC#dir/path=%2FSaiyakuFX_Preview
腳本東拼西湊 又亂又無恥 隨便看看吧
from tcaxPy import *
from extLibs.XXParticleSystem import *
def tcaxPy_Init():
global _FontFileName
global _FaceID
global _Fs
global _Height
global Font
_FontFileName = GetVal(val_FontFileName)
_FaceID = GetVal(val_FaceID)
_Fs = GetVal(val_FontSize)
_Height = GetVal(val_TextHeight)
Font = InitFont(_FontFileName, _FaceID, _Fs, GetVal(val_Spacing), GetVal(val_SpaceScale), 0xFFFFFF, 0, 0)
def tcaxPy_Main(_i, _j, _n, _BT, _ET, _SK, _KT, _X, _Y, _A, _TXT):
ASS_BUF = []
TCS_BUF = []
t2 = _BT + _SK-5
t3 = _BT + _SK + _KT
if IsLineChanged(_i):
global textpath
textpath = []
textpath.append([t2, XXPoint(x = _X, y = _Y, start = t2 / 100, end = t3 / 100)])
if _i >3:
ass_main(ASS_BUF, SubL(_BT+_SK-5, _BT+_SK+_KT,63), pos(_X, _Y)+color3("0080FF")+fsc(135,135)+t(100,_KT*10,fsc(100,100))+blur(7)+bord(1.5)+alpha4(255)+alpha3(50)+fad(0,50) , _TXT)
ass_main(ASS_BUF, SubL(_BT+_SK-5, _BT+_SK+_KT,61), pos(_X, _Y)+color3("FFFFFF")+fsc(135,135)+t(100,_KT*10,fsc(100,100))+blur(5)+bord(1.5)+alpha4(255)+alpha3(100)+fad(0,50) , _TXT)
ass_main(ASS_BUF, SubL(_BT+_SK-5, _BT+_SK+_KT,60), pos(_X, _Y)+color3("FFFFFF")+fsc(135,135)+t(100,_KT*10,fsc(100,100))+blur(5)+bord(0)+alpha4(255)+alpha3(200)+fad(0,50) , _TXT)
ass_main(ASS_BUF, SubL(_BT, _BT+_SK,30), pos(_X, _Y)+fad(100,50) , _TXT)
ass_main(ASS_BUF, SubL(_BT+_SK+_KT-5, _ET,30), pos(_X, _Y)+fad(50,100) , _TXT)
POS = Bezier3( 130,_X+randint(-250,250),_Y +randint(-100,100) ,_X, _Y,_X+randint(-200,100), _Y+randint(-150,150),_X+randint(-100,200), _Y+randint(-150,150))
for i in range(130):
ass_main(ASS_BUF, SubL(_BT+_SK-135+i*1, _BT+_SK-135+25+(i+1)*1,150-i), fad(50,300)+an(5)+blur(1.5)+bord(0)+shad(0)+color1("80FFFF") +t(color1("0909FF")+fsc(0,0))+ pos(POS[i][0], POS[i][1])+fs(10), "●")
else:
ass_main(ASS_BUF, SubL(_BT+_SK-5, _BT+_SK+_KT,63), pos(_X, _Y)+color3("FF3E33")+fsc(135,135)+t(100,_KT*10,fsc(100,100))+blur(7)+bord(1.5)+alpha4(255)+alpha3(50)+fad(0,50) , _TXT)
ass_main(ASS_BUF, SubL(_BT+_SK-5, _BT+_SK+_KT,61), pos(_X, _Y)+color3("FFFFFF")+fsc(135,135)+t(100,_KT*10,fsc(100,100))+blur(5)+bord(1.5)+alpha4(255)+alpha3(100)+fad(0,50) , _TXT)
ass_main(ASS_BUF, SubL(_BT+_SK-5, _BT+_SK+_KT,60), pos(_X, _Y)+color3("FFFFFF")+fsc(135,135)+t(100,_KT*10,fsc(100,100))+blur(5)+bord(0)+alpha4(255)+alpha3(200)+fad(0,50) , _TXT)
ass_main(ASS_BUF, SubL(_BT, _BT+_SK,30), pos(_X, _Y)+fad(100,50) , _TXT)
ass_main(ASS_BUF, SubL(_BT+_SK+_KT-5, _ET,30), pos(_X, _Y)+fad(50,100) , _TXT)
n = 15
if _j==_n-1 and _i < 4:
num = len(textpath) - 1
for i in range(num):
if textpath[i][1].end < textpath[i + 1][1].start:
textpath[i][1].end = textpath[i + 1][1].start
textpath[num][1].end = _ET
emitterList = []
for pair in textpath:
emitterList.append(XXPoint(start = pair[1].start,
end = pair[1].end,
x = pair[1].x + RandomDouble(-20, 20),
y = pair[1].y + RandomDouble(-20, 20)))
forceCurve = CompositeCurve(minTime = _BT / 100, maxTime = _ET / 100 + 10)
lastag = 0
time = forceCurve.minTime
maxTime = forceCurve.maxTime
while time <= maxTime:
ag = RandomDouble(0, math.pi * 2)
while abs(ag - lastag) < math.pi * 0.5 or abs(ag - lastag) > math.pi * 1.5:
ag = RandomDouble(0, math.pi * 2)
lastag = ag
x = 1500 * math.cos(ag)
y = 800 * math.sin(ag)
forceCurve.AddCurve(time, time + 0.7, Line(x0 = x, y0 = y, x1 = 0, y1 = 0, acc = 0.7))
time += 0.7
emitter = XXEmitter(n, emitterList)
forceField = XXForceField(forceCurve)
gravityPosition = XXGravityPosition()
xxps = XXParticleSystem(emitter = emitter,
forceField = forceField,
startTime = _BT / 100,
endTime = _ET / 100,
interpolationPrecision = 0.01,
resistance = 0.04,
repulsion = -3600,
gravity = 0,
gravityPosition = gravityPosition)
result = xxps.RenderT()
for pKey in result:
s = RandPolygon(12/8, 12/8, 4)
ptstr = "{\\p1}m 0 0 l 1 0 1 1 0 1"
ptcol = 'FF3E33'
pValue = result[pKey]
ass_main(ASS_BUF, SubL(100 * pKey.born, 100 * (pKey.born + pKey.life), 25, Pix_Style), '', \
'{' + pos(-100, -100) + pValue[1] + '}' + ptstr + "\\N{\\r" + \
pValue[0] + '}' + ptstr + '{\\r' + alpha1(34) + alpha3(119) + blur(2) + bord(1.5) + color1("FFFFFF")+color3(ptcol) + '}' + s)
if _i == 7 and _TXT[0]=="を":
sb1=""
for i in range (0,30):
a = -0.15+0.01*i
l = (pow((abs(a)/0.15),0.3)+0.5)*120*8
sb1= sb1 + "m 0 0 l"+" "+str(int(l*cos(a)))+" "+str(int(l*sin(a)))+" 0 1 c "
sb2 = ""
for j in range (0,30):
a = -0.15+0.01*j
l = (pow((abs(a)/0.15),0.3)+0.5)*60*8
sb2 = sb2 +"m 0 0 l"+" "+str(int(l*cos(a)))+" "+str(int(l*sin(a)))+" 0 1 c "
tStep = 2
for ptt0 in range(_BT+_SK - 10,_BT+_SK+_KT,tStep):
startag = randint(0, 359)
endag = startag + randint(0,9)/10 * randint(50, 100)
ass_main(ASS_BUF, SubL(ptt0,ptt0 + 100,19), pos(_X, _Y)+ an(7)+fad(300, 300)+fsc(70,70)+alpha1(0)+be(1)+shad(0)+bord(0)+color1("ACFFFF")+ frz(startag) + t1(0,1000,frz(endag)),"{\p4}"+sb1)
ass_main(ASS_BUF, SubL(ptt0,ptt0 + 100,20), pos(_X, _Y)+ an(7)+fad(300, 300)+fsc(70,70)+alpha1(17)+be(1)+shad(0)+bord(0)+color1("FFFFFF")+ frz(startag) + t1(0,1000,frz(endag)),"{\p4}"+sb2)
return (ASS_BUF, TCS_BUF)
def tcaxPy_Fin():
FinFont(Font)
复制代码
作者:
milkyjing
时间:
2011-10-16 08:56:04
补上预览:
http://www.tcax.org/forum.php?mod=viewthread&tid=44
文件名: [SAI]029_kyoukaisenjounohorizonED.mp4
p.s. [SAI]028_nekogamiIM.mp4 与 [SAI]027_nekogamiED.mp4 也是最近才更新的
欢迎光临 TCAX 字幕特效制作工具官方论坛 | ASS | TCAS | Python | Aegisub | Lua (http://tcax.org/)
Powered by Discuz! X2