本帖最后由 Felix.Li 于 2024-12-2 10:00 编辑
前置小章节-点击跳转
分享一组可以在全局对象下挂的方法显示隐藏方法:
1.显示传入模型,隐藏其他所有模型节点
- scene.showModel = (modelName) => {
- scene.meshes.forEach(item => {
- item.isVisible = false;
- });
- const mesh = scene.getMeshByName(modelName) || scene.getNodeByName(modelName);
- if (mesh) {
- mesh.getChildMeshes().forEach((item) => {
- item.isVisible = true;
- });
- mesh.isVisible = true;
- }
- }
复制代码
2.隐藏传入模型,显示其他所有模型节点
- scene.hiddenModel= (modelName) => {
- scene.meshes.forEach(item => {
- item.isVisible = true;
- });
- const mesh = scene.getMeshByName(modelName) || scene.getNodeByName(modelName);
- if (mesh) {
- mesh.getChildMeshes().forEach((item) => {
- item.isVisible = false;
- });
- mesh.isVisible = false;
- }
- }
复制代码
我们在场景加载完成时,注册这两个方法,就可以在其他地方通过快速调用直接实现显示和隐藏
注意,这个隐藏和显示的时候,会把其他所有节点都对应的显示和隐藏,所以如果场景有其他的显示或者隐藏,需要改一下第一步的:
- scene.meshes.forEach(item => {
- item.isVisible = false || True;
- });
复制代码 需要排除部分,而不是全部显示或者隐藏
系列链接:
【易学技巧】3D模型基本小技巧
【易学技巧】3D模型脚本分享-动态显示/隐藏tooltip
【易学技巧】3D模型脚本分享-相机跟随模型移动
【易学技巧】3D模型脚本分享-动态显示/隐藏指定节点
|
|