Autodesk Viewer点击加载FirstPerson、bimwalk扩展报错无法加载问题
Forge Viewer 加载FirstPerson、BimWalk扩展的正确方案
你触发报错的核心原因是:这两个扩展属于Viewer的可选延迟加载扩展,未加载前不会挂载到Autodesk.Viewing.Extensions全局命名空间下,不需要手动调用构造函数实例化,统一通过Viewer实例的loadExtension方法传入对应扩展ID加载即可。
1. FirstPerson(第一人称)扩展加载方法
正确扩展ID为Autodesk.FirstPerson,加载代码示例:
// viewer为你已经初始化完成的Viewer3D实例,将这段逻辑放到你的点击事件回调中即可 viewer.loadExtension('Autodesk.FirstPerson') .then(firstPersonExt => { // 加载完成后激活第一人称模式 firstPersonExt.activate() // 需要退出时调用 firstPersonExt.deactivate() }) .catch(err => console.error('FirstPerson扩展加载失败:', err))
2. BimWalk(BIM漫游)扩展加载方法
正确扩展ID为Autodesk.BimWalk,加载代码示例:
viewer.loadExtension('Autodesk.BimWalk') .then(bimWalkExt => { // 激活漫游模式 bimWalkExt.activate() // 可自定义漫游参数,例:设置移动速度为5米/秒 bimWalkExt.navigator.setWalkSpeed(5) }) .catch(err => console.error('BimWalk扩展加载失败:', err))
注意事项
- 两个漫游类扩展不要同时激活,会出现操作逻辑冲突,激活新的漫游扩展前需先停用已激活的另一个
- 重复调用
loadExtension方法不会重复加载扩展,已加载过的扩展会直接返回已有实例 - 移动端场景优先使用BimWalk扩展,已原生适配触摸操作
内容的提问来源于stack exchange,提问作者user17096286
相关产品推荐
相关产品推荐

