我想在我自己的伪造查看器功能中使用BimWalk扩展的隐形传送属性。但是,我无法找到隐形传送的实现细节。有没有办法在伪造查看器中传送到模型的特定对象?
发布于 2020-05-07 18:02:26
最简单的方法是模拟鼠标交互,以触发传送并设置
// when in first person mode
const bimWalk = viewer.getExtension('Autodesk.BimWalk')
bimWalkExt.tool.navigator.teleporting = true
viewer.select(dbid)或者,您可以通过直接调用BimWalk扩展的导航器工具来设置传送的目的地,如下所示:
const navigator = bimWalkExt.tool.navigator
const camera = viewer.navigation.getCamera()
navigator.teleporting = true;
navigator.teleportTime = 0;
navigator.teleportInitial.copy(camera.position);
// Set target position, collision plus camera's height.
const cameraUp = getTempVector(camera.worldup);
cameraUp.multiplyScalar(navigator.get('cameraDistanceFromFloor') * this.metersToModel);
this.teleportTarget.copy(intersection.intersectPoint).add(cameraUp);
// On floor teleport ends on the spot.
this.teleportVelocity.set(0,0,0);正如Eason早些时候向您建议的那样,没有官方文档可用,因此您需要自己查看代码……
https://stackoverflow.com/questions/61634660
复制相似问题