最終更新:ID:q3nDD1gRAQ 2021年08月13日(金) 09:58:40履歴
関数 | obj.drawpoly(x0,y0,z0,x1,y1,z1,x2,y2,z2,x3,y3,z3[,u0,v0,u1,v1,u2,v2,u3,v3,alpha]) | |
---|---|---|
解説 | 現在のオブジェクトの任意部分を任意の四角形で描画します。メディアオブジェクトのみ使用出来ます。 ※内角が全て180度以下の平面以外は正しく描画されません。 ※頂点0から3が時計回りになる面が表面になります。 ※obj.drawpoly()を使用した場合スクリプト以降のフィルタ効果は実行されません。 | |
引数 | x0,y0,z0 | 四角形の頂点0の座標 |
x1,y1,z1 | 四角形の頂点1の座標 | |
x2,y2,z2 | 四角形の頂点2の座標 | |
x3,y3,z3 | 四角形の頂点3の座標 | |
u0,v0 | 頂点0に対応するオブジェクトの画像の座標 | |
u1,v1 | 頂点1に対応するオブジェクトの画像の座標 | |
u2,v2 | 頂点2に対応するオブジェクトの画像の座標 | |
u3,v3 | 頂点3に対応するオブジェクトの画像の座標 | |
例 | obj.drawpoly(-50,-50,0, 50,-50,0, 50,50,0, -50,50,0, 0,0, obj.w,0, obj.w,obj.h, 0,obj.h) |
obj.drawpoly関数は、現在objテーブルに読み込まれているオブジェクトを、
指定した場所で切り出して、指定した4点に引き伸ばして描画します。
引数は、前半4点の座標(x,y,z)と後半4点の座標(u,v)に分けることが出来ます。
前半の4点は、どの位置にどんな形状で描画するかを指定します。
後半の4点は、元の画像(objテーブルで読み込まれているオブジェクト)のどこを切り取るかを指定します。
指定した場所で切り出して、指定した4点に引き伸ばして描画します。
引数は、前半4点の座標(x,y,z)と後半4点の座標(u,v)に分けることが出来ます。
前半の4点は、どの位置にどんな形状で描画するかを指定します。
後半の4点は、元の画像(objテーブルで読み込まれているオブジェクト)のどこを切り取るかを指定します。
obj.drawpoly( --AviUtl上の座標 x0,y0,z0, x1,y1,z1, x2,y2,z2, x3,y3,z3, --画像上の座標 u0,v0, u1,v1, u2,v2, u3,v3, --透明度 alpha )
後半の4点は、元の画像(objテーブルで読み込まれているオブジェクト)のどこを切り取るかを指定します。
ここで切り取った範囲が、前半の引数で指定した四角形に貼り付けられます。
※省略した場合は、元画像全体を切り取ります。
なお、AviUtlの座標軸と異なり、左上が(0,0)であることに注意が必要です。
ここで切り取った範囲が、前半の引数で指定した四角形に貼り付けられます。
※省略した場合は、元画像全体を切り取ります。
- u0,v0: 左上の座標
- u1,v1: 右上の座標
- u2,v2: 右下の座標
- u3,v3: 左下の座標
なお、AviUtlの座標軸と異なり、左上が(0,0)であることに注意が必要です。
--真っ白な四角形を描画する場合 obj.load("figure", "四角形", 0xffffff, 1) obj.drawpoly(10,-200,0, 200,-150,0, 500,200,0, -500,100,0, 0,0, obj.w,0, obj.w,obj.h, 0,obj.h)
--画像を読み込む場合 local img = obj.getinfo("script_path").."img.jpg" --画像の場所を指定 obj.load("image", img) obj.drawpoly(10,-200,0, 200,-150,0, 500,200,0, -500,100,0, 0,0, obj.w,0, obj.w,obj.h, 0,obj.h)
--画像の一部(左上の500x500の正方形)を切り取る場合 local img = obj.getinfo("script_path").."img.jpg" --画像の場所を指定 obj.load("image", img) obj.drawpoly(10,-200,0, 200,-150,0, 500,200,0, -500,100,0, 0,0, 500,0, 500,500, 0,500)
コメントをかく