| 测试已测试 | ✗ |
| 语言语言 | SwiftSwift |
| 许可证 | MIT |
| 发布最新版本 | 2017年12月 |
| SwiftSwift 版本 | 4.0 |
| SPM支持 SPM | ✗ |
要运行示例项目,首先从 repo 克隆,然后在 Example 目录中运行 pod install。
ARKitEnvironmentMapper 通过 CocoaPods 提供。要安装它,只需在 Podfile 中添加以下行:
用法
pod 'ARKitEnvironmentMapper'请注意,输入图像需要有 2:1 的宽高比。
let environmentMapper = ARKitEnvironmentMapper(withImageName: "room")或者,您可以使用高度和颜色初始化它
要开始映射过程,请调用 startMapping() 方法。应在运行 ARSession 几秒后调用此方法,以避免环境图映射出现错误。
let environmentMapper = ARKitEnvironmentMapper(withMapHeight: 512, withDefaultColor: .red)要停止映射过程,请简单地调用 stopMapping()。
要使用当前摄像头的当前帧更新环境图,您可以在实现 ARSessionDelegate 的类中使用以下代码
您可以在 didUpdate 中调用 updateMap(withFrame:),无论首选的 FPS 如何,因为此方法的频率默认限制在最多 10。在未来版本中,此频率将是可定制的。
func session(_ session: ARSession, didUpdate frame: ARFrame) {
environmentMapper.updateMap(withFrame: frame)
}在映射环境一段时间后,您可以使用以下代码获取当前生成的环境图,并将其设置为 ARSCNView 的环境图
注意:将此设置为理想的应使用 .mtlTexture 作为输入,以绕过任何图像转换和内存操作开销。然而,由于苹果的一个错误,将 MTLTexture 设置为环境图目前没有任何效果。如果您认为这不是苹果的错误并且您有解决方案,请毫不犹豫地发送 pull request。
sceneView.scene.lightingEnvironment.contents = environmentMapper.currentEnvironmentMap(as: .cgImage)作者
| 软件工程师 @ Surreal ARKitEnvironmentMapper 根据 MIT 许可证提供。有关更多信息,请参阅 LICENSE 文件。 |
|---|
CocoaPods 是由