'.generateBox' 方法生成的对象大小不正确
The size of the object generated by '.generateBox' method is not correct
我正在尝试使用 RealityKit 和 SwiftUI 在 AR 中放置指定大小的对象。但是,显示的对象比代码中指定的大小稍小。
如何让对象以正确的大小显示?
这是当前代码:
func addObject() {
let mesh = MeshResource.generateBox(width: Float(1.0),
height: Float(1.0),
depth: Float(1.0))
let material = SimpleMaterial(color: .gray,
roughness: 0.5,
isMetallic: true)
let modelEntity = ModelEntity(mesh: mesh,
materials: [material])
let anchorEntity = AnchorEntity(plane: .horizontal)
modelEntity.generateCollisionShapes(recursive: true)
self.installGestures([.rotation, .translation] ,for: modelEntity)
anchorEntity.name = "BoxAnchor"
anchorEntity.addChild(modelEntity)
self.scene.addAnchor(anchorEntity)
}
我已经确认我能够使用 ARCoachingOverlayView 和 FocusEntity 正确检测到飞机。
任何建议都有帮助。谢谢
键入方法 .generateBox(size: 1)
和 .generateBox(width: 1, height: 1, depth: 1)
允许您创建一个真正的一米盒子。即使你的跟踪很好,有时你觉得这个立方体比 1m X 1m X 1m
小,因为对象的遮挡选项是禁用 - 换句话说,这个立方体“爬”到离你最近的现实世界物体上,它看起来比实际更小更近。那是因为如果没有遮挡,您的模型将始终与视频中的真实世界对象合成。
有时,(由于跟踪不当)您的模型会“飞离”它必须位于的位置。
在这两种情况下,打开遮挡都是一个好主意。要了解如何启用基于 Z 通道的对象遮挡,请阅读 this post.
P.S.
也关注这些。
我正在尝试使用 RealityKit 和 SwiftUI 在 AR 中放置指定大小的对象。但是,显示的对象比代码中指定的大小稍小。 如何让对象以正确的大小显示?
这是当前代码:
func addObject() {
let mesh = MeshResource.generateBox(width: Float(1.0),
height: Float(1.0),
depth: Float(1.0))
let material = SimpleMaterial(color: .gray,
roughness: 0.5,
isMetallic: true)
let modelEntity = ModelEntity(mesh: mesh,
materials: [material])
let anchorEntity = AnchorEntity(plane: .horizontal)
modelEntity.generateCollisionShapes(recursive: true)
self.installGestures([.rotation, .translation] ,for: modelEntity)
anchorEntity.name = "BoxAnchor"
anchorEntity.addChild(modelEntity)
self.scene.addAnchor(anchorEntity)
}
我已经确认我能够使用 ARCoachingOverlayView 和 FocusEntity 正确检测到飞机。
任何建议都有帮助。谢谢
键入方法 .generateBox(size: 1)
和 .generateBox(width: 1, height: 1, depth: 1)
允许您创建一个真正的一米盒子。即使你的跟踪很好,有时你觉得这个立方体比 1m X 1m X 1m
小,因为对象的遮挡选项是禁用 - 换句话说,这个立方体“爬”到离你最近的现实世界物体上,它看起来比实际更小更近。那是因为如果没有遮挡,您的模型将始终与视频中的真实世界对象合成。
有时,(由于跟踪不当)您的模型会“飞离”它必须位于的位置。
在这两种情况下,打开遮挡都是一个好主意。要了解如何启用基于 Z 通道的对象遮挡,请阅读 this post.
P.S.
也关注这些