클리핑 마스크

(2020/07/30 업데이트)

클리핑 마스크는 눈꺼풀 동작 등에 자주 사용됩니다.
여기에서는 클리핑 마스크의 순서에 대해 설명합니다.

 

클리핑 마스크 절차

마스크로 만들 아트 메쉬의 ID를 지정하면 클리핑 마스크를 사용할 수 있습니다.
여기에서는 흰색 눈의 아트 메쉬로 검은 눈 부분의 아트 메쉬에 클리핑 마스크를 적용하기까지의 단계를 소개합니다.

먼저 마스크로 만들 아트 메쉬(흰 눈 부분)를 선택하고 복사합니다.

클리핑할 아트 메쉬(검은 눈 부분)를 선택하고 [인스펙터] 팔레트의 [클리핑] 필드에 붙여넣습니다.

[클리핑]에 마스크로 하는 아트 메쉬의 ID(ArtMesh36)를 붙여넣고, 검은 눈 부분을 클리핑합니다.

아래의 절차에서도 마찬가지로 클리핑 마스크를 적용할 수 있습니다.

  1. 마스크로 만들 아트 메쉬를 선택하고 [인스펙터] 팔레트에서 [ID]의 텍스트를 복사합니다.
  2. 클리핑할 아트 메쉬를 선택하고 [인스펙터] 팔레트의 [클리핑]에 붙여넣습니다.

TIPS
쉼표로 구분하여 여러 아트 메쉬를 지정할 수 있습니다(예: ArtMesh1, ArtMesh2...)

POINT
SDK 이외의 동영상 작품 등에서 사용하는 경우, 클리핑 마스크는 많이 사용해도 문제 없습니다. 

 

SDK 사용 시 클리핑 주의점

게임 개발 등을 목적으로 하고, SDK에의 편입을 상정하고 있는 경우는, 반드시 아래의 주의점을 확인해 주세요.

・클리핑 상한

Cubism 3 SDK 이후의 클리핑 드로잉 방식에서는 클리핑에 지정한 ID의 순열 유형이 일정 수를 초과하면 표시가 흐트러지는 등 문제가 발생할 수 있습니다.
실제의 특성은 프로그램의 구현에 의존하기 때문에, 실기로 표시를 확인해 주세요.

자세한 원리에 관해서는 SDK 매뉴얼의 「마스크 전처리 방식」을 확인해 주십시오.

・부하 · 성능 저하

일부 환경에서는 클리핑으로 인한 부하가 커질 수 있습니다.
사용은 필요한 최소한으로 유지하는 것이 좋습니다.

・표현의 차이

환경, 표시 사이즈 등에 의해, 표현・외형에 차이가 나오는 일이 있습니다.
엄밀한 표현이 요구되는 경우는 사전에 실기로 확인해 주십시오.

 
TIPS
각 플랫폼 SDK에서 표준 마스크의 특성은 다음과 같습니다

플랫폼 이름 마스크의 상한 수 준비된 마스크 범위 준비된 마스크의 크기
Cubism SDK for Native 36/모델 ※1 클리핑되는 모든 아트 메쉬가 들어가는 사각형 수에 따라 가변
Cubism SDK for Web 36/모델 클리핑되는 모든 아트 메쉬가 들어가는 사각형 수에 따라 가변
Cubism SDK for Unity 64/ 마스크하는 모든 아트 메쉬가 들어가는 직사각형 ※2 고정

※1 Cubism SDK for Native에서는 CubismRenderer::_useHighPrecisionMask를 true로 변경하여 드로잉마다 마스크를 생성하게 됩니다.
   이렇게하면 마스크 수의 상한이 없어지고 마스크의 품질이 항상 최대로 그려집니다.
※2 Cubism SDK for Unity에서는 다른 for Native, for Web과 마스크가 준비하는 범위가 다릅니다.
   자세한 내용은 「UnitySDK와 NativeSDK 비교」의 마스크 특성 항목을 확인하십시오.

 

 

마스크의 흰색 경계에 대해

Cubism Editor나 Cubism SDK에서 클리핑 마스크를 설정한 모델을 표시하면 윤곽선에 경계선이 보일 수 있습니다.

