国产精品美女久久久浪潮软件_欧美激情麻豆_欧美日韩视频在线_中日韩美女免费视频网址在线观看_亚洲欧洲一区二区天堂久久_欧美伦理91_亚洲区欧美区_精东粉嫩av免费一区二区三区_亚洲精选一区_午夜久久99_欧美国产亚洲另类动漫_亚洲欧美一区二区原创_99这里有精品_亚洲视频在线观看网站_狠狠色狠狠色综合日日小说_久久婷婷国产综合尤物精品

 
您現在的位置:首頁 ? 知識庫 ? 軟件開發 ? AR/VR開發 AR/VR開發
AR.js 初探
發布日期:2018-03-16

寫之前說幾句,以下示例和參考都是github上的開源作品,小編只是分享在使用過程中的踩坑和開發心得。本文適用于小白,由于例子中可能需要使用到shell命令,小編的電腦操作系統是windows 7,如果是mac請自行轉換為對應的命令行。

AR技術(增強現實技術Augmented Reality,簡稱 AR),AR技術在Native中已經興起了,并且市場上有許多成功的APP,但是對于JavaScript怎么來玩轉AR呢?下面我來簡單的給大家演示兩個不同版本,不同場景的AR小例子。

1.首先需要先到github上搜索ar.js,如下圖,有2.8K star的就是了。

目錄結構如下,大家可以download zip,或者git clone下來

咱們的例子主要在這個開源庫上更改,它的一級目錄,aframe data three.js webvr-polyfill,一看就很清晰了,今天咱們單刀直入,只看three.js部分,當然也要依賴于data目錄里的數據。

事先準備,為了以后的靈活擴展,建議大家下載一份最新的three.js源碼,里面有完整的例子和源碼可以借鑒。

把項目download下來以后,需要部署到web服務器上,然后運行一下里面的例子,下面我以dev.html舉例。目錄結構如下:

這個頁面比較簡潔,不到300行的代碼,咱們需要關注兩塊內容,就可以完成對這個頁面例子的改動。

這幾行代碼什么意思呢,就是一個匹配的規則,匹配的文件是data目錄中的Market標識,說白了就是用讓攝像頭識別這個標記,官方示例給的標記是patt.hiro,這個標記的來源圖片對應著data目錄中的images/hiro.png 這張圖,怎么用這張圖來生成patt.hiro這個標記呢,這時我們需要使用一個SDK工具,微小輕量級的,大家別擔心是很重的安裝包。這個工具叫artoolkit,就是AR工具箱,進入官網以后點download下載,我選擇的是這個

安裝完成以后,進入到D:\Program Files (x86)\ARToolKit5\bin 目錄下,接下來我們就要自定義一個標記了,這里的標記是傳統的長方形標記,第一代market,稍后會增加自然圖片的market,這里第一代market我是用div畫的,具體的效果如下:

最外層的邊框 最好為黑白色,這個是官方的文檔上建議的 參考鏈接market,然后呢把這個效果截圖保存到我們剛才下載的SDK D:\Program Files (x86)\ARToolKit5\bin\image下,沒有image目錄就新建一個,用cmdD:\Program Files (x86)\ARToolKit5\bin目錄,運行mk_patt.exe

會彈出相機的配置選項,默認的確定就行,然后相機啟動以后,把我們剛才生成的圖片,對準相機然后相機識別以后會出現紅綠色邊框線,并且出現左上角識別的文字,這時請注意文字的方向是否正確。


然后點擊鼠標左鍵,回到命令行,輸入文件名稱patt.td,然后再當前的Bin目錄下找到該文件

回到AR.js-master項目中,打開data/multi/目錄把剛生成的標識文件放進去,接下來回到three.js/examples/dev.html中,在chrome中打開該頁面,這里有個坑,如果是外網想訪問攝像機,必須走https協議,下面是我web服務的url地址:

127.0.0.1:18080/AR.js-m

效果如下:

這里聲明必須使用兩臺設備,我的電腦打開我開發的網頁,手機上保存的是我們剛才生成的market!也可以使用兩臺手機,最好是比較新的android機器,支持webrtc的設備

