问题描述
我们正在开发ML对象检测移动应用程序,并计划在检测到对象时将对象放置在边界框中。目前,我们正在寻找可以帮助我们将3D模型放置在边界框中的解决方案。我们希望将3d模型放置在具有透明背景的边框上,使其看起来像“ AR”。我们不想迁移到ARCore,因为我们要坚持我们的ML解决方案。
您能告诉我是否可以在不使用ARCore的情况下使用Sceneform进行3D模型渲染吗?
P.S。
现在,我们已经使用Flutter进行跨平台开发。但是我们希望转向本机开发,因为我们无法找到任何Flutter小部件/库来在透明背景上渲染其他3d模型。
解决方法
SceneKit是3D框架和渲染引擎,可以与ARKit结合使用,也可以不结合使用。它不是ARKit的附属产品,而是一个独立的SDK,可读取3D几何图形,播放动画和动态效果并渲染着色器和阴影。换句话说,SceneKit是为VR开发而制作的。第二个VR / AR苹果公司的框架是RealityKit。您可以阅读有关这些SDK here的信息。
您还可以使用不带ARCore的Sceneform SDK。可惜,但目前Sceneform存储库已归档,不再由Google主动维护(改为使用Filament)。您可以here来了解它。
SceneKit和Sceneform都可以在透明背景上渲染3D模型,但是这些功能在现成的SDK中并不存在。您需要应用相应的高级方法才能获得理想的结果。