【问题标题】:View Renderable build causes program to crash查看 Renderable build 导致程序崩溃
【发布时间】:2021-11-27 05:12:48
【问题描述】:

我正在开展一个项目,人们可以将 cmets 留在 AR 中的特定位置。为了测试这一点,我试图让它显示一些测试消息。

public void getStarted(Anchor anchor){
    ArrayList<String> comments = new ArrayList<String>();
    comments.add("Have a nice day");
    for (String x : comments) {
        if (closeEnough()) {
            ViewRenderable.builder()
                    .setView(x, )
                    .build()
                    .thenAccept(renderable -> placeComment(anchor, renderable, comments));
        }
    }
}

我能够对其进行测试,但当您尝试放置测试视图时它会崩溃。调用 .build() 时它会崩溃。您对解决此问题有什么建议吗?

我将添加前面的函数。

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    if (checkSystemSupport(this)) {
        Button button = (Button) findViewById(R.id.button);
        arCam = (ArFragment) getSupportFragmentManager().findFragmentById(R.id.arCameraArea);
        arCam.setOnTapArPlaneListener((hitResult, plane, motionEvent) -> {
            Anchor anchor = hitResult.createAnchor();
            getStarted((anchor));
        });
    }
}

以及放置和编辑文本的那个。

private void placeComment(Anchor anchor, @NonNull ViewRenderable renderable, String comments) {
    TextView t = renderable.getView().findViewById(R.id.post);
    t.setText(comments);

    AnchorNode anchorNode = new AnchorNode(anchor);
    anchorNode.setParent(arCam.getArSceneView().getScene());
    TransformableNode model = new TransformableNode(arCam.getTransformationSystem());
    model.setParent(anchorNode);
    model.setRenderable(renderable);
    model.select();
}

【问题讨论】:

    标签: android android-studio augmented-reality arcore


    【解决方案1】:

    我遇到了同样的问题,然后发现:https://github.com/google-ar/sceneform-android-sdk/issues/574。如果在构建可渲染的那一刻没有加载arfragment,那么它就会崩溃。我添加了 postdelayed 来检查它是否真的是初始化错误,并且它有效,viewrenderable 已经构建没有问题。

    【讨论】:

      猜你喜欢
      • 2017-05-28
      • 2015-06-28
      • 2020-11-19
      • 2012-01-07
      • 2012-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多