绘制中断功能
最終更新: 2026年1月8日
此页面包含有关Beta版的描述。
概述
Cubism 5 SDK for Unity R5 beta 3中追加的此功能允许您在模型绘制物件(Drawable、Offscreen)的绘制处理前后调用任意处理。
可以以任意具有Renderer的物体和Cubism模型作为处理对象。
机制
当具有ICubismRenderingInterceptor接口的组件在CubismRenderingInterceptorsManager中注册时,该处理会在自定义渲染通道上绘制物件的绘制处理前后被调用。
Cubism SDK for Unity提供了CubismRenderingInterceptController组件,该组件继承了ICubismRenderingInterceptor,因此您可以立即使用绘制中断功能。
设置为在使用CubismRenderingInterceptController组件时,会在OnEnable()时自动注册到CubismRenderingInterceptorsManager。
用法
直接使用提供的组件
可以通过将组件附加到任意物体来使用它。CubismRenderingInterceptController
关于变量和函数
InvokeTiming InvokeTimingSetting
决定在绘制处理之前还是之后执行处理的枚举变量。
InterceptingMode Mode
用于在以下三种方法之间切换的枚举变量。
·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 接口。
继承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()
在自定义渲染通道中,绘制处理后调用的函数