如何解决多个模型坐标不匹配伪造查看器的问题
我有两个应该完美对齐的模型,但是它与第一个模型具有相同的全局偏移量,并将其应用于第二个模型,这会产生对齐问题。
基本上我希望我的两个模型都放置在自己的坐标上。
即使我提供了globalOffset:{x:0,y:0,z:0},其破坏也是如此。
我的代码:
Autodesk.Viewing.Initializer(options,() => {
const div = document.getElementById('forgeViewer');
viewer = new Autodesk.Viewing.Private.GuiViewer3D(div);
viewer.start();
urn.map((m)=>{
Autodesk.Viewing.Document.load(`urn:${m.urn}`,(doc) => {
var viewables = doc.getRoot().getDefaultGeometry();
var modelOption = {
keepCurrentModels: true,applyScaling: 'm'
};
onDocumentLoadSuccess(doc,modelOption);
});
})
});
}
function onDocumentLoadSuccess(doc,opt) {
var viewables = doc.getRoot().getDefaultGeometry();
viewer.loadDocumentNode(doc,viewables,opt).then(i => {
viewer.addEventListener(Autodesk.Viewing.OBJECT_TREE_CREATED_EVENT,function () {
// extra code
});
});
}
解决方法
您可以在此处检查我的示例(MultipleModelUtil),然后转到line#147 将 globalOffset 应用于第二个模型。或在此处检查AggrefatedView:https://forge.autodesk.com/blog/loading-multiple-models-forge-viewer-v7
注意。请不要将globalOffset设置为{x:0,y:0,z:}
,您会遇到Z-fighting问题(例如,模型轻弹...)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。