# 設定値 ---------------------------------------------
# 起動時位置合わせガイド画像・フレーム数
GUIDE_SOURCE = "WireFrame.png"
GUIDE_LENGTH = 450
# 前景・背景映像動画(同サイズで作成、16:9)
FRONT_SOURCE = "Front.avi"
BACK_SOURCE = "Back.avi"
# 前景位置調整。X,Y,拡大率
FRONT_POS_X = -0.08
FRONT_POS_Y = 0.22
FRONT_SCALE = 1.15
# 光景位置調整。X,Y,拡大率
BACK_POS_X = -0.08
BACK_POS_Y = 0.1
BACK_SCALE = FRONT_SCALE
# 影の濃さ
SHADOW_LEVEL = 0.7
# 生成する動画のサイズ
TOTAL_WIDTH = 1920
TOTAL_HEIGHT = Int(TOTAL_WIDTH/16*9)
# ----------------------------------------------------
# 前景・背景クリップの読み込み
FRONT=AviSource(FRONT_SOURCE)
BACK=AviSource(BACK_SOURCE)
# ガイドクリップの読み込み
GUIDE=ImageSource(GUIDE_SOURCE,fps=30,end=GUIDE_LENGTH).ConvertToYUY2()
GUIDE=FlipHorizontal(GUIDE)
GUIDE_TOTAL=BlankClip(clip=FRONT,length=GUIDE_LENGTH,width=TOTAL_WIDTH,height=TOTAL_HEIGHT)
GUIDE=BilinearResize(GUIDE, IntMod4(TOTAL_HEIGHT*BACK_SCALE), IntMod4(TOTAL_HEIGHT/16*9*BACK_SCALE))
GUIDE=TurnRight(GUIDE)
GUIDE_TOTAL=Overlay(GUIDE_TOTAL, GUIDE, x=Int(TOTAL_WIDTH/2*BACK_POS_Y+TOTAL_WIDTH/2), y=Int(TOTAL_HEIGHT*BACK_POS_X), opacity=1.0, mode="Blend")
# 出力用クリップの生成
TOTAL=BlankClip(clip=FRONT,length=FrameCount(FRONT),width=TOTAL_WIDTH,height=TOTAL_HEIGHT)
TOTAL=AudioDub(TOTAL,FRONT)
# 前景・背景の音を削除
FRONT=KillAudio(FRONT)
BACK=KillAudio(BACK)
# 左右反転
FRONT=FlipHorizontal(FRONT)
BACK=FlipHorizontal(BACK)
# 影の生成
SHADOW=Greyscale(FRONT).Levels(10, 100.0, 255, 0, 255).Blur(1.0).Blur(1.0).Blur(1.0).Blur(1.0).Blur(1.0).Invert
BACK=Overlay(BACK, SHADOW, mode="Multiply", opacity=SHADOW_LEVEL)
# 前景あてはめ
FRONT=BilinearResize(FRONT, IntMod4(TOTAL_HEIGHT*FRONT_SCALE), IntMod4(TOTAL_HEIGHT/16*9*FRONT_SCALE))
FRONT=TurnRight(FRONT)
TOTAL=Overlay(TOTAL, FRONT, x=Int(TOTAL_WIDTH/2*FRONT_POS_Y), y=Int(TOTAL_HEIGHT*FRONT_POS_X), opacity=1.0, mode="Blend")
# 後景あてはめ
BACK=BilinearResize(BACK, IntMod4(TOTAL_HEIGHT*BACK_SCALE), IntMod4(TOTAL_HEIGHT/16*9*BACK_SCALE))
BACK=TurnRight(BACK)
TOTAL=Overlay(TOTAL, BACK, x=Int(TOTAL_WIDTH/2*BACK_POS_Y+TOTAL_WIDTH/2), y=Int(TOTAL_HEIGHT*BACK_POS_X), opacity=1.0, mode="Blend")
GUIDE_TOTAL+TOTAL
# 4の倍数に丸める
function IntMod4(float "value") {
return Int(Int(Int(value)/4)*4)
}