导入Sceneform Asset选项在使用OBJ文件生成SFB文件时出现错误

时间:2018-07-19 07:16:16

标签: java android arcore sceneform

我有一个用于3D对象的OBJ文件,我正在使用“导入场景格式资产”将其转换为SFA,但这样做总是给我错误提示 无法在磁盘上找到'sampledata / models / plc.mtl'

enter image description here

您会看到红色框。

其中一个可以看到gradle已为sceneform.asset创建了背景代码 但由于缺少mtl,它无法继续前进。

另外, 在Google的默认arcore项目中,SFB文件位于原始文件夹中,但正在资产文件夹中创建。

请参见下图。

enter image description here

有人可以帮我这个忙吗?我是ARCore开发的新手。

3 个答案:

答案 0 :(得分:1)

请遵循此步骤,如有任何问题,请告诉我

您需要 .obj .mtl 。使用示例数据目录在Android中创建一个文件夹(以避免使它成为项目的一部分)

enter image description here

在此文件夹中添加.obj和.mtl

转到Android 首选项> 插件,然后搜索“ Google Sceneform Tools(Beta)”

enter image description here

在.obj上单击鼠标右键,可以选择“导入Sceneform资产” 这将创建已经准备使用的.sfb和.sfa文件。

在您的 App Gradle 中,您应该找到类似以下的新行:

sceneform.asset('sampledata/NAME_OF_FILE.obj',
    'default',
    'sampledata/NAME_OF_FILE.sfa',
    'src/main/assets/NAME_OF_FILEl')

答案 1 :(得分:0)

您应该在某个地方有一个plc.mtl。该文件定义了OBJ文件中使用的材料。只需将其复制到您的模型文件夹中,一切就可以正常工作。通常,它与OBJ文件一起提供,因此请检查从中获取OBJ的源。

答案 2 :(得分:0)

我遇到同样的错误,我通过在以下行中添加此行来解决 build.gradle(:app)

sceneform.asset('path of obj', 'default','path for sfa','path for sfb')

在我的情况下是

sceneform.asset('sampledata/Hamburger.obj', 'default','sampledata/Hamburger.sfa','src/main/res/raw/hamburger')

并确保是否将输出放入 res 目录中,请从文件名中删除大写字母。 希望对您有用。