开发 web3d 项目,有时候需要临时隐藏一个模型,或者一个模型处于隐藏状态,需要重新恢复显示
模型属性.visible
模型对象的父类 Object3D 封装了一个属性.visible,通过该属性可以隐藏或显示一个模型
js
mesh.visible = false; // 隐藏一个网格模型,visible的默认值是true
group.visible = false; // 隐藏一个包含多个模型的组对象group
js
mesh.visible = true; // 使网格模型mesh处于显示状态
材质属性.visible
材质对象的父类 Material 封装了一个.visible 属性,通过该属性可以控制是否隐藏该材质对应的模型对象
js
// mesh1.material.visible = false; // 如果这样操作, 那么mesh1和mesh2的材质都会更改为不可见,为了不影响mesh2,mesh1的材质需要克隆材质
mesh1.material = material.clone();
mesh1.material.visible = false;
// 如果多个模型引用了同一个材质,如果该材质.visible设置为false,意味着隐藏绑定该材质的所有模型
// material.visible = false;
注意:如果多个模型引用了同一个材质,如果该材质.visible 设置为 false,意味着隐藏绑定该材质的所有模型