标签: augmented-reality

在 RealityKit 中启用手势

我有一个自定义的 usdz 文件(不是通过代码创建的,但比方说一把真正的椅子!)。我将其保存在Entity.

一旦我有了它,这就是我的代码:

func updateUIView(_ uiView: ARView, context: Context) {
            
    if let modelEntity = model.modelEntity {
        
        print("\(model.modelName)")
        
        let anchorEntity = AnchorEntity(plane: .horizontal)
        
        anchorEntity.addChild(modelEntity.clone(recursive: true))
        
        uiView.scene.addAnchor(anchorEntity)
        
        // modelEntity.generateCollisionShapes(recursive: true) 
        // If we have multiple object, recursive true help to generate collision for all of them
        
        uiView.installGestures(.rotation, for: modelEntity as! Entity & HasCollision)
        
        uiView.debugOptions = .showPhysics
        
    } else {
        
        print("Unable to load modelEntity for \(model.modelName)")
        
    }
}
Run Code Online (Sandbox Code Playgroud)

这里的问题是“参数类型‘Entity’不符合预期类型‘HasCollision’”。所以我无法添加任何手势。

但我找不到任何有用的资源来实现我的最终目标。有什么建议吗?

augmented-reality swift arkit swiftui realitykit

2
推荐指数
1
解决办法
3958
查看次数

ARCore – WorldScale 和 LocalScale 有什么区别?

我正在尝试调整 AR 模型的大小,我正在使用建筑物大小的模型。

我设法使用 worldscale 和 localscale 调整模型大小,但到底有什么区别?何时应该使用 worldscale 来放大模型以及何时使用 localscale?

java android augmented-reality kotlin arcore

2
推荐指数
1
解决办法
344
查看次数

RealityKit – 在检测到的平面上可视化网格

我想在检测到的平面上绘制网格点,如ARCore 视频链接所示,但我不知道如何实现。

你能帮我实现这个目标吗?提前致谢。

augmented-reality swift arkit arcore realitykit

2
推荐指数
1
解决办法
1673
查看次数

我对AR应用程序中指南针和GPS功能的理解是否正确?

在一个AR应用程序中,您可以在相机视图中注释对象或建筑物,我想了解角色,手机(iPhone/Android)上的不同硬件位用于实现AR效果.请详细说明以下内容:

  • 相机:提供现实的2D视图.
  • GPS:提供设备的经度,纬度.
  • 指南针:相对于磁北的方向.
  • 加速度计:(它有作用吗?)
  • 高度计:(它有作用吗?)

例如:如果摄像机视图显示纽约天际线,上面列出的硬件信息如何帮助我注释视图?假设我有克莱斯勒大楼的经度和纬度,并且在我的相机视图中可见,那么如何精确计算在2D图片上注释名称的位置?我知道给定2对(经度,纬度),你可以计算点之间的距离.

navigation iphone graphics android augmented-reality

1
推荐指数
1
解决办法
777
查看次数

在一个应用程序中访问带有两个库的iPhone相机

我的iOS应用程序应该同时执行以下两个任务:

  1. 使用ZBar SDK扫描QR标签,
  2. 使用QCAR SDK扫描增强现实标记.

换句话说:我正在寻找被AR标记包围的QR标签.

这两项任务都应该"实时"运行.我的第一个天真的方法表明,在一个应用程序中将两个SDK组合将导致首次初始化的SDK在初始化第二个SDK时停止工作.

有人有建议吗?谢谢.

iphone camera qr-code augmented-reality ios

1
推荐指数
1
解决办法
1023
查看次数

art.scnassets代表什么?

我正在研究ARKit(iPhone框架),其中一个免费提供ARKit项目的文件夹是一个标题为的文件夹:art.scnassets.这些代表什么:art..scn.deatex

augmented-reality ios scenekit arkit

1
推荐指数
1
解决办法
1070
查看次数

从arkit中的sceneView获取特定节点

self.sceneView.scene.rootNode.addChildNode(sphere)
Run Code Online (Sandbox Code Playgroud)