이것은 마스크의 윤곽선에 있는 반투명 부분에 따라 아래에 있는 아트 메쉬의 색이 비쳐 보이기 때문입니다.

Cubism의 클리핑 마스크는 다음 두 가지로 표현되며 각각 다른 아트 메쉬로 존재합니다.

  • 마스크용 아트 메쉬
  • 마스크에 의해 잘려진 클리핑용 아트 메쉬

마스크의 윤곽선에 있는 반투명 부분은 잘라내는 아트 메쉬에 불투명도가 적용됩니다.

마스크용 아트 메쉬가 표시 상태이면 잘라낸 윤곽선의 반투명 부분에서 마스크용 아트 메쉬의 반투명 부분의 색이 보입니다.


마스크의 모양이 복잡하지 않은 경우 다음 절차에 따라 모델을 수정하여 피할 수 있습니다.

  1. 마스크용 아트 메쉬 복제
  2. 지정한 마스크용 아트 메쉬를 복제 원본 아트 메쉬에서 복제한 아트 메쉬로 변경
  3. 복제한 아트 메쉬를 복제 원본의 윤곽선이 숨기도록 확대
  4. 이 아트 메쉬의 불투명도를 0%로 설정
  5. 복제원과 같은 변형을 한다

 

마스크 수 확인

편집기에서 마스크 수 확인

4.0.03 이후의 Cubism Editor에서는 통계에 모델에 포함된 클리핑 수와 마스크 순열 유형을 확인할 수 있습니다.

 

 

SDK로 인식되는 마스크를 계산하는 방법

SDK에서 인식되는 마스크 수는 ID 순열로 식별됩니다.
예를 보면 다음과 같은 세는 방법이 됩니다.

마스크 ID 표시 인식되는 매수
ArtMesh1
ArtMesh1
ArtMesh2
2장
ArtMesh1, ArtMesh2
ArtMesh1
ArtMesh1, ArtMesh2
ArtMesh2
3장
ArtMesh1, ArtMesh2, ArtMesh3
ArtMesh1, ArtMesh2, ArtMesh3
ArtMesh1, ArtMesh2, ArtMesh3
ArtMesh1, ArtMesh2, ArtMesh3
1장

 

조합이 동일하고 순서가 다른 경우, for Native, for Web에서는 동일한 마스크로 인식됩니다만
for Unity에서는 다른 마스크로 인식됩니다

마스크 ID 표시 for Native, for Web의 인식 수 for Unity의 인식 수
ArtMesh1, ArtMesh2
ArtMesh2, ArtMesh1
ArtMesh1, ArtMesh2
ArtMesh2, ArtMesh1
1장 2장

 

 

Cubism Viewer (for OW)에서 확인

Cubism Viewer (for OW)에서도 통계로 마스크 ID의 순열 수를 확인할 수 있습니다.

 

 

마스크에 대한 경고 정보

클리핑 마스크에 사용되는 마스크가 잘못된 상태에 있으면 경고가 표시됩니다.

 

경고 발생 시 주의점

「마스크에 관한 경고」가 발생한 상태에서 편입용 파일을 출력해, 그것을 SDK를 사용한 어플리케이션으로 읽어 버리면
다음과 같은 문제가 발생할 수 있습니다.

발생하는 문제:

  • 강제 종료
  • 내장 파일을 로드할 수 없음
  • SDK와 Editor의 표시가 다름

이상의 문제를 회피하기 위해, 「편집상 일시적으로 허용되지만, 출력시에는 바람직하지 않은」상태에 대해서 경고가 나옵니다.
Animator에서는 문제가 없는 것처럼 보이지만 향후 업데이트의 영향으로 표시 내용이 변경될 수 있으므로 수정을 권장합니다.

 

경고 발생시의 상황에 대해

「마스크에 관한 경고」가 발생하는 상황은, 크게 나누어 2개의 종류가 있습니다.

키로스트:

마스크가 되는 아트 메쉬가 파라미터의 키 폼 밖에 존재하기 때문에 보이지 않는 상태.
어플리케이션의 구현 상황에 따라서는 표시가 크게 다를 가능성이 있습니다.

숨기기/밑그림으로 설정된 아트 메쉬:

