小编ARG*_*Geo的帖子

ARKit的屏幕空间是什么意思?

当我浏览会话805的视频,创建出色的AR体验时,他们提到在AR中显示文本时使用屏幕空间文本.他们使用他们的Measure应用程序的例子非常有效.

我想实现类似的功能.但是,我无法弄明白.

augmented-reality wwdc ios arkit

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

使用“VNImageHomographicAlignmentObservation”类合并图像

我正在尝试使用 合并两个图像VNImageHomographicAlignmentObservation,我目前得到一个 3d 矩阵,如下所示:

simd_float3x3([ [0.99229, -0.00451023, -4.32607e-07)],  
                [0.00431724,0.993118, 2.38839e-07)],   
                [-72.2425, -67.9966, 0.999288)]], )
Run Code Online (Sandbox Code Playgroud)

但我不知道如何使用这些值合并成一张图像。似乎没有任何关于这些值甚至意味着什么的文档。我在这里找到了一些关于变换矩阵的信息:使用矩阵

但到目前为止没有其他任何帮助我......有什么建议吗?

我的代码:

func setup() {

    let floatingImage = UIImage(named:"DJI_0333")!
    let referenceImage = UIImage(named: "DJI_0327")!

    let request = VNHomographicImageRegistrationRequest(targetedCGImage: floatingImage.cgImage!, options: [:])

    let handler = VNSequenceRequestHandler()
    try! handler.perform([request], on: referenceImage.cgImage!)

    if let results = request.results as? [VNImageHomographicAlignmentObservation] {
        print("Perspective warp found: \(results.count)")
        results.forEach { observation in
        // A matrix with 3 rows and 3 columns.                         
        let matrix = observation.warpTransform
        print(matrix) }
    } …
Run Code Online (Sandbox Code Playgroud)

matrix swift apple-vision

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

动态更改 RealityKit 实体的文本

我使用 Reality Composer 创建了一个非常简单的场景(“SpeechScene”),其中一个语音标注对象(“Speech Bubble”)锚定在一个Face锚点上。

我已通过以下方式将此场景加载到代码中:

let speechAnchor = try! Experience.loadSpeechScene()
arView.scene.anchors.append(speechAnchor)

let bubble = (arView.scene as? Experience.SpeechScene)?.speechBubble
Run Code Online (Sandbox Code Playgroud)

它按预期呈现。但是,我想动态更改此现有实体的文本。

我在这里发现了一个类似的问题,但我不清楚如何引用meshResourcevanillaRealityKit.Entity对象的属性。

这可能吗?谢谢!

augmented-reality swift arkit realitykit reality-composer

3
推荐指数
2
解决办法
2046
查看次数

RealityKit – 如何设置 ModelEntity 的透明度?

在 SceneKit 中,有很多选项,例如

  • 通过使用 UIColor 的 alpha 通道 SCNMaterial.(diffuse|emission|ambient|...).contents
  • 使用SCNMaterial.transparency(从 0.0 到 1.0 的 CGFloat)
  • 使用SCNMaterial.transparent(另一个 SCNMaterialProperty)
  • 使用SCNNode.opacity(从 0.0(完全透明)到 1.0(完全不透明)的 CGFloat)

我想知道是否有办法在 RealityKit 中为 ModelEntity 设置透明度/不透明度/alpha?

augmented-reality swift realitykit reality-composer

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

如何在 RealityKit 中仅围绕一个轴旋转对象?

我正在尝试围绕其 z 轴旋转一个立方体,但我找不到方法。

RealityKit 有没有办法做到这一点?

rotation augmented-reality swift arkit realitykit

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

RealityKit – 如何编辑或添加灯光?

我正在尝试在 RealityKit AR 场景中添加照明。我在 Reality Composer 中找不到灯光选项。如果有办法添加Directional Light或编辑它,请告诉我。我尝试过 Apple 文档,但不明白如何添加它们。

在此输入图像描述

augmented-reality swift arkit realitykit reality-composer

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

是否有将 RealityKit 实现到 Swift 游乐场的好方法?

我希望能够将在 Reality Composer 中创建的文件添加到 Swift Playground 中以进行测试。我也认为用作剧本的补充会很有趣。如何将 rcproject 添加到 Playground 中,例如 Apple 提供的场景“Box”的 Experience.rcproject?

augmented-reality swift arkit realitykit reality-composer

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

如何在 RealityKit 中使用 Raycast 方法?

RealityKit框架中检测交叉点的方法一共有三种,但是我不知道如何在我的项目中使用它。

1.

func raycast(origin: SIMD3<Float>, 
          direction: SIMD3<Float>, 
             length: Float, 
              query: CollisionCastQueryType, 
               mask: CollisionGroup, 
         relativeTo: Entity?) -> [CollisionCastHit]
Run Code Online (Sandbox Code Playgroud)

2.

func raycast(from: SIMD3<Float>, 
               to: SIMD3<Float>, 
            query: CollisionCastQueryType, 
             mask: CollisionGroup, 
       relativeTo: Entity?) -> [CollisionCastHit]
Run Code Online (Sandbox Code Playgroud)

3.

func convexCast(convexShape: ShapeResource, 
               fromPosition: SIMD3<Float>, 
            fromOrientation: simd_quatf, 
                 toPosition: SIMD3<Float>, 
              toOrientation: simd_quatf, 
                      query: CollisionCastQueryType, 
                       mask: CollisionGroup, 
                 relativeTo: Entity?) -> [CollisionCastHit]
Run Code Online (Sandbox Code Playgroud)

augmented-reality raycasting swift arkit realitykit

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

如何在 Swift 中使用 UITextField 从图像中提取特定文本?

我正在使用 Vision 框架,我希望能够使用 UITextField 来查找图片中的特定单词。例如,假设我在文本字段中输入“黑色”一词,我希望它在我的图片中检测到该词。我该怎么做呢?我使用 Vision 框架,我找到了如何检测文本,但停留在可以检测用户在文本字段中输入的单词的部分。

        func startTextDetection() {

       let textRequest = VNDetectTextRectanglesRequest(completionHandler: self.detectTextHandler)
       let request = VNRecognizeTextRequest(completionHandler: self.detectTextHandler)

        request.recognitionLevel = .fast
        textRequest.reportCharacterBoxes = true
        self.requests = [textRequest]

    }

    func detectTextHandler(request: VNRequest, error: Error?) {
        guard let observations = request.results else {
            print("no result")
            return
        }

        let result = observations.map({$0 as? VNTextObservation})

        DispatchQueue.main.async() {
            self.previewView.layer.sublayers?.removeSubrange(1...)
            for region in result {
                guard let rg = region else {
                    continue
                }

                self.highlightWord(box: rg)
                if let boxes = region?.characterBoxes {
                    for characterBox …
Run Code Online (Sandbox Code Playgroud)

ocr ios swift apple-vision

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

RealityKit 和 ARKit – 当应用程序启动时,AR 项目在寻找什么?

如果您打开 Xcode,创建一个新的增强现实项目并运行该项目,您将更好地理解这个问题。

项目开始在设备上运行后,您将看到来自后置摄像头的图像,拍摄您的房间。

3 或 4 秒后,会出现一个立方体。

我的问题是:

  1. 在立方体出现之前应用程序在做什么?我的意思是,我想该应用程序正在寻找场景中的跟踪点,因此它可以锚定立方体,对吗?

  2. 如果这是真的,应用程序要寻找哪些元素?

  3. 假设我对立方体出现的点不满意。是否有任何功能可以通过点击屏幕触发,以便跟踪可以在我在屏幕上点击的位置附近再次搜索新点?

我知道我的问题很笼统,所以请给我正确的方向。

augmented-reality swift arkit arcamera realitykit

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