久久精品A一国产成人免费网站-久久精品爱国产免费久久-久久精品操-久久精品成人免费看-国产一级毛片在线-国产一级免费片

 
您現在的位置:首頁 ? 知識庫 ? 軟件開發 ? 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
  • 做一個負責任的百年企業! 天行健,君子以自強不息;地勢坤,君子以厚德載物;
    為用戶創造價值! 讓軟件驅動世界; 讓智能改變生活; 超越顧客期望,幫助顧客成功;
    對客戶負責,對員工負責,對企業命運負責!幫助支持公司的客戶成功;幫助忠誠于公司的員工成功!
  • 聯系電話:0763-3391888 3323588 3318977
    服務熱線:18023314222 QQ:529623964
  • 工作QQ:2501204690 商務QQ: 602045550
    投資及業務投訴QQ: 529623964
    微信:小米哥 微信號:qysed3391888
    騰訊微博:桑達網絡-基石與起點
  • E-MAIL:222#QYSED.CN ok3391888#163.com (請用@替換#)
在線客服
  • 系統集成咨詢
    點擊這里給我發消息
  • 網站\微信\軟件咨詢
    點擊這里給我發消息
  • 售后服務
    點擊這里給我發消息
  • 投資合作
    點擊這里給我發消息
午夜麻豆国产精品无码| 麻豆一区二区99久久久久| 亚洲AⅤ天堂AV天堂无码| 亚洲日韩中文第一精品| 狠狠色噜噜狠狠狠狠AV| 日本WINDOWS免费吗| 97大学生情侣真实露脸在线| 蜜臀av色欲一区二区三区麻豆 | 亚洲国产成人片在线观看无码| 国产男男Gay做受ⅩXX高潮| 无码YY4800亚洲私人影院| 国产精品VA在线观看无码| 天堂√最新版中文在线地址| 国产AV高清无亚洲| 少妇高潮抽搐无码久久AV| 丰满人妻少妇无码喷水| 欧美日韩一区精品视频一区二| 亚洲精品中文字幕无码专区| 后入内射无码人妻一区| 亚洲国产成人久久一区二区三区| 狠狠躁夜夜躁人人爽天天古典| 亚洲AV无码专区国产乱码APP| 黑料社ZZTT.WIN免费观看| 亚洲ΑV无码一区二区三区四区 | 中文字幕无码无码专区| 女人自慰喷水全过程免费观看| 亚洲国产精品日韩AV专区| 精品久久久久久中文墓无码| 午夜无遮挡男女啪啪免费软件| 公粗挺进了我的密道在线观看| 四虎库影必出精品8848| 国产精品无码AV片在线观看播放| 小寡妇高潮喷水了| 黑人精品欧美一区二区蜜桃| 亚洲熟妇AV乱码在线观看 | 在线观看亚洲av| 免费看的WWW哔哩哔哩| 999在线视频精品免费播放观看| 欧洲肉欲K8播放毛片护士报告| 7777色情XXXX欧美| 欧美最厉害的喷水VIDEOS| 成人无码区免费A∨电影| 四十如虎的丰满熟妇啪啪| 国产网红在线_电影频道| 亚洲人成网站18禁止大| 邻居少妇人妻HD高清大乳在线| 91人妻人人澡人人爽人人| 日本AⅤ精品一区二区三区日| 公玩弄年轻人妻HD| 他用嘴巴含着我奶头吸怎么办| 国产精品亚洲VA在线| 亚洲精选无码久久久| 麻花豆传媒剧国产MV网站入口 | 亚洲AV中文AⅤ无码AV浪潮| 久久久久久精品天堂无码中文字幕 | 午夜射精日本三级| 久久AV高潮AV无码AV喷吹| 18禁裸乳无遮挡免费观看| 人妻无码AⅤ中文字幕日韩| 国产成人综合亚洲AV第一页| 亚洲成A人片在线观看WWW| 激情综合亚洲色婷婷五月| 一本大道久久A久久综合| 欧美性猛尖ⅩⅩⅩⅩ乱大交| 国产A√精品区二区三区四区| 亚洲AV中文无码| 免费播放AV网站的地址| 差差差很疼免费软件APP下载 | 精品人体无码一区二区三区| 2021久久天天躁狠狠躁夜夜| 色一情一乱一伦一区二区三欧美| 国产一区二三区好的精华液| 又粗又硬又黄A级毛片| 人人玩人人添人人澡| 国产人成亚洲综合无码AⅤ蜜桃| 亚洲AV无码一区二区二三区下载| 两性午夜刺激性视频2345| 成人免费区一区二区三区| 丝瓜草莓视频APP| 精品熟女少妇AⅤ免费久久| 97人人超碰国产精品最新o| 天堂影院在线观看高清在线| 国产亚洲大尺度无码无码专线| 亚洲精品无码永久电影在线| 久久久久99精品成人片牛牛影视| 中国老女人老熟女人BB操| 欧美嫩FREEXXXHD| 国产精品一亚洲AV日韩AV欧| 在线观看的AV网站| 少妇毛又多又黑一区二区| 精品亚洲成A人片在线观看少妇 | 国产疯狂XXXⅩ乱大交| 一本加勒比HEZYO无码专区| 日韩高清国产一区在线| 精品熟女少妇AV免费观看| 锕锕锕锕锕锕锕好大污下载| 熟妇高潮喷沈阳45熟妇高潮喷| 久久99精品国产自在现线小黄鸭 | 国产精品自产拍高潮在线观看| 影音先锋中文字幕人妻| 青草久久久国产线免观蜜芽| 国产在线精品一区二区| BBW厕所白嫩BBWXXXX| 亚洲AⅤ无码一区二区波多野| 男人的天堂免费A级毛片无码| 国产乱码一二三区精品| 24小时日本在线| 午夜无码人妻AⅤ大片色欲李宗瑞| 免费专区SM美脚践踏调教视频| 国产精品无码专区| 99久久亚洲综合精品成人网| 亚洲AV无码一区二区乱子伦AS| 欧洲熟妇的性久久久久久| 妓女爽爽爽爽爽妓女8888| 成年片色大黄全免费网站久久| 亚洲欧洲日产国码无码AV一| 色天使色偷偷色噜噜噜AV天堂| 久久久噜噜噜久久久精品| 国产成人A∨激情视频厨房| 中文AV无码人妻一区二区三区| 无码一区二区三区| 欧美丰满熟妇XXXX性大屁股| 狠狠躁夜夜躁人人躁婷婷视频| 超碰97人人做人人爱综合| 野花韩国高清免费神马百度| 玩弄CHANEL妇熟女| 欧美丰满熟妇BBBBBB百度| 很嫩很紧直喷白浆在线| 粗大黑人巨茎大战欧美成人 | 成年片色大黄全免费网站久久| 一本到无码AV专区无码| 无遮挡边摸边吃奶边做视频免费 | 性欧美长视频免费观看不卡| 侵犯美人妻中出中文字幕| 久久精品99国产AV精品蜜桃| 国产AV无码专区亚洲AV软件 | 国产久9视频这里只有精品| FREEMOVIES性中国| 亚洲综合无码精品一区二区三区 | 小东西几天没做又紧了| 日本高清WWW色视频| 老师办公室被吃奶好爽在线观看| 国产亚洲成AⅤ人片在线观看蜜桃| 不惑女人的扭曲生活| 中文有无人妻VS无码人妻激烈| 亚洲AV乱码中文一区二区三区 | 久久久久人妻一区精品果冻| 国产情侣疯狂作爱系列| 成人人妻小说AV| 91夜色精品偷窥熟女精品网站| 亚洲人成网站18禁止| 无码视频一区二区三区在线观看| 日本久久久久久久久久加勒比 | 天美传媒蜜桃传媒精东豆| 欧美肉体裸交做爰XXXⅩ| 巨胸美乳无码人妻在线| 好吊妞人成视频在线观看27DU| 国产98色在线 | 日韩| WWW亚洲精品久久久| 在线亚洲97SE亚洲综合在线| 亚洲精品无码久久| 性生交大片免费看淑女出招| 少妇人妻精品一区二区| 破外女出血视频全过程| 免费 成 人 黄 色 网站69| 久久99精品久久久久久青青| 国产一区二区无码蜜芽精品| 国产成人亚洲日韩欧美| 52色擼99热99RE超碰| 亚洲中文精品久久久久久不卡| 亚洲AV无码久久精品狠狠爱浪潮| 凸凹人妻人人澡人人添| 日韩精品少妇无码受不了| 欧美一区二区三区孕妇精品| 免费高清视频 大片| 久久婷婷成人综合色综合| 国产美女精品AⅤ在线| 公和熄洗澡三级在线观看| 成人精品一区二区三区| JAPANESE日本护士XXX| 99国产精品久久久久久久成人热 | 卫生间被教官做好爽HH视频| 色综合久久成人综合网五月| 日本真人无遮挡啪啪免费| 人C交Z〇○Z〇○ⅩⅩ| 欧美金妇欧美乱妇XXXX| 女邻居给我口爆18P| 免费无码又爽又高潮视频| 没带罩子让他吃了一天药会怎样 | 免费观看四虎精品国产地址| 两个奶被揉的又硬又翘是怎么回事| 久久久国产精品无码免费专区| 精品无码国产自产拍在线观看蜜| 狠狠色婷婷久久综合频道毛片 | 免费无遮挡禁18污污网站| 乱子伦农村XXXXBBB| 老熟仑妇乱一区二区AV| 麻豆国产精品VA在线观看| 乱精品一区字幕二区| 蜜桃色欲AV久久无码精品软件|