|
역반사 스크립트 물결과 이미지 합성
무비 720X540
1. Content로 Image 1장불러와 작업창으로 불러오고 W=720
H=350, O=X 좌상 X=0 Y=0, 이름 a1로 1과 150Fr에 place주고 무
비클립으로 묶고 이름 aa로 다시무비클립으로 묶고 이름 A로, A에
스크립트 넣어 준다, (모두 O=X 좌상이다)
2. 다른 이미지한 장 불러와 W=400 H=350, O=X Center X=360
Y=175,으로 이름을 img1로 Target에 체크하고 원을 그려 라인
=none, Fill color=Radial gradient 색은 좌측=흰색, Alpha=100 우
측색=흰색, Alpha=0,으로 W=400 H=350, O=X Center X=360
Y=175,으로 이름 mask로하고 Target에 체크하고
3. 둘을 무비클립으로 묶고 이름 bg로하고 +로된 bg에 아래 스크립
트 넣어준다
4. A 복사하여 붙여넣고 Y에 1+ 해 주고 물결불러와 한칸 아래로 내
려 위와무비클립으로 묶고 마스크체크하고 이름 w로 하고 순서는
맨 아래가 A,w,bg 순이고 모두선택 무비클립으로 묵고
5. 복사하여 총 5개 만들고 이름 1~5로, 1~5를 무비클립으로 묶고
이름 img로 열고선택 1~5Fr에 스톱주고 안의 1선택 1Fr에 place
주고 2Fr에 Remove주고 이효과 2개 복사하여 2,3,4,5에 붙여넣고
맨위 Remove는 삭제하고
6. img선택 빈무비클립 불러와 이름 auto 로 하고 스크립트 넣어주고
알아서 꾸민다(이 스크립트는 많이 해 왔으니 여러분들이 넣어 보
세요)
auto에 붙일 스크립트
onFrame (300) {
_parent.play();
}
+로된 bg에 붙일 스크립트
onSelfEvent (load) {
this.img1.setMask(this.mask);
this.img1.cacheAsBitmap=true;
this.mask.cacheAsBitmap=true;
}
+로된 A에 붙일 스크립트
onSelfEvent(load){
const imgTot:int=5; //이미지 갯수
const imgW:int=720; //이미지 폭
const imgH:int=350; //이미지 높이
import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.geom.Point;
import flash.geom.Matrix;
import flash.filters.DisplacementMapFilter;
var rect:Rectangle=new Rectangle();
var pt:Point=new Point();
var reflectMat:Matrix=new Matrix(1,0,0,-1,0,350);
var imgData:BitmapData=BitmapData.loadBitmap("0"); // 사진 원본이 들어감.
var perlinData:BitmapData = new BitmapData(imgW,190); // Perlin Noise 굴곡 이미지가 들어감.
var refectData:BitmapData = new BitmapData(imgW,190); // DisplacementMap필터 적용 물결 이미지
var currentImg:int=0;
var imgX:int=0;
var perY:int=0;
function nemo(x1:int=0, y1:int=0, width1:int=720, height1:int=350):Object{ //Rectangle 사각 영역지정 함수.
rect.x=x1, rect.y=y1, rect.width=width1, rect.height=height1;
return rect;
}
function jum(x1:int=0, y1:int=0):Object{ // Point 점, 위치 지정용 함수
pt.x=x1, pt.y=y1;
return pt;
}
createEmptyMovieClip("reflectMc",1); //반사하는 displacementmap필터가 들어가는 무비클립
reflectMc.attachBitmap(refectData,0);
createEmptyMovieClip("perlinMc",2); // 위 무비클립에 perlin을 덮어서 굴곡에 명암 처리.
perlinMc.attachBitmap(perlinData,0);
perlinMc.blendMode="overlay";
perlinMc._y=reflectMc._y=350;
var disFlt:DisplacementMapFilter=new DisplacementMapFilter(perlinData, jum(), 0, 1, 10, 80, "ignore"); //랙의 근원
}
onSelfEvent(enterFrame){
refectData.draw("aa",reflectMat,,,nemo(0,0,imgW,190)); // 하단 이미지 높이 150필셀을 따내고 뒤집는다.
perlinData.perlinNoise(100, 15, 1, 1, 0, 1, 7, 1, jum(perY*3,perY--)); // perlinNoise로 물결소스를 만든다.
refectData.applyFilter(refectData,nemo(0,0,imgW,190),jum(),disFlt); // DisplacementMap필터 적용.
}
line mask Gallery(포토샵에서구멍낸 테이블과 스크립트 물결)
무비 720X540
1. 사각그려 라인=none, Fill color=solid, W=720 H=540 O=X
Center X=360 Y=270, shape에 우클릭→Break→Break in to
pieces, 가로(Columns)=0, 세로(Rows)=100, Inflate all pieces에
체크한후 0.2 pixels Cascade order=왼쪽에서 3번 선택 OK하면
Group이 생긴다. Group에 우클릭→Grouping→Ungroup하고
2. shape모두선택 Transform에서 O=X Center X=720 W=0.1하고
30Fr에 더블클릭, 활성화 상태에 X=360 W=720으로하고 100 Fr에
place주고 1Fr의 효과막대를 지그자그로 끌어서 끝이 50Fr을 넘지
않게 순서없이 배열하고 모두선택 무비클립으로 묶고 이름 mask로
3. 이미지 5장 불러와 W=720 H=540 O=X Center X=360 Y=270 이
름 아래서부터 1~5 로, 모두선택→grouping→group as Movie
Clip 이름 a로
4. a열고 선택 1~5Fr에 Stop,주고, 안의 맨 아래행 Timeline 1Fr에
place 2Fr에 Remove주고→2개효과 동시복사 위로 오름 계단형태
로 2~4Fr에 붙이고 5,Fr에 Place주고 a 선택 Insert Movie Clip→
이름 auto로, 맨 아래로 내리고→auto선택→Script창에서 Add
Script→Events-Frame-onFrame(,,,)을선택 위에서 onFrame
(100)으로 수정→Add Script→Movie Control→Play( )하고 위
Target:▼열고 Parent를 닫고
5. a 복사 Scene_1에 붙이고, a_Copy에 Y=1 더해주고 물결 불러와
a 아래로 mask 제일 아래로 4개를 묶어 이름 awm 마스크 체크하
고 Window→Filters→Drop Shadow→Default, 열고 물결에
스크립트주고 바탕, 소소넣고 꾸밈(마스크 체크 안 해도됨)
물결에 넣을 스크립트
onSelfEvent (load) {
_parent.a_Copy.setMask(this);
}
스크립트 물결 만들기
무비 720X540(페이드 들어가도 무결막대 안 나옴)
1. 이미지 5장 불러와 O=X center X=360 Y=270으로하고 이름 1~5
로, 모두선택 1Fr에 우클릭→Fade→Fade in(80)주고 모두선택
O=X 좌상에 놓고 우클릭→Convert→Convert to movie clip으로
묶고, 예,하고 좌상에 놓고 다시 모두선택 우클릭→Grouping→
group as movie clip로 묶고 wave로 좌상에 놓고(이름 중요)
2. wave 열고선택 1~5Fr에 스톱주고 안의 Fr에 place주고 2Fr에
Remove주고 이 효과 2개 복사하여 2,3,4,5에 붙여넣고 맨 위
Remove는 삭제하고 wave선택 빈 무비클립불러와 스크립트 주고
wave복사하여 붙여넣고 이름 gradient_w로 둘을 다시 무비클립으
로 묶고 좌상에놓고 이름 스크립트 물결,로 스크립트 물결 선택 스
크립트 복사해다 붙여넣고 꾸민다. 다른 효과 넣으니까 안되는 것도있다
스크립트 물결에 넣을 스크립트 소스
onFrame (1) {
var w = wave._width;
var h = wave._height;
ripples = new flash.display.BitmapData(w, h);
ripple3 = new flash.display.BitmapData(w, h / 2);
ripple2 = new flash.display.BitmapData(w, h / 4);
ripple1 = new flash.display.BitmapData(w, h / 4);
gradient = new flash.display.BitmapData(ripples.width, ripples.height);
gradient.draw(gradient);
gradient_w._visible = false;
offset3 = new flash.geom.Point(0, 0);
offset2 = new flash.geom.Point(0, 0);
offset1 = new flash.geom.Point(0, 0);
speed1 = -0.300000;
speed2 = -0.600000;
speed3 = -1.200000;
pt = new flash.geom.Point(0, 0);
rect = new flash.geom.Rectangle(0, 0, ripples.width, ripples.height);
r1rect = new flash.geom.Rectangle(0, 0, ripple1.width, ripple1.height);
r2rect = new flash.geom.Rectangle(0, 0, ripple2.width, ripple2.height);
r3rect = new flash.geom.Rectangle(0, 0, ripple3.width, ripple3.height);
r1pt = new flash.geom.Point(0,7);
r2pt = new flash.geom.Point(0, ripple1.height);
r3pt = new flash.geom.Point(0, ripple1.height + ripple2.height);
dMap = new flash.filters.DisplacementMapFilter(ripples, pt, null, 1, 100,10, "WRAP");
this.onEnterFrame = function (){
offset1.y = offset1.y + speed1;
offset2.y = offset2.y + speed2;
offset3.y = offset3.y + speed3;
ripple3.perlinNoise(0, 15, 1, seed, true, true, 1, true, [offset3]);
ripple2.perlinNoise(0, 10, 1, seed, true, true, 1, true, [offset2]);
ripple1.perlinNoise(0, 5, 1, seed, true, true, 1, true, [offset1]);
ripples.copyPixels(ripple1, r1rect, r1pt);
ripples.copyPixels(ripple2, r2rect, r2pt);
ripples.copyPixels(ripple3, r3rect, r3pt);
ripples.merge(gradient, rect, pt2, 1,100,0);
wave.filters = [dMap];
};
}
용량 때문에 swi파일은 답글에 있음
첫댓글 좋은 자료와 강좌 감사합니다.
새해에도 항상 건강하시고 편안한 밤 되세요,
대단히 감사합니다.
항상 건강하시고 즐거운 나날되세요.
새해 벽두에 이렇듯 새로운 멋진 영상 작품을 만들어 올려 주심에 감사를 드립니다.
丁酉年 새해 福 받으시고 平安하신 한해 되시길 바랍니다.
좋은자료를주셔서 감사합니다 열심히 배우겠습니다
수고해서 만드신 귀한 교재 감사합니다.
열심히 배우겠습니다.
깊어가는 겨을 날씨에 옥체 보중하시고 행복한 나날 되시기 바랍니다.
잘모르겠네요. 넘수고하셨어요