그리기 인터럽트 기능
업데이트: 2026/01/08
이 페이지에는 베타 버전에 관한 설명이 포함되어 있습니다.
개요
Cubism 5 SDK for Unity R5 beta 3에서 추가된 모델의 그리기 오브젝트(Drawable, Offscreen)의 그리기 처리 전후에 임의의 처리를 호출할 수 있는 기능입니다.
임의의 Renderer가 있는 오브젝트와 Cubism 모델을 처리의 대상으로 할 수 있습니다.
메커니즘
인터페이스 ICubismRenderingInterceptor를 가지는 컴포넌트가 CubismRenderingInterceptorsManager에 등록되면 커스텀 렌더 패스상에서 그리기 오브젝트의 그리기 처리 전후에 처리가 호출됩니다.
Cubism SDK for Unity는 그리기 인터럽트 기능을 즉시 사용할 수 있도록 ICubismRenderingInterceptor를 상속한 CubismRenderingInterceptController 컴포넌트를 제공합니다.CubismRenderingInterceptController 컴포넌트를 이용하는 경우 OnEnable() 시에 자동으로 CubismRenderingInterceptorsManager에 등록되도록 설정되어 있습니다.
사용법
제공된 구성 요소를 그대로 사용
구성 요소를 임의의 오브젝트에 연결하여 사용할 수 있습니다.CubismRenderingInterceptController
변수와 함수 정보
InvokeTiming InvokeTimingSetting
렌더링 처리의 전후 어느 쪽에서 처리를 실시할지 결정하는 열거형의 변수.
InterceptingMode Mode
아래의 3가지 방식을 전환하기 위한 열거형 변수.
・SortingOrder
후술하는 SortingOrder의 값으로 그리기 순서를 제어하는 방식
・ZDepth
카메라로부터의 거리를 사용하여 그리기 순서를 제어하는 방식
・Drawable
특정 Drawable를 지정해 그리기 순서에 관계없이 지정한 Drawable의 그리기 처리 전후로 처리를 실시하는 방식
int GroupSortingOrder
어떤 Grouped Sorting Index 때 그릴지 결정하는 변수.
지정한 Grouped Sorting Index로 렌더링되는 모델이 존재하지 않는 경우 InterceptingMode.Drawable이 설정되어 있을 때를 제외하고 처리를 건너뛴다.
int SortingOrder
그리기 순서를 설정하는 변수.InterceptingMode.SortingOrder 이외에서는 무시된다.
CubismDrawable _targetArtMeshInterceptingMode.Drawable 시에 참조되는 Drawable
CubismRenderController _renderController
Cubism 모델의 오브젝트에 연결될 때 참조하는 CubismRenderController 구성 요소OnEnabled()로 자동으로 참조를 취득한다.
Renderer_renderer
Cubism 모델 이외의 오브젝트에 연결될 때 참조하는 Renderer 구성 요소
Material _material_renderer 머티리얼
상속된 구성 요소 사용
CubismRenderingInterceptController 구성 요소를 상속하거나 인터페이스 ICubismRenderingInterceptor를 상속하는 2가지 방법이 있습니다.
CubismRenderingInterceptController 구성 요소 상속
CubismRenderingInterceptController 컴포넌트는 ICubismRenderingInterceptor와 ICubismUpdatable, 그리고 MonoBehaviour를 상속한 컴포넌트입니다.
일부 함수와 속성은 virtual로 설정됩니다.
int ExecutionOrder
Cubism 모델에 연결했을 때 OnLateUpdate()의 실행 순서를 제어하는 값
bool NeedsUpdateOnEditing
Cubism 모델에 연결했을 때 비재생 시(Edit 모드)에도 OnLateUpdate()의 업데이트 처리를 실시할지 여부에 대한 플래그
void OnLateUpdate()
매 프레임의 업데이트 처리를 할 때 이용하는 함수
void OnPreRendering()InvokeTiming.PreRendering 시 실행되는 함수
void OnPostRendering()InvokeTiming.PostRendering 시 실행되는 함수
ICubismRenderingInterceptor를 상속
인터페이스 ICubismRenderingInterceptor를 상속하는 경우 구현이 필요한 함수는 OnPreRenderingForPass()와 OnPostRenderingForPass()입니다.CubismRenderingInterceptorsManager에 대한 등록은 개별적으로 구현할 필요가 있습니다.
void OnPreRenderingForPass()
커스텀 렌더 패스로 렌더링 처리 직전에 호출되는 함수
void OnPostRenderingForPass()
커스텀 렌더 패스로 렌더링 처리 직후에 호출되는 함수