在 Android Studio 3.6 中使用 Import Sceneform Asset 导入 FBX 时出错

Posted

技术标签:

【中文标题】在 Android Studio 3.6 中使用 Import Sceneform Asset 导入 FBX 时出错【英文标题】:Error while importing FBX with Import Sceneform Asset in Android Studio 3.6 【发布时间】:2020-06-10 07:26:58 【问题描述】:

我正在使用一个 sceneform android sdk 动画示例项目,并尝试导入我自己的 FBX 进行测试。 我将我的 fbx 添加到 sampledata/models 并单击 Import Sceneform Asset。我收到一个错误... “Gradle 构建因新的导入规则而失败。您要还原更改吗?”

在事件日志窗口中我得到 错误:java.lang.RuntimeException: java.lang.NoSuchMethodError: com.android.tools.idea.templates.recipe.RecipeExecutor.append(Ljava/io/File;Ljava/io/File;)V

我使用的是 Android Studio 3.6 摇篮 3.6.0 场景插件 1.15

欢迎提出任何解决此问题的建议

【问题讨论】:

你找到解决办法了吗? 【参考方案1】:

我遇到了这个问题,我尝试手动添加资产,它成功了。

例如,我使用了名为 andy_dance.fbx 的 obj

所以我所做的就是在 Gradle 构建中添加它

sceneform.asset('sampledata/models/andy_dance.fbx',
    'default',
    'sampledata/models/andy_dance.sfa',
    'src/main/assets/andy_dance',
    ['sampledata/models/andy_dance.fbx'])

运行或构建您的应用程序,希望它能正常工作

【讨论】:

不错的答案!值得一提的是文件的 build.gradle(app) 版本。我使用在线 ARCore 示例做了同样的事情,它也对我有用 (***.com/a/60515952/334402)。值得注意的是,这似乎是一个未解决的问题 (github.com/google-ar/sceneform-android-sdk/issues/912),另一个解决方法似乎是恢复到 Android Studio 3.5 (***.com/a/60452756/334402),尽管我自己没有尝试过。 是的,必须恢复到 Android Studio 3.5【参考方案2】:

android studio 3.6 和sceneform 之间存在兼容性问题...所以使用手动生成sfb 文件的解决方法来解决兼容问题..

这里是完整答案,它将帮助任何对此不熟悉并想毫无问题地使用场景形式的人。

**

步骤 1

。在你的android studio sdk的左上角,转到**文件,点击设置并在弹出的窗口中搜索插件,并在在线插件市场中搜索Sceneform

**

第二步

**。创建一个新文件夹并命名为任何你喜欢的名称,例如我称之为“sample_data”..

**

第三步

**。复制您的 3D 模型源资产文件(*.obj、*.fbx 或 .gltf)及其所有依赖项(.mtl、*.bin、*.png、*.jpg 等.) 进入 sampledata 文件夹。

**

第四步

。现在将此代码格式粘贴到应用程序的 gradle 构建文件的最后一行 下方,以便 MANUALLY 导入并避免出现任何与看到的右键单击导入方法的兼容性问题在 Android Studio 3.6 版中...当然不要忘记在您的 gradle 依赖项列表中导入 Sceneform 的最新依赖项

apply plugin: 'com.google.ar.sceneform.plugin', sceneform.asset('sample_data/Your-3d-Model-file-Name.obj',

'default', // 'Material Path' specified during import.

'sample_data/Your-3d-Model-file-Name.sfa',

'src/main/res/raw') // 'location you want to store the generated .sfb file'

第 5 步

。最后同步您的 gradle 文件并重建您的项目...您的 SFb 模型将在您指定的位置生成..

【讨论】:

以上是关于在 Android Studio 3.6 中使用 Import Sceneform Asset 导入 FBX 时出错的主要内容,如果未能解决你的问题,请参考以下文章

Progruard 和 R8 被弃用 - Android Studio 3.6

Android studio 3.6 ToolBar问题

Android studio 3.6 ToolBar问题

Android Studio升级3.6 Build窗口出现中文乱码问题解决方法

Android Studio升级3.6 Build窗口出现中文乱码问题解决方案

从 3.6 更新到 Android Studio 4.0 后构建具有 NDK 支持的项目时出错