成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

基于web的全景—— Pannellum小試

since1986 / 2732人閱讀

摘要:前言基于端的業(yè)務(wù)需求,為了更好地服務(wù)于用戶。需要在售賣端加上全景預(yù)覽的功能,目前用的是開發(fā)的產(chǎn)品,需要基于的全景預(yù)覽功能。關(guān)于初始化配置,對(duì)于多場景的全景來說最好使用和屬性組成的配置項(xiàng)。

前言
基于C端的業(yè)務(wù)需求,為了更好地服務(wù)于用戶。需要在售賣端加上全景預(yù)覽的功能,目前用的是web開發(fā)的產(chǎn)品,需要基于web的全景預(yù)覽功能。通過搜索查找比較,最終選擇使用pannellum。
Pannellum 小試
官網(wǎng)的首頁對(duì)pannelum的描述是,"Pannellum is a lightweight, free, and open source panorama viewer for the web. Built using HTML5, CSS3, JavaScript, and WebGL, it is plug-in free."

簡而言之,pannelum是輕量的(只有20kB)、免費(fèi)的、開源的一個(gè)基于web的全景插件。
那么從一個(gè)小小的demo開始。
HTML部分:





    
    
    
    全景
    
    



    

css代碼:

js部分:

window.addEventListener("load", bodyLoad);
var p;
function bodyLoad() {
    // 多場景配置
    p = pannellum.viewer("vrview", {   
        "default": {
            "firstScene": "circle",
            "author": "Juven",
            "sceneFadeDuration": 1000,
            "orientationOnByDefault": true,
            "showControls": false,
            "autoRotate": -2,
            "autoRotateInactivityDelay": 2000
        },

        "scenes": {
            "circle": {
                "title": "Sea Circle",
                "hfov": 110,
                "pitch": -3,
                "yaw": 117,
                "type": "equirectangular",
                "panorama": "../assets/images/pic2.jpg",
                "hotSpots": [
                    {
                        "pitch": -2.1,
                        "yaw": 132.9,
                        "type": "scene",
                        "text": "Spring House or Dairy",
                        "sceneId": "house"
                    }
                ]
            },

            "house": {
                "title": "Spring House or Dairy",
                "hfov": 110,
                "yaw": 5,
                "type": "equirectangular",
                "panorama": "../assets/images/pic1.jpg",
                "hotSpots": [
                    {
                        "pitch": -0.6,
                        "yaw": 37.1,
                        "type": "scene",
                        "text": "Mason Circle",
                        "sceneId": "circle",
                        "targetYaw": -23,
                        "targetPitch": 2
                    }
                ]
            }
        }
    });
}

打開這個(gè)html文件,在windowload事件開始時(shí)執(zhí)行初始化全景代碼,其中pannellum對(duì)象是掛載在window對(duì)象下的,調(diào)用viewer方法來初始化并返回一個(gè)viewer實(shí)例,第一個(gè)參數(shù)是元素的id(也可以是HTMLElement元素),第二個(gè)事配置對(duì)象,該對(duì)象下面可以是一些基本的配置參數(shù),也可以是由defaultscenes屬性組成的配置項(xiàng)。初始化時(shí),會(huì)將被掛載的元素append一些全景用到的元素。

關(guān)于初始化配置,對(duì)于多場景的全景來說最好使用defaultscenes屬性組成的配置項(xiàng)。詳細(xì)內(nèi)容可參考原文:A tour configuration file contains two top level properties, default and scenes. The default property contains options that are used for each scene, but options specified for individual scenes override these options. The default property is required to have a firstScene property that contains the scene ID for the first scene to be displayed. The scenes property contains a dictionary of scenes, specified by scene IDs. The values assigned to these IDs are specific to each scene.
用到的參數(shù)

查看pannellum的文檔,可以發(fā)現(xiàn)有很多功能豐富的配置項(xiàng);在這里主要介紹一些常用到的配置;

firstScene

全景的默認(rèn)場景,每個(gè)多場景的全景都需要在default里面配置此選項(xiàng);

author

作者名稱,全景圖生成時(shí),會(huì)在左下角顯示此配置的值;

sceneFadeDuration

全景圖場景切換時(shí)的持續(xù)時(shí)間,單位為:毫秒,使用的動(dòng)畫效果默認(rèn)為fade;

orientationOnByDefault

是否開啟重力感應(yīng)查看全景圖,默認(rèn)false

