해안가 모래사장을 걷다가 뜬금없이 초특급 엘리트 조기 교육을 받은 아이가 어디서 줏어들었는지, "아빠, 벡터 마스크가 뭐야?"하고 물었다고 하자, 친절한 아빠는 "벡터와 마스크를 합친거란다"라고 대답해주면 그 아이는 "내 친구는 마스크와 벡터를 합친거라고 하던데"라고 하며 당신의 지적 능력을 의심할 지 모른다. 아빠는 위기를 모면하려 "벡터 패스에 마스크를 걸어주는 거란다"라고 대답했다고 하자. "그럼 벡터 패스가 뭐야?"라고 또 물을지 모른다. 이제 우리는 2% 부족한 무언가를 설명할 비유를 들어야 될 것 같다. 마스크는 예전에 그리지 않을 부분을 정의하는 거라고 설명했으므로 벡터에 초점을 맞추자.
벡터 방식은 보물 지도를 들고 보물 상자를 찾아가는 것과 유사하다. 이 보물 지도가 바로 벡터 패스 (vector path)다. 그러므로 벡터 마스크 (vector mask)는 보물 지도를 그려서 낙서하지 말고 잘 보관하라고 일러주는 것이라 할 수 있다. 그 보물 지도에, "앞으로 열 걸음 가서 왼쪽으로 다섯 걸음 가면 그 밑에 보물 상자가 있을 거야"라고 정의할 수 있는 추상적인 개념이 벡터 (vector)다. 쉽게 말해, 도형 (polygon)이나 모양 (shape)이 벡터라는 것이다.
벡터는 수학 (엄밀히 말하면 물리학이나 기하학에 가깝다)에서 힘과 방향을 가진 양이라고 정의한다. 하지만 컴퓨터 그래픽 (엄밀히 말해서는 이것도 그래픽스, graphics라고 해야한다. 국어 사전을 만드는 사람의 무지에서 비롯되어 일반화된 언어이지만, 당신이 전문가가 되려면 Coumputer Graphics라고 뒤에 s를 붙여주는 습관을 들일 필요가 있다.)에서는 힘이라는 걸 무시하고, 방향만이 의미를 가진다. 즉, 방향을 가진 데이터가 벡터다. 컴퓨터로 표현되는 그림은 2D냐 3D냐로 구분할 수 있지만, 그 외에도 래스터냐 벡터냐로 구분되기도 한다. 래스터 (raster)는 일명 비트맵 (bitmap)이라고도 하며, 네모난 틀(캔버스, 또는 비트맵 문서)에 네모난 점(픽셀)을 찍어가는 방식이고, 벡터는 이 틀에 시작점, 방향, 각도, 끝점 등을 수학적으로 그려가는 방식이다. 벡터 패스는 계속 정의될 수 있다. "앞으로 열, 왼쪽으로 다섯, 안쪽으로 셋, 위쪽 45도에 보물이 있을 것이다"처럼.
이를 잘 생각해보면, 단지 상하/좌우의 두 축으로만 데이터를 정의하는 비트맵보다 나은 방식이라는 것을 감지할 것이다. 그럼에도 불구하고 벡터 그래픽이 자주 사용되지 않는 이유는 계산에 의한 그림이라서 사람들이 잘 모르고 어려워하기 때문이기도 하지만, 그보다는 하드웨어에 종속적인 방식이라서이다. 즉, 그래픽 카드나 모니터 해상도같은 하드웨어적인 요소가 뛰어나면 벡터로 그린 그림은 저사양 그래픽 카드나 모니터에 비해 더욱 세밀하게 그려질 수 있으며, 두 그래픽 카드간에 벡터 패스가 서로 크기나 방향이 어긋날 수도 있다. 즉 호환성의 문제가 생기는 것이다. 그래서 뽀샵이나 플래시같은 벡터 드로잉이 가능한 2D 그래픽 프로그램은 다른 결과물이 되는 걸 보정하기 위해 단위를 픽셀과 해상도 기준으로 맞춘다. 그 결과 벡터 패스로 정의한 그림도 픽셀 좌표로 변환되어, 이런 픽셀 좌표나 컬러를 그래픽 카드나 CPU에 알려주면, 이를 모니터에 찍어준다. 결국 뽀샵에서 벡터는 비트맵화되어 하나로 결합된다. 그래서 뽀샵에서 2D 벡터로 그린 그림이 비트맵으로 그린 그림과 잘 맞물려 그려지게 되는 것이다. 즉, 뽀샵은 벡터를 흉내만 낸다고 할 수 있다. 제대로 벡터 이미지를 생성하려면 AutoCAD나 프로그래밍 언어를 사용해서 그려야 한다. 물론 그렇게 그린 그림도 자체 파일이 아닌 비트맵 파일로 변환해서 저장되는 순간 벡터의 의미가 상실된다.
간혹 벡터 그림이나 비트맵 그림의 화질이 앨리어싱 (외곽선의 계단) 현상 때문에, 어떤게 좋냐로 논쟁을 하기도 하는데, 우리 주변을 보면 도면 같은 정형화된 틀을 가진 그림은 벡터 도형으로 그리면 효과적인 부분도 많다. 예로 멀리서 본 피라미드 그림이 있다면, 이런 그림은 사진이나 그림의 비트맵보다는 벡터 그래픽으로 그려주는게 나을 수도 있다. 반면 구름처럼 불규칙한 부분이 많다면 사진이나 그림으로 그린 비트맵 그림이 더 효과적으로 이미지의 느낌을 전달할 수 있다. 벡터 그래픽이 나은가 비트맵 그래픽이 나은가는 이처럼 우매한 질문이다. 얼마나 이미지의 느낌을 잘 표현하냐가 중요한 것이다.
또한, 그림이나 사진을 스캔한 비트맵에 굳이 벡터 그림을 넣어 더욱 사실적으로 되는 경우는 적을 뿐더러, 도면에 엉뚱한 연예인 사진을 붙여넣는 것도 의미가 없다. 사진이나 그림을 수학적인 계산만으로 그리려면 CPU나 그래픽 카드가 수학을 많이 계산해야 하고, 그만큼 CPU나 그래픽 카드에 무리를 줄 수도 있다. 하지만 요즘 나오는 그래픽 카드나 CPU는 수학적인 계산 능력이 좋아지고, 열이나 부하를 줄이는 시스템도 좋아져서 크게 무리되지 않는다. 즉, 아무리 수학적인 계산을 많이 하는 벡터 그림이라고 하더라도, CPU나 그래픽 카드에 무리하게 과부하를 줄만큼 그런 벡터 그림은 거의 없다.
위에서 얘기대로라면 벡터 그래픽이 단점만 있는 듯 싶으나, 현실감만이 그래픽의 전부가 아니다. 예로, 로고나 아이콘, 만화, 특수 효과, 도면 등을 들 수 있다. 그 말은 이런 부류의 그래픽을 그리려면 벡터 그래픽 도구가 굉장히 중요하다는 뜻이다. 아이콘이나 만화의 경우 벡터로 그리는 것보다 손으로 그린 그림이 더욱 뛰어날 수 있으므로, 스케치한 그림을 스캔해서 뽀샵이나 플래시등으로 살짝 살짝 수정하는 정도에서 그치는게 나을 것이다. 애니메이션 특수 효과를 예로 들면, 벡터 그림을 그려주고 여기에 컬러를 조절하여 애니메이션 네온사인 효과를 줄 수 있다. 물론 다른 특수 효과도 마찬가지다. 반면, 도면같은 경우 오히려 벡터로 전부 그리고 나중에 비트맵 컬러를 입혀주는 방식이 나을 것이다. 뽀샵은 CAD 프로그램처럼 복잡한 벡터 그림은 그릴 수 없고, 간단한 벡터 그림만 그릴 수 있다. 물론 벡터로 그린 그림도 애니메이션 시퀀서 (이미지레디 같은거)를 통해서 특수 효과를 줄 수 있다.
뽀샵은 2D 그래픽이다. 즉, 안과 바깥을 정의하는 깊이 축 (Z 축)은 사용하지 않는다. 즉, 뽀샵은 2D 그래픽은 바로 편집하고 3D 그래픽은 편집하지 못한다. 반면 AutoCAD, 마아냐 3DS 맥스 같은 3D 프로그램은 3D 편집이 가능하다. 하지만 3D로 그려진 그림도 쉐이딩 (shading, 음영을 주는 방식)이나 렌더링 (rendering, 표면에 재질을 입하는 방식)을 거치면 결국 2D로 변한다. 그래서 모니터에 출력이 되는 것이다. 3D 그래픽에서 쉐이딩과 렌더링은 구분해서 사용하지만, 어차피 2D로 변환된 결과물에 작업하는 것이므로 2D 그래픽에선 두 단어를 혼용해서 써도 무관하다.
뽀샵에서 벡터 그림을 그리는 도구는 툴박스에 있는 펜 툴 (Pen Tool, P)과 펜 툴 옆에 있는 다각형 그리기 도구Rectangle/Ellipse Tool, 등등)이다. 이런 도구로 그린 그림은 무늬 (Shape)가 된다. 이런 무늬는 하나 하나 개별적인 레이어가 되고, 이렇게 그려진 그림은 자동으로 그림의 벡터 경로 또는 윤곽 (vector path 또는 outline)이 Paths 팔레트 (Window>Paths)에 저장된다. Paths 팔레트는 벡터 패스의 저장고이며, 제일 나중에 그린 벡터 패스를 자동으로 갱신한다.
벡터 패스로 그린 그림은 디폴트로 경로를 가진 선택 반전을 의미하는 벡터 마스크로 선택된다. 이 상태로 Save Selection하여 알파 채널로 저장할 수 있다. 무늬를 그린 후 복사 (Ctrl+C)하면 클립보드에 벡터 마스크 (즉, 그림에서 그리지 않을 영역)가 복사된다. Paths 팔레트는 자동으로 벡터 패스를 업데이트 하므로, 이전에 그린 그림을 Paths 팔레트에 꺼내보려면 해당 그림을 Move 툴로 눌러주거나 Layers 팔레트에서 레이어를 선택해주면된다. |