Android 模型未显示,但阴影已显示

Android 模型未显示,但阴影已显示,android,augmented-reality,arcore,sceneform,Android,Augmented Reality,Arcore,Sceneform,我正在尝试开发一个应用程序,并开始开发一个目前使用AR在表面上显示3d模型的应用程序 一切都进行得很顺利,直到突然图像没有显示出来,但阴影消失了。我尝试将代码还原到以前的代码,但没有任何效果 屏幕截图: 可以看到阴影,但无法看到模型。我下载了一个obj模型并添加了它。一开始它工作得很好,突然模型停止显示 public class MainActivity extends AppCompatActivity { private boolean tapExecuted = false;

我正在尝试开发一个应用程序,并开始开发一个目前使用AR在表面上显示3d模型的应用程序

一切都进行得很顺利,直到突然图像没有显示出来,但阴影消失了。我尝试将代码还原到以前的代码,但没有任何效果

屏幕截图:

可以看到阴影,但无法看到模型。我下载了一个obj模型并添加了它。一开始它工作得很好,突然模型停止显示

public class MainActivity extends AppCompatActivity {

    private boolean tapExecuted = false;
    private final Object syncTaps = new Object();
    private ArFragment arFragment;
    private TextView debugText;

    private ArSceneView sceneView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        debugText = findViewById(R.id.debug_text);
        arFragment = (ArFragment)getSupportFragmentManager().findFragmentById(R.id.ux_fragment);
        arFragment.setOnTapArPlaneListener(this::handleTap);

        this.sceneView = this.arFragment.getArSceneView();
    }

    protected void handleTap(HitResult hitResult, Plane plane, MotionEvent motionEvent) {
//        this.debugText.setText(hitResult.getHitPose().toString());
        synchronized (this.syncTaps) {  // So that only one tap is validated at a time
            if (this.tapExecuted) {
                return;
            }
            this.tapExecuted = true;
        }
        ModelRenderable.builder()
                .setSource(this, Uri.parse("axis test.sfb"))
                .build().thenAccept(renderable -> addModelToScene(hitResult.createAnchor(), renderable))
                .exceptionally(
                        throwable -> {
                            Log.e("TAG", "Unable to load renderable");
                            return null;
                        });
    }

    private void addModelToScene(Anchor anchor, Renderable renderable) {
        AnchorNode anchorNode = new AnchorNode(anchor);
        // To give User flexibility to move, resize and rotate the model
        TransformableNode transformableNode = new TransformableNode(this.arFragment.getTransformationSystem());
        // disabling resize and rotate
        transformableNode.getRotationController().setEnabled(false);
        transformableNode.getScaleController().setEnabled(false);
        transformableNode.setRenderable(renderable);
        transformableNode.setParent(anchorNode);
        transformableNode.select();
        this.sceneView.getScene().addChild(anchorNode);
        this.debugText.setText("Model Added to the tap");
    }

我解决了这个问题。我使用的是旧版本的sceneform。我猜它可以与手机上的旧版本软件一起工作,但当它更新后就停止工作了


我将sceneform从1.8.0更新为1.11.0

您需要包含所引用的代码,以便人们能够帮助您解决这个问题。请参见更新代码\