Appearance
ThreeJS 常用功能
遮罩制作
Web 编辑器制作对应小程序中使用 Threejs 渲染引擎渲染,此时需要通过特殊的材质设置达到。
js
const maskMaterial = new THREE.MeshBasicMaterial({
color: 0xffffff,
side: THREE.DoubleSide,
colorWrite: false
});
同时,需要将用于做遮罩的 object 的 renderOrder 设置为 -1
如图,在 Web 编辑器中,放置两片用于做遮罩的片,将名字命名为 Mask(可任意,只是需要与后续代码上的处理对应) 在小程序接入中,添加如下代码,代码用于找到 Web 编辑器生成的场景中,名称为 Mask 的 Object,并赋予新的材质。
js
THREE = this.contentCpt.fnGetTHREE();
let myScene = this.contentCpt.fnGetScene();
let modelContent = myScene.getObjectByName("Scene");
// 用于做遮罩的材质
const maskMaterial = new THREE.MeshBasicMaterial({
color: 0xffffff,
side: THREE.DoubleSide,
colorWrite: false
});
// 遍历 Web 编辑器的 child,找到 name 为 Mask 的片赋予新的材质
modelContent.traverse((child) => {
if (child.name == 'Mask') {
child.material = maskMaterial;
child.renderOrder = -1
}
});
效果