首页 > 解决方案 > 如何启用对球体 Sceneform 的双面渲染(arcore

问题描述

你好,我是学生,我对 Sceneform 一无所知。但我想使用 Sceneform 创建 Sensorama。但现在我无法在球体内侧渲染图像。这是我的代码。

ArFragment arFragment = (ArFragment) getSupportFragmentManager().findFragmentById(R.id.ux_fragment);
    com.google.ar.sceneform.rendering.Texture.Builder builder= com.google.ar.sceneform.rendering.Texture.builder();
    builder.setSource(this, R.drawable.citrus);
    builder.build().thenAccept(texture ->
            MaterialFactory
                    .makeOpaqueWithTexture(this, texture)
                    .thenAccept(material -> {
                        ModelRenderable renderable = ShapeFactory.makeSphere(
                                1, new Vector3(0f, 0f, 0f),
                                material);
                        Node node = new Node();
                        assert arFragment != null;
                        node.setParent(arFragment.getArSceneView().getScene());
                        node.setRenderable(renderable);

                        arFragment.getArSceneView().getScene().addOnUpdateListener(
                                frameTime -> {
                                    Camera camera = arFragment.getArSceneView().getScene().getCamera();

                                    Ray ray = camera.screenPointToRay(1080 / 2f ,1980 / 2f);

                                    Vector3 newPosition = ray.getPoint(1f);

                                    node.setLocalPosition(newPosition);
                                }
                        );
                    })
    );

我该怎么做才能从内部渲染图像?

标签: javaarcoresceneform

解决方案


推荐阅读