接下來如果例子運行成功以后,大家會發現我的3D模型和官方的例子并不一致,模型怎么替換呢,這就涉及到前面我說的第二處注意的地方,替換模型,并不需要改大量的源碼,只需要注釋掉一小部分就行。

我注釋掉的部分是官方的模型運行的代碼。上面部分則是three.js中的源碼,我這是在紅框的地方更改一下模型的定位。我這個模型大家可以直接參考three.js源碼中three.js-r82\examples\webgl_loader_collada.html 這個html文件,可以直接運行的例子,將如下代碼替換掉dev.html中我注釋的部分即可,具體請參考截圖,并不是完全替換。

var loader = new THREE.ColladaLoader();
 
loader.options.convertUpAxis = true;
loader.load( './models/collada/monster/monster.dae', function ( collada ) {
       dae = collada.scene;
       dae.traverse( function ( child ) {
       if ( child instanceof THREE.SkinnedMesh ) {
var animation = new THREE.Animation( child, child.geometry.animation );
                  animation.play();
               }
             });
             dae.scale.x = dae.scale.y = dae.scale.z = 0.002;
            dae.updateMatrix();
            init();
            animate();
});
 

還需要引入依賴的js文件,只需要把這幾個文件增加到AR.js-master項目中即可,three.js已經有了,余下的拷過去就行。

最后一個自定義標識的ar h5小程序就生成了,大家可以替換自己想用的3D模型,也可以條形碼生成market,也可以將標識打印到A4紙上,用手機打開url掉出照相機,對著該market一掃,就出現了增強現實的模型,很贊吧!

接下來說說自然圖片的標識怎么生成:

先使用SDK工具進入到D:\Program Files (x86)\ARToolKit5\bin目錄,我在這新建一個image文件夾,里面拷了一張.jpg的圖片,然后用命令行打開這級目錄:

直接enter 使用默認值,到這一步需要輸入分辨率

默認是220,然后再輸入一個區間,按照提示輸入6220

然后就會采集圖片的坐標點

收集完成以后會生成如下文件

我們將生成的NTF文件拷入到AR.js-master項目中data/dataNTF中,我這里新建了一個目錄叫dayan的文件夾,并將文件粘貼進去,標識生成以后需要做測試了,怎么測試呢,找到如圖的nft_threejs.html,這是官方用來測試自然圖片的demo.

找到加載標識的地方,這里需要替換一下路徑,官方的路徑在web服務上會有問題

這里需要注釋一下這個function回調里的代碼,


替換成如下代碼:

var markerRoot = arController.createThreeNFTMarker(markerId);
var loader = new THREE.ColladaLoader();
loader.options.convertUpAxis = true;
loader.load(location_path+ 'three.js/examples/models/dae/monster.dae', function (collada) {
       dae = collada.scene;
       dae.traverse( function (child) {
if (child instanceof THREE.SkinnedMesh) {
       var animation = new THREE.Animation( child, child.geometry.animation );
       animation.play();
    }
});
       dae.position.z = 40;
       dae.position.x = 80;
       dae.position.y = 80;
       dae.rotation.set( 0,Math.PI/2,Math.PI/2);
       dae.updateMatrix();
       markerRoot.add( dae );
       arScene.scene.add(markerRoot);    
 
});

最后代碼如下圖,

然后我們來跑一下我們的自然圖片例子。效果如下

如果大家需要調整模型的位置和角度,請更改positionrotation的值,涉及到一定的數學原理,不會的自己調調找感覺。

最后把我制作的market圖片貼一下


參考文檔:

Creating and Training Traditional Template Square Markers
Training ARToolKit Natural Feature Tracking (NFT) to Recognize and Track an Image
NFT Utilities for ARToolKit

demo list:

測試AR例子
自然圖片識別例子

github源碼:
dragonHu/ar_test_demo

都是國外的網站,打開可能比較慢,然后大家閱讀英文文檔吃力的,可以使用google翻譯 翻譯一下,我這只是在AR.js上初步研究了一下,并沒有深入,希望大家多提意見交流,我也實現了播放視頻的例子,大家可以參考demo列表中的例子,我就不貼代碼了。為了精準的展示例子,請大家把攝像頭對準Market

