1
選択したノードのdbidに基づいてカメラとターゲットを更新します。 dbidで取得したフラグメッシュに従ってカメラとターゲットを更新し、VRモードに移行します。現在、私はイベントリスナーGEOMETRY_LOADED_EVENTとOBJECT_TREE_CREATED_EVENTを持っています。コードを実行したりカメラを更新する前に待つべき他のイベントがありますか?カメラを更新する前に聴くべき正しいイベント
const nav = viewer.navigation;
const cam = nav.getCamera();
const it = viewer.model.getData().instanceTree;
let xPos, yPos, zPos;
it.enumNodeFragments(nodeId, (frag) => {
const mesh = viewer.impl.getRenderProxy(viewer.model, frag);
xPos = mesh.matrixWorld.elements[12];
yPos = mesh.matrixWorld.elements[13];
zPos = mesh.matrixWorld.elements[14];
}, false);
cam.position.set(xPos, yPos, zPos);
cam.target.set(xPos, yPos + 10000, zPos);
viewer.impl.sceneUpdated();
viewer.navigation.updateCamera();
document.getElementById("toolbar-vrTool").click();
それはカメラアングルが正しく非同期後に設定されているようです。これらの2つのイベントそれぞれについて、VRモードをクリックすると:document.getElementById( "toolbar-vrTool")。カメラはモデルから離れてジャンプし、同じカメラアングルを保持しません。 WebVR拡張機能をいつ使用する準備ができているか、何とか知ることができますか? –
イベントAutodesk.Viewing.EXTENSION_LOADED_EVENTを試して、ロードするAutodesk.Viewing.WebVR拡張子を確認してください –