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

     2023-02-18     248

关键词:

【中文标题】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 Play 游戏,“已保存的游戏”已弃用?

】GooglePlay游戏,“已保存的游戏”已弃用?【英文标题】:GooglePlaygames,\'Savedgames\'deprecated?【发布时间】:2020-06-1723:14:01【问题描述】:GooglePlay游戏服务“已保存游戏”功能是否已弃用?在他们的网站上,SavedGames未被列为已弃... 查看详情

DTD 是不是已弃用?

】DTD是不是已弃用?【英文标题】:IsDTDdeprecated?DTD是否已弃用?【发布时间】:2017-08-1103:29:36【问题描述】:在WhatisdifferencebetweenXMLSchemaandDTD?中,两个回答者声明DTD“已被弃用”。其中一位用户vtd-xml-author指出DTD几乎已被弃用,... 查看详情

GeoGoogle - Google Geocoder Java API 已弃用?

】GeoGoogle-GoogleGeocoderJavaAPI已弃用?【英文标题】:GeoGoogle-GoogleGeocoderJavaAPIdeprecated?【发布时间】:2015-06-2313:36:47【问题描述】:这个项目现在被弃用了吗?检查示例时出现404错误:http://code.google.com/apis/maps/documentation/index.html#Geoc... 查看详情

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

】更新GoogleAdsSDK后onAdFailedToLoad已弃用,如何解决?【英文标题】:AfterupdatingGoogleAdsSDKonAdFailedToLoadisdeprecated,Howtoresolve?【发布时间】:2020-07-2617:31:05【问题描述】:将GoogleAdsSDK更新到19.3.0后,会为onAdFailedToLoad()提供已弃用的警告... 查看详情

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

】已弃用的googleplusapi的替代解决方案是啥?【英文标题】:Whatisthealternativesolutionofdeprecatedgoogleplusapi?已弃用的googleplusapi的替代解决方案是什么?【发布时间】:2019-06-2315:43:08【问题描述】:Google宣布在3月7日弃用所有googleplusapi... 查看详情

macOS 上的 OpenGL 是不是已弃用?

】macOS上的OpenGL是不是已弃用?【英文标题】:IsOpenGLonmacOSdeprecated?macOS上的OpenGL是否已弃用?【发布时间】:2019-03-2118:55:12【问题描述】:我已经开始接触OpenGL,但我总是收到警告!例如,为什么在macOS10.9中不推荐使用glutInit(&am... 查看详情

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

】GoogleDriveApi已弃用(Googleplaygames->SavedGames)【英文标题】:GoogleDriveApideprecated(Googleplaygames->SavedGames)【发布时间】:2019-06-1503:03:42【问题描述】:我收到一封电子邮件,说在12月9日,所有使用GoogleDriveAPI的方法都将被弃用。... 查看详情

Javascript:参数数组是不是已弃用?

】Javascript:参数数组是不是已弃用?【英文标题】:Javascript:istheargumentsarraydeprecated?Javascript:参数数组是否已弃用?【发布时间】:2011-12-2814:32:27【问题描述】:大多数网站都说“被调用者”作为Function.arguments的属性已被弃用... 查看详情

PayPal ExpressCheckout 是不是已弃用?

】PayPalExpressCheckout是不是已弃用?【英文标题】:IsPayPalExpressCheckoutdeprecated?PayPalExpressCheckout是否已弃用?【发布时间】:2015-12-1204:39:09【问题描述】:我是PayPalSDK的新手,必须集成支付网关;我使用PHP,并且阅读GitHub上有关PayPa... 查看详情

KissXML 和 GData 已弃用?

...布时间】:2011-10-0317:09:56【问题描述】:我看到KissXML和Google的GData都已弃用。我们可以/应该仍然使用它们吗?有哪些替代方案?我希望能够在iOS上使用XSD架构读写xml。有什么建议吗?【问题讨论】:【参考方案1】:gdata-objectivec... 查看详情

gluTess* 函数是不是已弃用?

】gluTess*函数是不是已弃用?【英文标题】:AregluTess*functionsdeprecated?gluTess*函数是否已弃用?【发布时间】:2017-01-1023:32:26【问题描述】:我正在开发一个OpenGL项目,并且正在寻找三角测量/细分功能。我看到很多对GLUtessellator和... 查看详情

HttpListener 类是不是已弃用?

】HttpListener类是不是已弃用?【英文标题】:IsHttpListenerclassdeprecated?HttpListener类是否已弃用?【发布时间】:2012-10-0404:16:24【问题描述】:我正在尝试在不使用IIS的情况下设置Web服务。我知道我们可以使用HttpListener来创建简单的... 查看详情

window.requestFileSystem 方法是不是已弃用?

】window.requestFileSystem方法是不是已弃用?【英文标题】:Iswindow.requestFileSystemmethodisdeprecated?window.requestFileSystem方法是否已弃用?【发布时间】:2016-10-3012:57:50【问题描述】:我目前正在开发一个旧的iOS应用程序。我对科尔多瓦没... 查看详情

.NET Core 中是不是已弃用 ApiController

】.NETCore中是不是已弃用ApiController【英文标题】:IsApiControllerdeprecatedin.NETCore.NETCore中是否已弃用ApiController【发布时间】:2016-12-0416:19:37【问题描述】:“ApiController将在.NETCore中被弃用”是真的吗?因为我打算在新项目中使用它... 查看详情

猫鼬新版本是不是已弃用 exexPopulate() 方法?

】猫鼬新版本是不是已弃用exexPopulate()方法?【英文标题】:IsexexPopulate()methodisdeprecatedfromthemongoosenewversion?猫鼬新版本是否已弃用exexPopulate()方法?【发布时间】:2021-11-1514:43:20【问题描述】:main()constmain=async()=>consttask=awaitTask... 查看详情

此类是不是已弃用,或者只是构造函数。这是如何运作的

】此类是不是已弃用,或者只是构造函数。这是如何运作的【英文标题】:Isthisclassdeprecated,orjusttheconstructors.Howdoesthatwork此类是否已弃用,或者只是构造函数。这是如何运作的【发布时间】:2014-02-0412:26:36【问题描述】:我正在... 查看详情

getresuid 在 c99 中是不是已弃用?

】getresuid在c99中是不是已弃用?【英文标题】:Isgetresuiddeprecatedinc99?getresuid在c99中是否已弃用?【发布时间】:2015-04-2706:16:36【问题描述】:我正在尝试编译一个包含对getresuid的调用的函数。但是它会产生以下警告:setuid.c:8:3:wa... 查看详情

`setup.cfg` 是不是已弃用?

】`setup.cfg`是不是已弃用?【英文标题】:Is`setup.cfg`deprecated?`setup.cfg`是否已弃用?【发布时间】:2017-12-0607:27:48【问题描述】:我并不完全清楚,setup.cfg的状态是什么。我正在为我的otherquestion寻找有关PEP508环境标记的解决方案... 查看详情