目前H5 AR還是有很多壁壘和坑的,文檔也相對較少,涉及的面比較多,設備性能也是問題,但是對于新技術的探索還是很有趣的,希望我這篇文章能幫到一些開發人員。

  • 1.公司登記注冊于2003年1月27日,清遠市桑達電子網絡媒體有限公司
    2.公司2006年起成為清遠市政府定點協議供貨商,電子采購供貨商
    3.公司2007年被清遠市相關政府部門評為安防行業狀元
    4.公司2007年起成為長城電腦清遠如意服務站(SP368)
    5.公司2007年承建清遠市橫河路口電子警察工程,開創清遠電子警察先河。
  • 6.公司2007年起成為IBM合作伙伴、公司2010年底成為金蝶軟件清遠金牌代理(伙伴編號:30030013)
    7.公司組團隊參加南方都市報組織的創富評選,獲廣東80強。公司申請多項軟件著作權、專利權
    8.2016年起公司成為粵東西北地區為數不多的雙軟企業,確立“讓軟件驅動世界,讓智能改變生活!"企業理想
    9.2016-01-29更名為廣東互動電子網絡媒體有限公司
    10.2021-01-13更名為廣東互動電子有限公司
  • 投資合作咨詢熱線電話:0763-3391888 3323588
  • 做一個負責任的百年企業! 天行健,君子以自強不息;地勢坤,君子以厚德載物;
    為用戶創造價值! 讓AI驅動世界; 讓智能改變生活; 超越顧客期望,幫助顧客成功;
    對客戶負責,對員工負責,對企業命運負責!幫助支持公司的客戶成功;幫助忠誠于公司的員工成功!
  • 聯系電話:0763-3391888 3323588 3318977
    服務熱線:18023314222 QQ:529623964
  • 工作QQ:2501204690 商務QQ: 602045550
    投資及業務投訴QQ: 529623964
    微信:小米哥 微信號:qysed3391888
    騰訊微博:桑達網絡-基石與起點
  • E-MAIL:222#QYSED.CN ok3391888#163.com (請用@替換#)
在線客服
  • 系統集成咨詢
    點擊這里給我發消息
  • 網站\微信\軟件咨詢
    點擊這里給我發消息
  • 售后服務
    點擊這里給我發消息
  • 投資合作
    點擊這里給我發消息
