A(渲染分组default),B(渲染分组toy)俩个摄象机,有2个分组group分别是default 和 toy,节点bNode及其子节点属于分组toy,精灵aSprite属于分组default.用B摄像机渲染renderTexture并将其设为精灵aSprite的纹理.通常情况下精灵的纹理能正常显示.若在节点bNode设置mask的话,mask无法生效,且renderTexutre大小内无图像的区域会被填充为白色(摄像机B的背景色为透明,clearFlags的Color也尝试过).
请问这种现象正常吗.
为避免理解上的偏差,麻烦你直接提供demo,这样处理起来更快点,谢谢。
DEMO已经提供了,麻烦你看下
你代码中调用 initWithSize 时,少传了一个参数:depthStencilFormat,正确示范如下:
let rt = new cc.RenderTexture();
rt.initWithSize(cc.visibleRect.width, cc.visibleRect.height, cc.gfx.RB_FMT_S8);
问题解决了,谢谢.
话说关于这个depthStencilFormat,文档上什么都没说啊,都不知道该传啥.
1赞
大佬,这个参数到底什么意思?具体用法是啥呀?
depthStencilFormat 是用于声明创建一个 x 位的深度纹理贴图。这个深度纹理贴图可以用于深度模板检测。才能用于 mask 和 3D 对象的截取。