Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # 設定値 ---------------------------------------------
- # 起動時位置合わせガイド画像・フレーム数
- 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)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement