Bagaimana untuk menyokong fungsi WebVR dalam Forge Viewer
我想大声告诉你
我想大声告诉你 2017-05-19 10:29:33
0
1
739

Kami boleh menyemak imbas model 3D dengan menggunakan Forge Viewer Adakah Forge Viewer kini menyokong fungsi VR? Terutamanya WebVR? Bagaimana untuk menyokong?

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

membalas semua(1)
PHPzhong

Bermula dari Forge Viewer versi 2.12, Extension telah ditambahkan untuk menyokong WebVR, jadi pada asasnya anda hanya perlu memanggil viewer.loadExtension("Autodesk.Viewing.webVR"). Walau bagaimanapun, memandangkan WebVR belum lagi menjadi standard W3C dan masih dalam peringkat percubaan, hanya beberapa penyemak imbas boleh menyokongnya untuk butiran, sila rujuk https://webvr.info.

Di sini kita hanya bercakap tentang sokongan WebVR dalam Forge Viewer Memandangkan banyak penyemak imbas pada masa ini tidak menyokong WebVR secara asli, Forge Viewer juga menyediakan WebVR Polyfill untuk menyokongnya, ia boleh didapati dalam kod sumber Lihat kod berikut:

.
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;
};
 
 
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan