如何在 Sceneform 中拍摄照片?

How to take photo shots in Sceneform?

我正在使用 Sceneform 设计增强现实 Android 应用程序。它应该能够使用虚拟 3D 对象和物理环境拍摄照片,但应用程序一直崩溃。我在 Java 中创建了一个 class WritingArFragment 并在片段中引用它,但它不起作用。

它说 Class WritingArFragment 从未使用过。 例如,当我更改 android:name="fully.qualified.class.name.WritingArFragment" to android:name="com.google.ar.sceneform.ux.ArFragment"

它可以工作,但是当我将它保留为 fully.qualified.class.name.WritingArFragment" 时,它总是会崩溃。

我希望应用程序在不崩溃的情况下拍摄 AR 环境和 3D 对象的照片。

我正在关注 Sceneform Tutorials from

来自您所附的教程。它清楚地提到

Create a new class called WritingArFragment with a super class of com.google.ar.sceneform.ux.ArFragment

这意味着默认使用 google class com.google.ar.sceneform.ux.ArFragment 扩展 您的 WritingArFragment 与 Google的 ArFragment 像这样

public class WritingArFragment extends ArFragment

我认为是这个问题。如果您为此创建了另一个应用程序并在该应用程序中创建了所有代码内容,那么您需要添加您的文件路径而不是 google 的。

从您的 xml 文件的 ArFragment 中删除这一行并添加您的文件路径:

android:name="fully.qualified.class.name.WritingArFragment"

示例:

android:name="yourpackagename.WritingArFragment"
android:name="com.example.sceneform.WritingArFragment" // this is an example only

如果您在 windows 中按 Ctrl + Space 栏,那么您可能会得到该文件的建议。

我做了那个改变,它对我有用。并按照 Codelabs 教程拍照。好用我试过了..