码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • AR/VR相关资料


    ar.js文档: https://ar-js-org.github.io/AR.js-Docs
    AR.js中提供了图像跟踪(Image Tracking)、基于定位(Location Based)、基于标记(Marker Based) 三种模式。
    图像跟踪模式是通过设备摄像头,扫描图片、绘画、照片等内容,从而定位场景的模式,是用 自然特征点跟踪(Nature Feature Tracking、NFT) 技术,将图片中的特征点进行提取。然后通过识别影像中是否存在这些特征点,来确定图像的位置和方向,构建场景,进一步加载或者渲染期望的模型。厉害的是,生成特征时用的是图片,但检测的时候可以是实物

    #官方的demo js由于访问受限可能加载不到,所以这里我把js放在服务器了
    <script src="aframe-master.min.js"></script>
    <script src="aframe-ar-nft.js"></script>
      <script>
           // 注册markerhandler组件
           // 该组件中注册了,当场景中检测到图像时触发的事件
           AFRAME.registerComponent('markerhandler', {
               init: function () {
                   this.el.sceneEl.addEventListener('markerFound', () => {
                       alert('hello ar!')
                   });
               }
           });
       </script>
    
    <style>
     .arjs-loader {
       height: 100%;
       width: 100%;
       position: absolute;
       top: 0;
       left: 0;
       background-color: rgba(0, 0, 0, 0.8);
       z-index: 9999;
       display: flex;
       justify-content: center;
       align-items: center;
     }
    
     .arjs-loader div {
       text-align: center;
       font-size: 1.25em;
       color: white;
     }
    </style>
    
    <body style="margin : 0px; overflow: hidden;">
     <!-- minimal loader shown until image descriptors are loaded -->
     <div class="arjs-loader">
       <div>Loading, please wait...</div>
     </div>
     <a-scene
       vr-mode-ui="enabled: false;"
       renderer="logarithmicDepthBuffer: true;"
       embedded
       arjs="trackingMethod: best; sourceType: webcam;debugUIEnabled: false;"
     >
       <!-- we use cors proxy to avoid cross-origin problems -->
         
           <!--url=" https://arjs-cors-proxy.herokuapp.com/https://raw.githack.com/AR-js-org/AR.js/master/aframe/examples/image-tracking/nft/trex/trex-image/trex"-->
    
       <a-nft markerhandler 
         type="nft"
       
        url="nft/nft"
         smooth="true"
         smoothCount="10"
         smoothTolerance=".01"
         smoothThreshold="5"
       >
         <a-entity
           gltf-model="https://arjs-cors-proxy.herokuapp.com/https://raw.githack.com/AR-js-org/AR.js/master/aframe/examples/image-tracking/nft/trex/scene.gltf"
           scale="1 1 1"
           position="50 150 0"
         >
         </a-entity>
       </a-nft>
       <a-entity camera></a-entity>
     </a-scene>
    </body>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70

    图像追踪 特征生成工具: https://carnaux.github.io/NFT-Marker-Creator/#/

    mind-ar: https://hiukim.github.io/mind-ar-js-doc/tools/compile
    AR 手势交互: https://github.com/fcor/arjs-gestures
    资源下载:
    aframe-ar-nft.js: https://download.csdn.net/download/weixin_37391237/85765460
    aframe-master.min.js: lhttps://download.csdn.net/download/weixin_37391237/85765451

    注意:
    手机浏览器打开摄像头需要https协议(必须)

  • 相关阅读:
    抛砖系列之git仓库拆分工具git-filter-repo
    webgl 系列 —— 三角形
    【单例模式 Objective-C语言】
    人不可貌相!伴娘头发稀少被嘲,新娘:我闺蜜是程序员年薪50万
    如何在 JavaScript 中使用三元运算符
    Linux常用命令 - 权限管理命令
    【web-攻击验证机制】(3.2.3)验证机制设计缺陷:“记住密码” 功能、用户伪装功能、证书确认不完善
    .Net6新版本的AssemblyLoadContext 加载程序集和卸载程序集
    OpenCV-Python实战(1) —— 给图片添加图片水印【利用 OpenCV 像素的读写原理实现】
    CDGA|企业数据治理应循序渐进,聚焦主要问题,集中火力突破
  • 原文地址:https://blog.csdn.net/weixin_37391237/article/details/125443438
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号