繁体   English   中英

使用 OBJ 文件生成 SFB 文件时,导入 Sceneform Asset 选项会出错

[英]Import Sceneform Asset option gives error while generating SFB file using OBJ file

我有一个用于 3D 对象的 OBJ 文件,我正在使用导入 Sceneform 资产将其转换为 SFA,但这样做时总是出现错误,指出无法在磁盘上找到“sampledata/models/plc.mtl”

在此处输入图片说明

您可以看到红色框。

在其中一个中,您可以看到 gradle 已经为 sceneform.asset 创建了背景代码,但是由于缺少 mtl,它无法更进一步。

此外,在默认的 google 的 arcore 项目中,SFB 文件位于 raw 文件夹中,但它是在 assets 文件夹中创建的。

见下图。

在此处输入图片说明

任何人都可以帮我解决这个问题。 我是 ARCore 开发的新手。

请按照此操作,如果有任何问题,请告诉我

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

在此处输入图片说明

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

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

在此处输入图片说明

单击 .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')

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

我遇到了同样的错误,我通过在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目录中,请从文件名中删除大写字母。 希望它对你有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM