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

Ncc*_*rp9 9 android arcore

我正在使用一个 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;)伏

我使用的是 Android Studio 3.6 Gradle 3.6.0 场景表单插件 1.15

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

Esr*_*Alh 12

我遇到了这个问题,我尝试手动添加资产并且它起作用了。

例如,我使用了名为 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'])
Run Code Online (Sandbox Code Playgroud)

运行或构建您的应用程序,希望它会起作用

  • 很好的答案!值得一提的是该文件的 build.gradle(app) 版本。我使用在线 ARCore 示例做了同样的事情,它也对我有用(/sf/answers/4236116671/)。值得注意的是,这似乎是一个悬而未决的问题(https://github.com/google-ar/sceneform-android-sdk/issues/912),另一个解决方法似乎是重新审查 Android Studio 3.5,(https ://stackoverflow.com/a/60452756/334402)虽然我自己没有尝试过。 (4认同)

Sam*_*oom 7

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

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

**

第1步

. 在你的android studio sdk的左上角,进入**文件,点击设置,在弹出的窗口中搜索插件,然后在在线插件市场中搜索Sceneform 第1步

**

第2步

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

**

第 3 步

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

步骤3图片

**

第四步

. 现在将此代码格式粘贴到您应用程序的 gradle 构建文件的最后一行 ** 下方,以便手动导入并避免在 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' step4pic

第 5 步

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