# 描边2

描边2可以支持绘制透明物体的轮廓线,并且支持多套不同参数。

# 初始化

使用Outline2类添加描边效果。

import { 
    
    Postprocessing, 
    Outline2, 
    KernelSize

} from '@tx3d/postprocessing';

// 创建后处理类
const postprocessing = new Postprocessing( engine );

// 添加后处理效果
const effect = postprocessing.addEffect( Outline2,
    {
        resolutionY: 480, 				// 分辨率
        edgeStrength: 24,			// 强度
        pulseSpeed: 0.4, 			// 动画间隔
        visibleEdgeColor: 0x0091ff, // 描边的颜色
        blur: true, 				// 是否模糊
        kernelSize: KernelSize.SMALL, // 模糊强度 VERY_SMALL SMALL MEDIUM LARGE VERY_LARGE HUGE
        xRay: true,					// 是否显示被遮挡描边
    }
);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

提示

描边初始化参数,详见OutlineParams

# 接口

🌏 addOutline 根据指定参数增加一套新的描边效果

// 增加一套描边效果
effect.addOutline(
    {
        edgeStrength: 3,			// 强度
        pulseSpeed: 0.4, 			// 动画间隔
        visibleEdgeColor: 0x00ffee, // 可见的颜色
        edgeDetectionAlpha: 0.2	    // 边缘检测透明度阈值

    }
);
1
2
3
4
5
6
7
8
9
10

提示

每套描边效果 都有对应的索引 第一套对应0 第二套对应1 以此类推。
在后面的所有方法中 都需要传入对应的索引 来控制不同的描边效果。

🌏 removeOutline 根据索引删除不同的描边效果

outlineEffect.removeOutline([0, 1]);
1

🌏 setOutline 设置要描边的对象

effect.setOutline(component, true, 0);
1

🌏 setEdgeStrength 设置描边强度

effect.setEdgeStrength(3, 0);
1

🌏 setVisibleEdgeColor 设置描边颜色

effect.setVisibleEdgeColor(0x333333, 0);
1

🌏 getVisibleEdgeColor 获取描边颜色

effect.getVisibleEdgeColor(0);
1

🌏 setPulseSpeed 设置动画速度

effect.setPulseSpeed(0.4, 0);
1

🌏 setBlurSize 设置模糊大小

effect.setBlurSize(KernelSize.SMALL, 0);
1

🌏 setEdgeDetectionAlpha 设置检测透明度阈值

effect.setEdgeDetectionAlpha( 0, 0 );
1
Last Updated: 7/3/2023, 10:30:41 AM