我正在尝试在加载时最初将多个模型(聚合)加载到伪造查看器(v.6.x)上,但是我只想显示一个模型和其他默认隐藏的模型(可以在幽灵视图中显示) )。稍后,当用户从模型浏览器中单击眼睛图标时,该模型应该是可见/隐藏的。
我尝试在加载模型后调用viewer.hideModel(modelId)。但是,即使模型显示在模型浏览器中,当我单击它时,它仍未加载错误模型。
var showModel = false;
this.viewer.loadModel(url, {globalOffset: { x:0, y:0, z:0 }, modelNameOverride: modelName}, () =>
{
this.isModelLoaded = true;
this.viewer.caller = this;
this.addEventListenersToViewer();
if(!showModel){
this.viewer.hideModel(modelId); // This is to hide the model by default after loading.
}
},
errorMsg => {
this.isModelLoaded = false;
this.viewer.container.style.opacity = 0;
this.modelLoadError(this.fetchTranslationByKey('getModelError'));
}
);
预期的行为是允许用户从模型浏览器中进行选择,该模型将在最初加载的所有模型中显示/隐藏在查看器中(默认情况下应隐藏链接的模型)。
我得到的当前结果是链接的模型显示在模型浏览器中,但是当我单击它时,它说-未加载错误模型
答案 0 :(得分:0)
这里有几个问题:
使用箭头功能时,this
所指向的上下文是不同的,因此请小心
您是如何获得modelId
的?最好使用Viewer.impl.modelQueue()
我无法使用模型浏览器复制未加载模型错误。您能否提供更多详细信息或实时示例(jsfiddle / jsbin)?