2017-10-27 2 views
0

Beim Starten VR-Tool auf dem Handy und beobachten direkt voraus, würde ich gerne die Ansicht haben, um das ganze Modell in der Mitte des Bildschirms zu zeigen. Die Aussicht sollte in einem leichten Winkel sein, so dass ich den ganzen Gebäudeboden sehen konnte. Momentan ist es direkt voraus, wodurch Sie eine Ansicht haben, in der Sie nicht das ganze Modell sehen können. Wie könnte ich das erreichen?Forge Sichtwinkel in mobilen VR

In diesem Autodesk-Beispiel befindet sich das Modell beispielsweise in der Mitte, wenn Sie VR eingeben.

http://viewervr.herokuapp.com/

Aktuelle Code, mit dem, was ich versuche, die Kameraposition

document.getElementById("toolbar-vrTool").addEventListener("click", function() { 
    let _navapi = viewer.navigation; 
    let _camera = _navapi.getCamera(); 

    let xValue = viewer.getCamera().position.x; 
    let yValue = viewer.getCamera().position.y; 
    let zValue = viewer.getCamera().position.z; 

    zValue = zValue * 0.5; 
    yValue = (zValue * 0.7071) * -1; 

    _camera.position.set(xValue, yValue, zValue); 
}); 

Aktuelle Ansicht

Current view

anzeigen Ich mag

haben würde anzupassen View I would like to have

Antwort

1

Es gibt eine Funktion namens fitToView(), die genau das tut, was Sie wollen. Sie müssen jedoch warten, bis die Geometrie vollständig geladen ist, bevor Sie sie verwenden. Ich habe im folgenden Beispiel auch einen Aufruf von setHomeViewFrom() hinzugefügt, um die Home-Position für die spätere Navigation auf das Positionsergebnis fitToView() zurückzusetzen.

oViewer.addEventListener (Autodesk.Viewing.GEOMETRY_LOADED_EVENT, onViewerGeometryLoaded) ; 


function onViewerGeometryLoaded() { 
    oViewer.removeEventListener (Autodesk.Viewing.GEOMETRY_LOADED_EVENT, onViewerGeometryLoaded) ; 
    oViewer.fitToView (true) ; 
    setTimeout (function() { oViewer.autocam.setHomeViewFrom (oViewer.navigation.getCamera()) ; }, 1000) ; 
}