You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Incisor遮罩功能问题:两个GraphicObject遮罩未按预期生效

Incisor遮罩功能未生效:仅显示遮罩对象,无预期遮罩效果

核心问题是你只完成了遮罩对象的创建与标记,但没有将需要被遮罩的目标对象(this.whiteBox)关联到这个遮罩实例——这是遮罩流程里最关键的遗漏步骤。

问题原因

makeMasker()方法只是把当前GraphicObject标记为可作为遮罩的载体,但它不会自动将场景中其他对象纳入遮罩范围,必须手动指定哪个对象要应用这个遮罩规则。

修正方案

在现有代码中添加一行,调用被遮罩对象的setMask()方法,将其绑定到对应的遮罩实例上:

class ProjectMain {
    init() {
        this.whiteBox = new GraphicObject( nc.graphicAssets.WhiteBox, nc.mainScene, "WhiteBox" );

        this.masker = new GraphicObject( nc.graphicAssets.WhiteBox, nc.mainScene, "Masker" );
        this.masker.position.x = -40;
        this.masker.position.y = -40;
        this.masker.makeMasker( nc.masks.MainMask );
        
        // 新增:将目标方框绑定到遮罩,启用遮罩效果
        this.whiteBox.setMask( nc.masks.MainMask );
    }
}

额外优化(可选)

如果希望遮罩对象本身不显示在画面中,只起到遮罩作用,可以添加一行隐藏遮罩:

this.masker.visible = false;

内容的提问来源于stack exchange,提问作者Ginter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 10:32:33