숨기거나 밑그림으로 설정된 아트 메쉬는 내장 파일을 출력할 때 표준 설정으로 출력되지 않습니다.
이 때문에, 그대로 SDK로 읽어들이면 마스크의 아트 메쉬는 부정한 값을 지시한 상태가 되어, 강제 종료등의 문제가
발생할 수 있습니다.

마스크 삭제됨:

마스크가 될 아트 메쉬가 삭제되었으며,
클리핑의 아트 메쉬 인스펙터의 클리핑 란이 「null」로 되어 있는 상태.

 

케이스별 모델 수정 방법

1. 투명한 아트 메쉬를 마스크로 참조하고 싶은 경우

마스크에 설정한 아트 메쉬의 불투명도를 0%로 해 대응해 주세요.
아트 메쉬에 이미 키 폼이 쳐져 있고 불투명도 조작이 어려운 경우에는 「멀티 키 편집」을 사용하거나 디포머를
아트 메쉬의 부모로 설정하고 불투명도만을 일괄로 조작하는 방법도 있습니다.

TIPS
클리핑 마스크의 동작은 구현 상황에 따라 다릅니다.
자세한 주의사항은 개발 담당자와 상담한 후 모델을 작성하는 것이 좋습니다.

UnitySDK와 NativeSDK의 비교에 대해 (프로그래머용)

2. 숨겨진 파츠 안에 존재하는 아트 메쉬를 마스크로 참조하고 싶은 경우

Cubism Editor 3.2.05부터 모든 마스크가 숨겨진 상태가 되면 클리핑 마스크 자체가 해제됩니다.
숨겨진 파츠의 아트 메쉬를 마스크로 설정하면 클리핑 마스크가 해제된 모양이 됩니다.

편집이 어려운 경우 마스크에 설정된 아트 메쉬를 일시적으로 표시 파츠로 이동시켜 대응해 주십시오.

TIPS
숨겨진 상태가 되는 마스크가 존재하면 앞에서 설명한 경고나 moc3 내보낼 때 에러가 표시됩니다.
임베디드 용도로 사용하는 경우 숨겨진 채 moc3을 내보내면 의도하지 않은 표시가 될 수 있으므로
파츠을 표시 상태로 만드는 것을 잊지 않도록 주의하십시오.

3. 팔 전환 등으로 보간하지 않고 사라지는 아트 메쉬를 마스크로 참조하고 싶은 경우

키 폼의 범위외로 키가 이동했을 때에, 아트 메쉬의 표시가 사라지는 효과를 그대로 사용하고 싶은 경우입니다.

Cubism Editor 3.2.05부터 모든 마스크가 숨겨지거나 마스크로 설정된 객체가 키 양식 범위를 벗어나
숨겨진 상태가 되면 클리핑 마스크 자체가 해제됩니다.

해결 방법으로 빈 아트 메쉬를 만들고 항상 표시 상태의 마스크로 사용합니다.
하늘의 아트 메쉬는 「당 판정용 아트 메쉬」를 이용합시다.
당 판정용 아트 메쉬의 설정 방법

작성한 하늘의 아트 메쉬를 「표시를 지우고 싶은 마스크」와 함께 마스크로서 설정해 두는 것으로, 항상 표시 상태의 마스크가 존재하게 됩니다.
이렇게 하면 클리핑 마스크 자체가 해제되지 않고 키 폼의 범위를 벗어나는 표시를 지우는 효과를 사용할 수 있습니다.

※이 경우, 하늘의 아트 메쉬에는 키를 칠 필요는 없습니다. 위치나 사이즈도 영향은 없기 때문에, 자유롭게 설정해 주세요.
※비표시 상태가 되는 마스크가 존재하면, 전술한 경고나, moc3 내보낼 때에 에러가 표시됩니다.
임베디드 용도로 사용하는 경우 구현 상황에 따라 의도하지 않은 표시가 될 수 있으므로 개발 담당자와 상담 후 모델을 만드는 것이 좋습니다.

 

경고 숨기기

경고의 표시는 「파일/설정/마스크의 설정을 항상 표시한다」의 체크를 해제하는 것으로 숨길 수가 있습니다.

 

경고를 무시하고 작성할 때는 실제 기기의 표시 상태를 확인하면서 하십시오.

 

© 2010 - 2022 Live2D Inc.