Web端720°VR全景新手入門踩坑記錄:three.js+photo-sphere-viewer.js
如果對three.js一無所知的同學可以先看一篇關於three.js的介紹(什麼是three.js):
photo-sphere-viewer介紹可以直接看官網:
依賴包:
doT.js JS模板語言,類似於jade
uEvent(事件發射器庫,設計模式這本書中講過觀察者模式)
觀察者模式的介紹:
觀察者模式又叫釋出訂閱模式(Publish/Subscribe), 它定義了一種一對多的關係,讓多個觀察者物件同時監聽某一個主題物件, 這個主題物件的狀態發生變化時就會通知所有的觀察者物件, 使得它們能夠自動更新自己。 使用觀察者模式的好處: 支援簡單的廣播通訊,自動通知所有已經訂閱過的物件。 頁面載入後目標物件很容易與觀察者存在一種動態關聯,增加了靈活性。 目標物件與觀察者之間的抽象耦合關係能夠單獨擴充套件以及重用。
D.js Promises/A+規範
挽起袖子擼起來:
1.
啥!?馬上就報錯了?
找了一下原因,是因為 Photo-Sphere-Viewer-master 資料夾下也有three.min.js這個檔案,就是檔案拿錯了。
解決辦法:
three.min.js 在 three.js-dev > build 下面
js/photo-sphere-viewer.min.js 在 photo-sphere-viewer 直接資料夾下面
2.報錯沒有了,但是新的問題又來了,頁面內部還是一片空白,看看API文件
2.1原來是少了size,把size新增進去以後就出現了黑色的寬580,高300的黑色框框,因為效果圖沒有意義,就不放了,但是黑色的框框還是沒有圖片
<script>
var viewer = new PhotoSphereViewer({
container: 'viewer',
panorama: 'images/index/72.jpg',
size:{
width:580,
height:300
}
});
</script>
2.2原來是PSV只接受2:1比例的圖片,接著來
2.3從官網上下載了一張6000*3000的圖片,又報錯了:
THREE.WebGLRenderer: image is not power of two (6000x3000). Resized to 4096x2048
這段話的意思是讓我把6000*3000的圖片改成4096*2048大小的,我一直以為是圖片被自動重置為4096*2048,後來幻神幫我上了一堂英語課,Σ( ° △ °|||)︴
2.4改完了,還是黑屏一塊,但是報錯沒有了,真是個悲慘的訊息!
好了,到了這裡解決問題的手段就非常尷尬了,只能場外求助了遠在東海邊緣的師尊,直接上程式碼吧。
老師指出的第一點,就是檔案順序排列方式不能亂來,PSV的css移到head裡面是沒有問題的,但是腳本里面
1:three.js
2:D.min.js
3:doT.min.js
4:uevent.min.js
5:photo-sphere-viewer.min.js
6:JQ指令碼
其實這裡多說一句,three.js官網的指令碼和PSV官網的指令碼,我下載下來一起用發現會報錯,我不知道是不是版本的原因,如果遇到相同問題的同學可以加我QQ455988586,我把手裡的指令碼給你
最後就是呼叫一下:
如果不想讓圖片自動旋轉可以去掉後面的viewer.on...這段程式碼,具體API還是看官方文件。
另外附上一組網上的中文API呼叫介面:
相關推薦
Web端720°VR全景新手入門踩坑記錄:three.js+photo-sphere-viewer.js
如果對three.js一無所知的同學可以先看一篇關於three.js的介紹(什麼是three.js): photo-sphere-viewer介紹可以直接看官網: 依賴包: doT.js JS模板語言,類似於jade uEvent(事件發射器庫,設計模式這
hiv踩坑記錄:count(distinct col1,col2) 遇見某列中有null值,結果不準
count(distinct col1,col2) 遇見某列中中有null值,結果不準 SELECT count(DISTINCT col1,col2) from (SELECT 2 as col1,1 as col2 union all SELECT null as co
ABP項目入門踩坑
src load dbconnect 管理 .json fig 連接 登錄 admin 1.下載ABP項目模板, 打開網址https://aspnetboilerplate.com/Templates,選擇MultiPage Web Application,輸入項目名稱和驗
Office Web addin 踩坑計:替換後臺網站為MVC框架時遇到的問題
調試運行 pro add 9.png info img 但是 office 新建 Office Web Addin 模板程序的後臺本質上是一個網站,你在調試的時候可以發現它的進程是一個32位的IE進程 所以可以把它替換成Asp.net的網站。 替換方法: 1.點擊WordR
《Python量化交易教程》第一部分新手入門 第1天:誰來給我講講Python?
一、量化投資視訊學習課程 二、Python手把手教學 第1天:誰來給我講講Python? PS: 1.注意使用方法,這個以後都有大用 2.注意符號的使用方式 3.儘量用英文表達 4.本日學習內容以及其他注意事項: 今天學習了Python的基本頁面、操作,以及幾種主要的容器型別,天還要學習Pyt
新手入門(一): git 以及 github 的基本使用(建立及克隆專案)
概念 git: 是一個輔助我們開發的工具,在開發的過程中記錄我們每次提交程式碼的相關內容,比如誰在什麼時候修改或者新增了什麼功能等等,通過git 可以對我們的程式碼進行管理,也能借助git 將之前上傳的專案克隆到本地 github: 一個網站,上面有很多的開源專案,可以供我們下載原始
MVVM Light 新手入門(2) :ViewModel / Model 中定義屬性 ,並在View中呼叫 利刃 MVVMLight
今天學習MVVM架構中“屬性”的新增並呼叫,特記錄如下,學習資料均來自於網路,特別感謝翁智華的利刃 MVVMLight系列。 一個視窗的基本模型如下: View(檢視) -> ViewModel (檢視模型)-> 多個Model(模型) 注: 檢視是使用者在螢幕上看到
web端 - 返回上一步,點選返回,跳轉上個頁面 JS
1.方法一: <script language="javascript" type="text/javascript"> window.location.href="login.jsp?backurl="+window.location.href; </script>
web端 - 返回上一步,點擊返回,跳轉上個頁面 JS
href 返回 oca cat font color 頁面 span web 1.方法一: <script language="javascript" type="text/javascript"> window.location.href="log
Vue2配置axios跨域和從後端取資料賦值(踩坑記一)
Vue2配置axios跨域 這個系列主要記錄自己實習期間的踩坑過程,不完全準確,只能說這個方法確實解決了我自己的問題,歡迎交流,但不喜勿噴: main.js import Axios from 'axios' Vue.config.productionTip =
小程式新手入門填坑之“雲函式”
開發者可以使用雲開發來進行微信小程式的開發,無需搭建伺服器,就可以使用雲端能力。目前提供三大支援: 雲函式:在雲端執行的程式碼,開發者只需要編寫自身業務邏輯程式碼 資料庫:很省事,一個既可以在小程式前端操作,也能在雲函式中讀寫的JSON資料庫 儲存:在小程式前端直接上傳
微信小程式新手踩坑記錄(2)
此文用來記錄一個程式渣學習小程式的踩坑路程。 話不多說,開始記錄! ---------------------------------------------------------分割線----------------------------------------
《物聯網框架ServerSuperIO教程》-22.Web端對感測器實時監測與控制。附:v3.6.8版本,支援WebSocket
1.ServerSuperIO v3.6.8更新內容 1.1 增加WebSocket服務端功能,支援自控模式、併發模式、單例模式,不支援輪詢模式1.2 接收資料快取與現有的IO例項分離。1.3 優化程式碼。 2.監測與控制的結構圖 3.Web端對感測器監測與控制,視訊教程內容 外掛化驅
新手必踩坑之display: inline-block
今日勵志語 往日不可追,來日猶可期,祝大家2019年繼往開來 迷之間隙 我們建立一個導航列表,並將其列表 item 設定為 inline-block,主要程式碼如下: <div class="nav"> <div class="nav-item"&
微信小程式零基礎入門踩坑之路
微信小程式 小程式是一種新的開放能力,開發者可以快速地開發一個小程式。小程式可以在微信內被便捷地獲取和傳播,同時具有出色的使用體驗。 本人是一名忠實的Android研發,沒有出過軌,對於css html js等僅僅是一知半解,這是在業餘
【新手須知】Spring Boot 2.0.0 + MyBatis + Shiro + Swagger 開發專案踩坑記錄
寫在前面 Swagger 2.8.0 Spring Boot 2.0.0.RELEASE Shiro 1.4.0 Mybatis 1.3.1 填坑 踩坑一: MyBatis xml檔案
ABP框架入門踩坑-配置數據庫表前綴
api zh-cn default tables sin sof table 利用 .html 配置數據庫表前綴 ABP踩坑記錄-目錄 本篇其實和ABP關系並不大,主要是EF Core的一些應用-.-。 起因 支持數據庫表前綴應該是很多應用中比較常見的功能,而在AB
Cocos2d-X LUA 入門踩坑之小遊戲
作為一個剛剛入門的新人,接觸cocos2d-x也就半個多月,在這裡純屬個人看法以及踩過的一些坑,大神勿噴! 剛開始接觸cocos2d-x的時候,在官網下載cocos2d-x最新版,發現與所學教程的版本不太一樣,跟著舊版本quick做出來的東西在新版本下根本跑不
RocketMQ初入門踩坑記
本文主要是講在Centos中安裝RocketMQ並做簡單的示例。如果你按照本文安裝100%是可以成功的,如果按照阿里官方的說明,那隻能呵呵了~ 安裝 官方地址為:https://rocketmq.apache.org/docs/quick-start/ 本人安裝如下: //下載最新的rocketmq wg
Maya零基礎新手入門教程第一部分:介面
第1步:選單 如果您曾經使用過一個軟體,那麼您將習慣選單!在Maya中,選單包含用於在場景中工作的工具和操作。與大多數程式一樣,主選單位於Maya視窗的頂部,然後還有面板和選項視窗的單獨選單。您還可以使用熱盒訪問主選單中包含的選單。通過按住視圖面板中的空格鍵開啟它。 選單設定很可能對