Maison  >  Questions et réponses  >  le corps du texte

Comment prendre en charge la fonctionnalité WebVR dans Forge Viewer

Nous pouvons parcourir les modèles 3D en utilisant Forge Viewer. Forge Viewer prend-il actuellement en charge la fonction VR ? Surtout WebVR ? Comment soutenir ?

我想大声告诉你我想大声告诉你2679 Il y a quelques jours695

répondre à tous(1)je répondrai

  • PHPz

    PHPz2017-05-19 10:31:33

    À partir de Forge Viewer version 2.12, une extension a été ajoutée pour prendre en charge WebVR, il vous suffit donc essentiellement d'appeler viewer.loadExtension("Autodesk.Viewing.webVR"). Cependant, comme WebVR n'est pas encore devenu un standard du W3C et est encore au stade expérimental, seuls certains navigateurs peuvent le prendre en charge. Pour plus de détails, veuillez vous référer à https://webvr.info.

    Ici, nous parlons uniquement de la prise en charge de WebVR dans Forge Viewer. Étant donné que de nombreux navigateurs ne peuvent actuellement pas prendre en charge nativement WebVR, Forge Viewer fournit également WebVR Polyfill pour le prendre en charge. Cependant, cela commence à partir de la version 2.13 de la visionneuse. dans le code source Voir le code suivant :

    .
    Autodesk.Viewing.Extensions.WebVR.VRExtension.prototype.load = function() {
        var self = this;
        var _vrDisplay = null;
    
        // check if browser supports webVR1.1 natively, if not, load polyfill
        avp.loadDependency('VRFrameData', 'webvr-polyfill.min.js', function() {
            navigator.getVRDisplays().then(function(displays) {
                if (displays.length > 0) {
                    _vrDisplay = displays[0];
                    if (_vrDisplay.capabilities.canPresent) {
    
                        // VR detected, add the 'VR button'
                        var viewer = self.viewer;
                        var toolbar = viewer.getToolbar(true);
                        var avu = Autodesk.Viewing.UI;
    
                        // Register tool
                        self.tool = new Autodesk.Viewing.Extensions.WebVR.VRTool(viewer, self, _vrDisplay);
                        viewer.toolController.registerTool(self.tool);
                        self.createUI(toolbar);
    
                        // Register listeners
                        self.onToolChanged = function(e) {
                            var vrToolActive = (e.toolName === 'vr') && e.active;
                            var state = vrToolActive ? avu.Button.State.ACTIVE : avu.Button.State.INACTIVE;
                            self.vrToolButton && self.vrToolButton.setState(state);
                        };
                        viewer.addEventListener(Autodesk.Viewing.TOOL_CHANGE_EVENT, self.onToolChanged);
                        return;
                    }
                }
                avp.logger.warn('Attempted to load WebVR extension, but WebVR is not supported.');
            });
        });
        return true;
    };
     
     

    répondre
    0
  • Annulerrépondre