본문 바로가기
After Effects

에프터이펙트 fromComp()를 통해 3D 공간상에 라인 그리기

by hfgraphic 2024. 7. 8.
반응형

fromComp() 함수는 Adobe After Effects의 표현식(expression) 언어에서 사용되는 함수 중 하나입니다. 이 함수는 특정 값을 컴포지션 좌표계(composition coordinate system)에서 다른 좌표계로 변환하는 데 사용됩니다.

함수 설명

fromComp(point)

 

point : 컴포지션 좌표계에서 변환하려는 점의 좌표입니다. 이는 2D 벡터([x, y]) 또는 3D 벡터([x, y, z])일 수 있습니다.

 

이 함수는 주어진 점을 컴포지션 좌표계에서 레이어 좌표계(layer coordinate system)로 변환합니다. 컴포지션 좌표계는 전체 컴포지션의 크기를 기준으로 한 좌표계를 의미하며, 레이어 좌표계는 특정 레이어 내에서의 좌표계를 의미합니다.

 

활용하는 예를 보여주기 위해 레이어를 준비해봤습니다. 먼저 Circle 형태의 2개의 Shape 레이어를 먼저 생성합니다. 그 후, 빈 Shape 레이어를 새로 만들어 추가하고, 이 레이어에 Stroke를 적용해 줍니다. 이렇게 하면 총 3개의 Shape 레이어가 준비를 합니다.

 

시계마크를 Alt + Click(Mac이면 Option + Click)를 해주고 타이핑을 해줍니니다. createPath()는 Shape 레이어에서 Path를 만드는 메서드입니다. 

 

createPath(points = [], inTangents = [], outTangents = [], isClosed = false, matrix = undefined)

 

각 매개변수의 의미는 다음과 같습니다:

 

points : 패스를 정의하는 점들의 배열입니다. 각 점은 2D 또는 3D 좌표로 표현됩니다.

inTangents : 각 점에 대한 입력 탄젠트(in-tangent) 벡터의 배열입니다. 베지어 곡선의 형태를 정의합니다.

outTangents : 각 점에 대한 출력 탄젠트(out-tangent) 벡터의 배열입니다. 베지어 곡선의 형태를 정의합니다.

isClosed : 패스가 닫혀 있는지 여부를 나타내는 불리언 값입니다. true이면 패스가 닫히고, false이면 열려 있습니다.

matrix : 변환 매트릭스(Optional). 패스에 적용할 변환 매트릭스를 지정할 수 있습니다. 기본값은 undefined입니다.

 

위에 처럼 작성하면 2D 좌표에서는 문제는 없지만 좌표가 3D가 Shape 레이어의 선이 맞지 되는 것을 볼 수 있습니다. Comp 좌표는 2D 좌표이니 3D 좌표에서 Z축은 반영하지 못하는 것을 볼 수 있습니다. 이 문제를 해결하기 위해 3D 좌표를 먼저 Comp 좌표로 변환한 후에 A-B Line 레이어 좌표로 넘겨주어야 해결이 됩니다.

 

먼저 A, B 레이어의 3D 좌표를 toComp() 메서드를 통해 현재 Composition 좌표계로 변환해서 a, b 값에 넣어주었습니다. 그리고 현재 Line을 그려줄 레이어 좌표계로 변환해주었습니다.

 

toComp()에 대해 자세히 알아보기

 

 

3D 좌표도 문제없이 적용 가능하다는 것을 알 수 있다.

 

fromComp() 함수는 After Effects에서 좌표 변환을 필요로 할 때 매우 유용하게 사용될 수 있습니다. 이를 통해 복잡한 애니메이션이나 효과를 구현할 때 좌표를 정확하게 맞출 수 있습니다.

반응형