国产精品美女久久久浪潮软件_欧美激情麻豆_欧美日韩视频在线_中日韩美女免费视频网址在线观看_亚洲欧洲一区二区天堂久久_欧美伦理91_亚洲区欧美区_精东粉嫩av免费一区二区三区_亚洲精选一区_午夜久久99_欧美国产亚洲另类动漫_亚洲欧美一区二区原创_99这里有精品_亚洲视频在线观看网站_狠狠色狠狠色综合日日小说_久久婷婷国产综合尤物精品
亚洲欧美视频一区二区三区| 亚洲a中文字幕| 搞黄在线观看| 欧美日韩精品在线播放| 91精品久久久久久久91蜜桃| 国产日韩第一页v| 日韩视频免费直播| 欧美亚洲国产激情| 精品九九久久| 久久精品久久精品亚洲人| 欧美91精品| 国产欧美综合视频| 色综合久久88色综合天天免费| 国产日韩在线亚洲字幕中文| 亚洲综合三区| wwwwww在线观看| 欧美不卡视频一区发布| 国产一级免费看| 国产一卡2卡3卡免费网站| 狠狠色综合色区| 国产激情在线视频| 91麻豆精品国产91久久久使用方法| 国产日韩中文字幕| 在线手机中文字幕| 麻豆精品99| av中文在线播放| av免费网站在线| 国产在线二区| 91精品免费观看| 免费国产h视频在线观看86| 日韩美女视频一区二区在线观看| 欧美中文字幕| 99亚洲视频| 欧美亚洲专区| 亚洲综合在线中文字幕| 日本亚洲欧美天堂免费| 国产无遮挡在线视频免费观看| 欧美日韩在线视频免费观看| 日韩欧美99| 日韩精品视频网| 亚洲一级影院| 欧美.日韩.国产.一区.二区| 中文字幕第一页在线播放| 日韩精品视频中文字幕| 国产高清不卡av| 日韩福利视频导航| 亚洲欧美久久234| 欧美三级在线看| 欧美91精品| 在线视频日韩欧美| 欧美三级在线播放| 一区二区高清在线| 亚洲热线99精品视频| 久久99蜜桃精品久久久久小说| 亚欧成人精品| 中文官网资源新版中文第二页在线观看| av三级在线播放| 免费一级欧美在线观看视频| 欧美日韩性视频| 一区二区精品| 日韩免费视频| 91麻豆精品在线| 91精品久久久久久久久久| 欧美日韩成人一区二区| av中文在线资源| 中文字幕在线导航| 精品无人国产偷自产在线| 欧美日韩久久久| 欧美日韩久久不卡| 欧美日韩三级在线观看| 日韩精品视频在线观看网址| 精品日韩在线观看| 国产婷婷色一区二区三区在线| 欧美 日韩 国产 在线观看| 日本一欧美一欧美一亚洲视频| 午夜黄色小视频| 国产高清精品二区| av免费不卡国产观看| 蜜桃精品视频| 日韩欧美色综合网站| 欧美日韩精品综合在线| 中文精品在线观看| 美国av一区二区| 一本一道久久a久久精品综合蜜臀| 国产在线中文字幕| www中文字幕| 国产欧美日韩视频在线| 日韩视频在线免费播放| 91精品国产综合久久久久| 欧美,日韩,国产在线| 欧美日韩免费精品| 日韩av中文字幕一区| www.老鸭窝.com| 日韩中文首页| 久久99精品久久久久久青青日本| 日韩精品在线私人| 国产在线精品日韩| 亚洲校园欧美国产另类| 精品久久在线观看| 中文字幕在线视频日韩| 在线视频不卡国产V| 久久夜色精品国产噜噜亚洲av| 99国产成 人 综合 亚洲欧美| 中文字幕亚洲区| 麻豆精品视频入口| 亚洲乱码一区av黑人高潮| 一本一道久久a久久精品综合蜜臀| 欧美日韩日本视频| 一区二区视频免费看| 国产婷婷一区二区| 亚洲羞羞网站| 91精品久久久久久蜜臀| 日韩中文字幕在线视频播放| 91精品在线观看国产| 欧美日韩国产系列| 国产高清精品在线观看| 日韩中文在线字幕| 国产69精品久久久久孕妇国产69久久| 日韩高清不卡一区二区| 国产黄在线观看| 欧美国产一区视频在线观看| 中文字幕在线观看亚洲| 日韩视频 中文字幕| 国产黄色精品| 欧美日韩成人综合| 欧美日韩三级一区| 久久久久久99精品| 日韩av在线中文字幕| 国产欧美 在线欧美| 亚洲一区在线观看免费| 黄色一级大片在线免费看国产一| 欧美日韩精品区| 日韩在线观看一区| 免费一级欧美在线观看视频| 成人禁用看黄a在线| 亚洲一区三区在线观看| 欧美婷婷精品激情| 国产福利免费观看| 日韩中文字幕在线观看视频| 亚洲综合在线视频| 1区2区3区在线视频| 欧美日韩视频网站| 日韩久久在线| 最近中文字幕在线中文视频| 日韩精品在线私人| 中文字幕线观看| 国产v日产∨综合v精品视频| 中文字幕国产亚洲| 国产在线拍揄自揄拍| 国产欧美日韩中文字幕| 日韩三级精品电影久久久| 国内激情久久| 伊人www22综合色| 一级日韩一级欧美| 亚州福利视频| 国产91久久久久| 日本不卡免费高清视频| 日韩精品视频在线免费观看| 欧美日韩国产影片| 国产欧美综合在线| 日韩精品视频免费| 国产乱国产乱老熟300| 欧美黄页在线免费观看| 中文在线а√在线8|