本文介绍了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-哪个实体与其他实体相交的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!