showControls

是否顯示控制按鈕,默認(rèn)true;

autoRotate

是否自動(dòng)旋轉(zhuǎn),在加載之后,全景圖會(huì)水平旋轉(zhuǎn)顯示,負(fù)數(shù)為往右邊旋轉(zhuǎn),整數(shù)為往左邊旋轉(zhuǎn),值為數(shù)字類型;(目前還不知道數(shù)字代表是角速度還是什么

autoRotateInactivityDelay

autoRotate設(shè)定的情況下,用戶停止操作多長時(shí)間后繼續(xù)自動(dòng)旋轉(zhuǎn),單位為毫秒;

scenes

場景,值為對(duì)象,其屬性名代表著場景的id(sceneId),屬性值為viewer的配置參數(shù),其參數(shù)會(huì)覆蓋默認(rèn)(上述中的default對(duì)象)設(shè)置的參數(shù);

hotSpots

熱點(diǎn),以全景為坐標(biāo)系的固定點(diǎn),可以設(shè)置鏈接跳轉(zhuǎn)和點(diǎn)擊事件,也可以跳轉(zhuǎn)到不同的場景,該屬性的值為對(duì)象,該對(duì)象有幾個(gè)常用的配置項(xiàng):

pitch 定位參數(shù), 單位:角度

yaw 定位參數(shù), 單位:角度

type 熱點(diǎn)類型,scene 場景切換熱點(diǎn); info 信息展示;

URL 以熱點(diǎn)為鏈接,跳轉(zhuǎn)到其他頁面的`url

sceneId 需要切換的場景id,當(dāng) typescene使用;

全景坐標(biāo)示意圖:

(圖片來源于網(wǎng)絡(luò))

總結(jié)

經(jīng)過一個(gè)小小的示例測試,目前在PC端的Chrome瀏覽器運(yùn)行正常流暢,在iPhoneSafari瀏覽器和微信運(yùn)行流暢,在低版本Android微信運(yùn)行略為卡頓,但還是能夠接受的范圍內(nèi);有個(gè)不好的地方就是pannellum的官方文檔是全英文的(可能我沒找到中文的)且解析的不夠全面,示例也不足夠多,總體來說pannellum還是不錯(cuò)的選擇,有需要的同學(xué)可以考慮一下。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/96516.html

相關(guān)文章

  • 現(xiàn)在做 Web 全景合適嗎?

    摘要:全景在以前帶寬有限的條件下常常用來作為街景和全景圖片的查看。后面,我們來了解一下,如何在端實(shí)現(xiàn)全景視頻?,F(xiàn)在對(duì)支持度也不是特別友好,但是,對(duì)于全景視頻來說,在機(jī)器換代更新的前提下,全景在性能方面的瓶頸慢慢消失了。 Web 全景在以前帶寬有限的條件下常常用來作為街景和 360° 全景圖片的查看。它可以給用戶一種 self-immersive 的體驗(yàn),通過簡單的操作,自由的查看周圍的物體。...

    psychola 評(píng)論0 收藏0
  • CSS 3D Panorama(全景) - 淘寶造物節(jié)技術(shù)剖析

    摘要:淘寶造物節(jié)的活動(dòng)頁就是全景的一個(gè)很贊的頁面,它將全景圖分割成等份,相鄰的元素構(gòu)成的夾角,相鄰兩側(cè)面相對(duì)于棱柱中心所構(gòu)成的夾角。 本文轉(zhuǎn)自凹凸實(shí)驗(yàn)室:https://aotu.io/notes/2016/08... showImg(https://segmentfault.com/img/remote/1460000011381045); 前言 3D 全景并不是什么新鮮事物了,但以前...

    LiuRhoRamen 評(píng)論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.35 - WebGL:打開網(wǎng)頁看大片

    摘要:在文末,我會(huì)附上一個(gè)可加載的模型方便學(xué)習(xí)中文藝術(shù)字渲染用原生可以很容易地繪制文字,但是原生提供的文字效果美化功能十分有限。 showImg(https://segmentfault.com/img/bVWYnb?w=900&h=385); WebGL 可以說是 HTML5 技術(shù)生態(tài)鏈中最為令人振奮的標(biāo)準(zhǔn)之一,它把 Web 帶入了 3D 的時(shí)代。 初識(shí) WebGL 先通過幾個(gè)使用 Web...

    objc94 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<