- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何导出 ARMeshGeometry
新生成的SceneReconstruction
最新 iPad Pro 上的 API .obj
文件?
这是SceneReconstruction文档。
最佳答案
从苹果的 Visualising Scene Scemantics 开始示例应用程序,您可以检索 ARMeshGeometry来自框架中第一个 anchor 的对象。
导出数据的最简单方法是首先将其转换为 MDLMesh:
extension ARMeshGeometry {
func toMDLMesh(device: MTLDevice) -> MDLMesh {
let allocator = MTKMeshBufferAllocator(device: device);
let data = Data.init(bytes: vertices.buffer.contents(), count: vertices.stride * vertices.count);
let vertexBuffer = allocator.newBuffer(with: data, type: .vertex);
let indexData = Data.init(bytes: faces.buffer.contents(), count: faces.bytesPerIndex * faces.count * faces.indexCountPerPrimitive);
let indexBuffer = allocator.newBuffer(with: indexData, type: .index);
let submesh = MDLSubmesh(indexBuffer: indexBuffer,
indexCount: faces.count * faces.indexCountPerPrimitive,
indexType: .uInt32,
geometryType: .triangles,
material: nil);
let vertexDescriptor = MDLVertexDescriptor();
vertexDescriptor.attributes[0] = MDLVertexAttribute(name: MDLVertexAttributePosition,
format: .float3,
offset: 0,
bufferIndex: 0);
vertexDescriptor.layouts[0] = MDLVertexBufferLayout(stride: vertices.stride);
return MDLMesh(vertexBuffer: vertexBuffer,
vertexCount: vertices.count,
descriptor: vertexDescriptor,
submeshes: [submesh]);
}
}
@IBAction func exportMesh(_ button: UIButton) {
let meshAnchors = arView.session.currentFrame?.anchors.compactMap({ $0 as? ARMeshAnchor });
DispatchQueue.global().async {
let directory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0];
let filename = directory.appendingPathComponent("MyFirstMesh.obj");
guard let device = MTLCreateSystemDefaultDevice() else {
print("metal device could not be created");
return;
};
let asset = MDLAsset();
for anchor in meshAnchors! {
let mdlMesh = anchor.geometry.toMDLMesh(device: device);
asset.add(mdlMesh);
}
do {
try asset.export(to: filename);
} catch {
print("failed to write to file");
}
}
}
关于swift - ARKit 3.5 – 如何使用 LiDAR 从新 iPad Pro 导出 OBJ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61063571/
我是 Metal 和 ARkit 的新手。我开始学习激光雷达和场景的深度数据来可视化形状。下面是苹果开发者提供的点云示例代码的链接。 https://developer.apple.com/docum
任务 我要 capture 真实世界的纹理,并将其应用到在激光雷达扫描仪的帮助下生成的 3D 网格。我想应该使用 Projection-View-Model 矩阵。纹理必须从固定的视点制作,例如,从房
在一个项目中,我们正在创建公寓的虚拟游览。我们要在该虚拟图像中显示房间尺寸。到目前为止,我们正在使用RICO theta v创建虚拟导览。下面给出一个例子。 第一张图片显示了房间的全景。现在使用激光雷
我正在研究分类问题(自动驾驶车辆的对象分类)。我使用 KITTI 的数据集,它提供 LiDAR 和相机数据,并希望使用这两个数据来执行任务。 3D LIDAR 数据被投影到 RGB 图像的坐标系上,从
在 Swift 中有没有办法检查设备是否有 LiDAR 传感器?不幸的是,我在 Apple 官方纪录片和互联网搜索中都没有找到任何内容。 我目前的解决方法是确定设备类型,如本文所述: How to d
我有 .las(激光雷达数据)文件,现在我想知道它的大小,例如它的宽度和高度(以千米为单位)。 如何检索此类信息? 最佳答案 tl;dr:安装 libLAS 并运行 lasinfo myfile.la
我想创建一个实时的点绘图 GUI。我正在使用 Scanse Sweep LiDAR,在每次扫描此 LiDAR(工作频率在 1 - 10Hz 之间)时,我都会收到大约 1000 个点 (x, y) 来描
我正在使用基于 WebGL 的 WebAR 现实(实时 SLAM 和跟踪)。 并且想知道是否有任何方法可以访问 LiDAR API 并在 Safari 浏览器中使用它? 我找不到任何有用的信息。 最佳
我在很多论坛上看到如果我们要开发一个LiDAR应用程序,我们需要使用RealityKit , 而不是 SceneKit .我正在开发Apple LiDAR Tutorial .但是我没有使用 Real
如何导出 ARMeshGeometry新生成的SceneReconstruction最新 iPad Pro 上的 API .obj文件? 这是SceneReconstruction文档。 最佳答案 从
我真的是 python 编程的新手,我只是想知道您是否可以使用 LiDAR 点创建分辨率为 0.5 x o.5 m 的规则网格。 我的数据是 LAS 格式(从 liblas 导入文件作为 lasfil
我是一名优秀的程序员,十分优秀!