'插件“Google Sceneform Tools (Beta)”不兼容(仅在 IntelliJ IDEA 中受支持)'

Abh*_*pta 4 augmented-reality android-studio sceneform

我收到错误插件“Google Sceneform Tools (Beta)”不兼容(仅在 IntelliJ IDEA 中受支持)**。我从插件安装了 Google Sceneform Tools (Beta) 插件,并在重新启动后显示上述错误。我目前使用的是 Android Studio 4.1

Csa*_*oth 12

TL; DR:为了使错误消息消失,我建议手动删除插件,因为它没有列在已安装的插件列表中(可能是由于错误)。为此,您需要导航到插件文件夹并删除 Sceneform 插件的目录。文件夹位置取决于操作系统,这里假设 Android Studio 版本为 4.1:

  • 对于WindowsC:\Users\{USER}\AppData\Roaming\Google或者也检查C:\Users\{USER}\.AndroidStudio4.1\config\plugins
  • 对于MacOS:(~/Library/Application\ Support/Google/AndroidStudio4.1/plugins/您可以查看~/Library/Application\ Support/AndroidStudio/marketplace或其他地方的旧版本,请参阅Mac 上 Android Studio 的插件文件夹在哪里
  • 对于Linux~/.local/share/Google/AndroidStudio4.1/

更新:这里是 Romain Guy 建议的 Google Sceneform 源代码的继任者:https : //twitter.com/romainguy/status/137186​​4003882807300?s =03 https://github.com/ThomasGorisse/sceneform-android-sdk


添加到@GokulDAS027 的答案(插件已弃用),您还可以看到SceneformGithub 存储库(https://github.com/google-ar/sceneform-android-sdk/)已存档。现在您必须基本上制作sceneformsrcsceneformux目录项目的一部分。请参阅我的博客文章:https : //csaba.page/blog/sceneform-b​​reak-change.html。或者只需遵循存档的 Sceneform 存储库的自述文件。一个问题是,如果你最近开始,你可能有一个AndroidX项目,你需要将 Sceneform 的源代码升级到AndroidX. 您可以在存档存储库的分支中钓鱼。很多人进行了一些代码重新样式和重构,而我只做了必要的更改,欢迎您从目录中复制这两个目录https://github.com/CsabaConsulting/ARPhysics存储库。

Sceneform 是 ARCore 之上的抽象层。它提供了很棒的东西,比如TransformableNode比 ARCore 更高层次的抽象。由您决定它是否提供足够的功能让您将其作为一个整体来接受,或者您可能会选择。你不会拥有的一件事是插件。正如我们所见,它为 Android Studio 中的这些对象提供了一些 sfa/sfb 编译工具和可视化窗格。@GokulDAS027 提到您现在可以为模型使用更多标准格式。

  • 如果插件中没有 sceneform,我们将无法在设计时查看 .glb。 (2认同)
  • @shri120kant 尝试“导入 androidx.annotation.Nullable”。如果您不确定 androidx 导入,请在 https://github.com/CsabaConsulting/ARPhysics/tree/master/sceneformsrc 和 https://github.com/CsabaConsulting/ARPhysics/tree/master 中查找相应文件的导入和行/场景格式 (2认同)

Gok*_*027 5

Google今年早些时候已弃用Sceneform 库。但由于该库本身是开源的,我们仍然可以使用和修改它。但不能指望对该插件的支持。

该插件的目的是帮助加载.sfb(Sceneform 的 3D 文件格式),但后来,这种格式被抛弃并开始支持标准 GLB、glTF、Obj 和其他格式。所以您可能不再需要该插件了。另外,加载GLB很简单,只需将其放在assets文件夹中并加载即可

ModelRenderable.builder()
        .setSource(context, Uri.parse(ASSET_LOC))
        ...
Run Code Online (Sandbox Code Playgroud)