我在上面添加了节点.但我想得到节点并编辑一些东西......

但是......我怎么能得到一个节点?

self.sceneView.scene.rootNode.enumerateChildNodes { (node, stop) in
            node.enumerateChildNodes{(node, stop) in

                     What should I do in here? 

                })
Run Code Online (Sandbox Code Playgroud)

augmented-reality ios arkit

1
推荐指数
1
解决办法
792
查看次数

在ARKit中为3D模型添加动画

在这个视频中,一个对象被给予一个动画,在放置时悬停在房间周围,然后在点击时,它会被另一个动画放下.如何在我的项目中添加这种动画?添加已经动画的对象是唯一的方法吗?

谢谢

https://youtu.be/OS_kScr0XkQ

augmented-reality ios scenekit swift arkit

1
推荐指数
1
解决办法
3057
查看次数

ARImageAnchor转换矩阵的坐标与ARPlaneAnchor的坐标相差太大

我正在做这个简单的事情:

  1. 垂直平面检测
  2. 垂直平面上的图像识别

图像被挂在检测到的平面上(在我的墙上)。在这两种情况下,我都实现的renderer:didAddNode:forAnchor:功能ARSCNViewDelegate。我站在垂直平面检测和图像识别的地方。

func renderer(_ renderer: SCNSceneRenderer, didAdd node: SCNNode, for anchor: ARAnchor) {
    guard let shipScene = SCNScene(named: "ship.scn"), let shipNode = shipScene.rootNode.childNode(withName: "ship", recursively: false) else { return }
    shipNode.position = SCNVector3(anchor.transform.columns.3.x, anchor.transform.columns.3.y, anchor.transform.columns.3.z)
    sceneView.scene.rootNode.addChildNode(shipNode)
    print(anchor.transform)
}
Run Code Online (Sandbox Code Playgroud)

在垂直平面检测的情况下,anchor将为ARPlaneAnchor。在图像识别的情况下,anchor将为ARImageAnchor

为什么这两个锚点的转换矩阵如此不同?我正在打印anchor.transform并得到以下结果:

1。

simd_float4x4([
    [0.941312,  0.0,        -0.337538,  0.0)],
    [0.336284,  -0.0861278, 0.937814,   0.0)],
    [-0.0290714,-0.996284,  -0.0810731, 0.0)],
    [0.191099,  0.172432,   -1.14543,   1.0)]
])
Run Code Online (Sandbox Code Playgroud)

2。

simd_float4x4([
    [0.361231,  0.10894,    0.926093,   0.0)], …
Run Code Online (Sandbox Code Playgroud)

augmented-reality ios swift arkit

1
推荐指数
1
解决办法
1227
查看次数

如何禁用AR JS / three.js中的fps显示?

我是AR.js的新手,正在按照本教程中的示例进行演示。我正在尝试删除左上角的fps视图。

参考图片:

在此处输入图片说明

我的代码是:

//////////////////////////////////////////////////////////////////////////////////
//      Init
//////////////////////////////////////////////////////////////////////////////////

// init renderer
var renderer = new THREE.WebGLRenderer({
    // antialias    : true,
    alpha: true
});
renderer.setClearColor(new THREE.Color('lightgrey'), 0)
// renderer.setPixelRatio( 1/2 );
renderer.setSize(window.innerWidth, window.innerHeight);
renderer.domElement.style.position = 'absolute'
renderer.domElement.style.top = '0px'
renderer.domElement.style.left = '0px'
document.body.appendChild(renderer.domElement);

// array of functions for the rendering loop
var onRenderFcts = [];

// init scene and camera
var scene = new THREE.Scene();

//////////////////////////////////////////////////////////////////////////////////
//      Initialize a basic camera
//////////////////////////////////////////////////////////////////////////////////

// Create a camera
var camera = new THREE.Camera();
scene.add(camera); …
Run Code Online (Sandbox Code Playgroud)

javascript augmented-reality three.js ar.js

1
推荐指数
1
解决办法
1533
查看次数