Google Sceneform – 是不是已弃用?有替代品吗? [关闭]

Posted

技术标签:

【中文标题】Google Sceneform – 是不是已弃用?有替代品吗? [关闭]【英文标题】:Google Sceneform – Is it deprecated? Any replacement? [closed]Google Sceneform – 是否已弃用?有替代品吗? [关闭] 【发布时间】:2020-10-08 17:05:43 【问题描述】:

我在我的 ARCore 项目 Sceneform 中使用。看来这个项目现在被谷歌称为Archived。更多信息我们可以找到here 或page。

我不明白 Google 是否真的放弃了这个 SDK,或者它是否 - 或将 - 直接集成到 ARCore SDK 中?

感谢您提供有关此 SDK 的未来和潜在替代品的任何信息。

【问题讨论】:

Google 没有就此发表官方声明似乎很奇怪。我想知道他们是否会推荐直接使用 Filament:github.com/google/filament。 reddit 上的类似问题,@romain-guy(android 开发团队成员)发表评论:reddit.com/r/androiddev/comments/glduwe/is_sceneform_dead @elprl 细丝很棒,但它不是与 Sceneform 等效的技术。甚至不是苹果和橙子,它们绝对处于不同的水平。我喜欢 ArFragment、TransformableNode、PinchGestures、ShapeFactroy 等 ARCore 之上的 Sceneform 好东西...... 所以没人知道他们为什么停产? 【参考方案1】:

2022 年编辑:

场景保持和继承:

场景 - Java 继续:SceneView/sceneform-android SceneView - Kotlin 继任者:SceneView/sceneview-android

与 Google Sceneform 的差异(1.15.0、1.16.0、1.17.0 和 1.17.1)

无需插件:直接从资产、res/raw、本地文件或 http/https url 使用 gltf 和 glb 3D 模型文件,而不是 sfa、sfb、fbx、obj。 .. ARCore SDK 和 Google Filament 的最新版本 最新的 gradle 依赖项,包括 AndroidX、LifecycleScope/Coroutines(仅限SceneView)、... 可作为mavenCentral() 依赖项使用 增强图像支持 面部增强支持 glbgltf 用于 3D 模型(支持动画hdrktx 用于环境(IndirectLight + Skybox) 仅支持 3D 使用和没有 ARCore 的单一依赖项(仅场景视图VideoNode 用于 MediaPlayer(mp4、avi、...)视频 3D 节点 水平/垂直平面放置 深度遮挡和放置(仅限场景视图InstantPlacement仅限场景视图HdrLightEstimation 在更壮观或更逼真之间进行调整 简单的模型查看器用于基本使用,只有 ArSceneView 参数 需要较少的 OpenGL 知识

【讨论】:

截至 2021 年 3 月,它似乎确实维护得很好..:O Thomas Gorisse 做得很好!【参考方案2】:

更新:2021 年 8 月 18 日。

关于 Google IO '21 上的 Sceneform 替换

让我们听听 Fred Sauer(ARCore 团队的 Google 开发者倡导者)告诉我们关于 Sceneform 的替代品。这是一个名为 AMA 的link to video:ARCore(时间 06:25)。

大约 3 个最新版本

目前有三个潜在候选人可供选择

场景1.17.1 场景 1.16 场景 1.15

几个月前,由于 Maven 工件,Google recommended 不使用最新版本 Sceneform 1.17(现在它可能正常工作,但仍然是个问题)。 Sceneform 1.16 不能通过 Android Studio 插件的菜单获得,因为正如您所说,它的状态是 Archived(我应该说是 Abandoned)。发布1.16 支持glTF/glTB 格式,而不是SFASFB 资产。 Sceneform 1.16 开源了。因此,您可以从 GitHub 下载它。唯一我不明白的是,如果 Sceneform 1.16 已存档,为什么 Google 会发布 Sceneform 1.17?!

所以目前有两个 100% 工作的版本 - Sceneform 1.16Sceneform 1.15

Sceneform 1.16 安装

要下载Sceneform 1.16ARCore Android,请在GitHub 上使用this link。

使用这些完整的instructions 在您的应用中包含和构建Sceneform 1.16 SDK。

Sceneform 的未来并不令人羡慕......

现在我们知道 Google 不准备发布新的 3D 渲染引擎(即使使用 Filament 作为基础)。我听说原来的 ARCore 团队已经分崩离析,这就是为什么新的 ARCore/Sceneform 功能实现如此缓慢的原因。

以下是 Google 工程师 Dereck Bridie 关于 ARCore 和 Sceneform 的几句话

2020 年 5 月 26 日

目前没有计划更改 ARCore 的 Android SDK 以使其更容易被没有 3D 背景的用户采用。我们归档了 Sceneform 存储库,以明确我们不再积极维护 Sceneform。我们将它与 1.16 版本一起开源,以便您在发现它有用时可以继续使用它。这意味着您还可以分叉存储库以添加您需要的任何其他功能。 但是,如果您正在构建一个新项目,请考虑使用 Unity ARCore SDK for Android。它使用 Unity 在 3d 空间中渲染对象,并提供了一种更简单的方式来创建 ARCore 应用。我想补充一点,ARCore SDK 肯定有积极的开发。我们希望在发布之前获得 ARCore 深度和持久云锚等功能。

附言

除上述之外,阅读vortice3D 的recipe 用户以保持Sceneform 1.17 存活

【讨论】:

Unity 的 ARCore SDK 已弃用,Unity 2020 及更高版本不再支持。此 SDK 应仅供从事无法迁移到 Unity 的 AR 基金会的现有项目的开发人员使用。 谢谢@Softlion,我会把它添加到我的答案中。 所以“解决方案”是迁移到 AR Foundation,这是一个 1800$/y/seat 的产品。【参考方案3】:

这是一个悲伤的故事,我喜欢 Sceneform,对我来说,简单地替换它并不容易。因此,我将它分叉并将库更新为 androidx 和 filament 1.7。 https://github.com/RGregat/sceneform-android-sdk。不起作用的是 ARCore 1.18 中引入的新深度 API。我不确定在 Sceneform 中实现它有多难,因为它取决于片段着色器。

【讨论】:

看起来你的分叉也被归档了。是否有任何分叉正在积极开发中? 自述文件具有误导性。对此感到抱歉。您可以使用这个 fork,但积极的开发可能会很困难。例如,新的 Depth API 需要访问片段着色器,这是 Sceneform 所没有的。也许用 Filament,因为理论上我们可以使用它,但我不确定。

以上是关于Google Sceneform – 是不是已弃用?有替代品吗? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Google Play 游戏,“已保存的游戏”已弃用?

已弃用的 google plus api 的替代解决方案是啥?

GeoGoogle - Google Geocoder Java API 已弃用?

更新 Google Ads SDK 后 onAdFailedToLoad 已弃用,如何解决?

Google Drive Api 已弃用(Google play games -> Saved Games)

Google Cloud Datastore备份 - 已弃用?