AnyPortrait > 메뉴얼 > 마스크 조합하기
AnyPortrait v1.6.0에서 개선된 마스크를 이용하면, 1개의 클리핑 마스크와 4개의 채널별 알파 마스크를 조합하여 클리핑 렌더링에 적용할 수 있습니다.
특히, 알파 마스크를 조합하여 적용할 때의 연산 방식을 옵션으로서 설정할 수 있습니다.
이 페이지에서는 2개 이상의 마스크를 클리핑 메시에 전달하여 조합하는 방법을 다룹니다.
참고
마스크에 대해서 다음의 메뉴얼을 먼저 읽어보실 것을 권장합니다.
이 페이지에서 다루는 내용과 유사한 동작을 하는 공유 텍스쳐 (Shared Texture)도 다음의 메뉴얼에서 확인해보실 수 있습니다.
- 마스크
2개의 마스크 메시("Mask Circle", "Mask Rect")와 클리핑될 1개의 메시("Clipped Star")가 있습니다.
2개의 마스크를 생성하여 1개의 메시에 동시에 적용해봅시다.
마스크 설정 다이얼로그를 열고 마스크를 설정해봅시다.
(1) 첫번째 마스크 메시("Mask Circle")에 대한 마스크 데이터를 생성합니다.
(2) 마스크를 받을 대상 메시("Clipped Star")를 등록합니다.
(3) "Alpha Mask Preset" 타입의 프로퍼티를 등록합니다.
여기서는 Channel의 값을 "Channel_1"로 설정하고, Mask Operation을 "And"로 설정합니다.
(1) 두번째 마스크 메시("Mask Rect")에 대한 마스크 데이터를 생성합니다.
(2) 이전과 동일 메시("Clipped Star")를 클리핑 대상으로 등록합니다.
(3) "Alpha Mask Preset" 타입의 프로퍼티를 등록합니다.
두개의 마스크가 동일한 메시를 대상으로 한다면, 각각의 마스크가 서로 다른 프로퍼티에 입력되도록 만들어야 합니다.
"Alpha Mask Preset"의 경우는 이것을 "채널 (Channel)"로 구분합니다.
(1) 두번째 마스크 데이터의 프로퍼티에서 Channel의 값을 "Channel_2"로 변경합니다.
"Alpha Mask Preset"은 "채널" 단위로 프로퍼티를 구분하여 마스크 데이터를 전달합니다.
이 특성 덕분에 2개 이상의 마스크 메시가 동일한 메시를 대상으로 클리핑을 하는 것이 가능합니다.
클리핑 연산 순서는 기존의 "클리핑 마스크"가 가장 먼저 연산되며, "알파 마스크"는 "채널 1"부터 순서대로 연산이 됩니다.
(1) 마스크 설정 다이얼로그를 닫으면 두개의 클리핑 마스크가 하나의 메시 ("Clipped Star")에 적용된 것을 볼 수 있습니다.
(2) 오른쪽의 Hierarchy UI에서 메시의 아이콘을 통해서 두개의 마스크가 하나의 메시로 전달되는 것을 알 수 있습니다.
현재는 두개의 마스크 메시의 "공통 영역"으로 클리핑이 되고 있는 것을 볼 수 있습니다.
이것은 "알파 마스크"의 연산 방식 값이 And로 설정되었기 때문입니다.
연산 방식을 변경하면 마스크가 조합되는 결과가 어떻게 바뀔지 확인해봅시다.
(1) Channel_2로 전송되는 "Mask Rect" 메시에 대한 마스크 데이터를 선택합니다.
(2) Mask Operation의 값을 하나씩 변경하면서 결과를 비교해봅시다.
연산 방식에 따라 클리핑 마스크의 조합 결과가 달라지는 것을 볼 수 있습니다.
- And : 이전 채널에서의 마스크와의 공통의 영역을 마스킹합니다.
- Or : 이전 채널에서의 마스크와 현재 마스크를 더한 전체 영역을 마스킹합니다.
- Inverse And : 알파 마스크를 반전한 값으로 And 연산을 수행합니다.
- Inverse Or : 알파 마스크를 반전한 값으로 Or 연산을 수행합니다.
참고
마스크 조합의 결과는 채널에 따른 마스크 연산 순서의 영향을 받습니다.