Comment prendre en charge la fonctionnalité WebVR dans Forge Viewer
我想大声告诉你
我想大声告诉你 2017-05-19 10:29:33
0
1
757

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 ?

我想大声告诉你
我想大声告诉你

répondre à tous(1)
PHPzhong

À 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;
};
 
 
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal