RealityKit-哪个实体与其他实体相交

RealityKit – Which Entity is intersecting with other Entity(RealityKit-哪个实体与其他实体相交)
本文介绍了RealityKit-哪个实体与其他实体相交的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

let height: Float = 1
let width: Float = 0.5
let box = MeshResource.generateBox(width: 0.02, height: height, depth: width)

此框将具有与当前摄像机位置相同的实时位置,在AR World中,我将有多个形状不同的框,我希望识别哪个对象与当前实时框相交。

我不能用位置匹配(最近的那个)来做这件事。我真的想知道正在接触/与实时框相交的对象。

提前谢谢。

推荐答案

您可以使用subscribe()方法轻松完成此操作。以下代码是参考代码:

(在Reality Composer中启用了两个对象的物理功能)

import UIKit
import RealityKit
import Combine

class ViewController: UIViewController {
    
    @IBOutlet var arView: ARView!
    var subscriptions: [Cancellable] = []
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        let boxScene = try! Experience.loadBox()
        arView.scene.anchors.append(boxScene)
        
        let floorEntity = boxScene.children[0].children[1]

        let subscribe = arView.scene.subscribe(to: CollisionEvents.Began.self,
                                               on: floorEntity) { (event) in
            print("Collision Occured")
            print(event.entityA.name)
            print(event.entityB.name)
        }
        
        self.subscriptions += [subscribe]
    }
}

这篇关于RealityKit-哪个实体与其他实体相交的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Why local notification is not firing for UNCalendarNotificationTrigger(为什么没有为UNCalendarNotificationTrigger触发本地通知)
Pushing UIViewController above UITabBar(将UIView控制器推送到UITabBar上方)
Dropbox Files.download does not start when number of files in folder is gt; 1000(当文件夹中的文件数为1000时,Dropbox Files.Download不会启动)
appearance().setBackgroundImage Not Working On Custom Class(外观().setBackoundImage在自定义类上不起作用)
Show/Hide barButtonItem(显示/隐藏barButtonItem)
java.lang.IllegalStateException: SimpleTypeImpl should not be created for error type(异常:不应为错误类型创建SimpleTypeImpl)