将相机移离标记android(Kudan AR)时3D模型消失

将相机移离标记android(Kudan AR)时3D模型消失,android,3d,camera,augmented-reality,kudan,Android,3d,Camera,Augmented Reality,Kudan,我正在android中使用Kudan SDK开发增强现实。当手机摄像头指向标记时,我尝试生成3D模型。我能够做到这一点。但是如果我把相机从标记上移开,模型就消失了。我不希望3D模型消失,除非应用程序关闭或相机关闭。我想在移动相机的同时移动三维模型。以下是插入标记和三维模型的代码 private void addImageTrackable() { // Initialise image trackable trackable = new ARImageTrackable("Sp

我正在android中使用Kudan SDK开发增强现实。当手机摄像头指向标记时,我尝试生成3D模型。我能够做到这一点。但是如果我把相机从标记上移开,模型就消失了。我不希望3D模型消失,除非应用程序关闭或相机关闭。我想在移动相机的同时移动三维模型。以下是插入标记和三维模型的代码

private void addImageTrackable() {

    // Initialise image trackable
    trackable = new ARImageTrackable("Space");
    trackable.loadFromAsset("user_pic.jpg");

    // Get instance of image tracker manager
    ARImageTracker trackableManager = ARImageTracker.getInstance();

    // Add image trackable to image tracker manager
    trackableManager.addTrackable(trackable);
}

private void addModelNode() {
    // Import model
    ARModelImporter modelImporter = new ARModelImporter();
    modelImporter.loadFromAsset("cube.jet");
    ARModelNode modelNode = (ARModelNode) modelImporter.getNode();

    // Load model texture
    ARTexture2D texture2D = new ARTexture2D();
    texture2D.loadFromAsset("cube.png");

    // Apply model texture to model texture material
    ARLightMaterial material = new ARLightMaterial();
    material.setTexture(texture2D);
    material.setAmbient(0.8f, 0.8f, 0.8f);


    // Apply texture material to models mesh nodes
    for (ARMeshNode meshNode : modelImporter.getMeshNodes()) {
        meshNode.setMaterial(material);
    }


    modelNode.rotateByDegrees(10, 1, 0, 0);
    modelNode.scaleByUniform(3f);
    modelNode.setPosition(1, 1, 2000);
    modelNode.play();

    // Add model node to image trackable
    trackable.getWorld().addChild(modelNode);
    modelNode.setVisible(true);

}


但是我想保留这个3D模型,即使我把相机从标记上移开。

当然,由于没有标记,模型正在消失。如果希望始终在同一位置绘制模型,只需在每个帧上保存模型的最后位置,并在标记检测丢失时在该位置绘制模型。如果您想尝试在世界上完全相同的位置(而不是屏幕上的相同位置)绘制手机,您可以尝试使用设备传感器来估计手机的移动,并相应地更新模型的位置。

根据我在此类环境中的经验,我告诉过您需要做些什么来解决它。我没有一个特定的代码为您在这里,但我认为没有理由你不能做自己。。。如果您还有其他问题或具体困难,请继续提问。我正在使用kudan SDK,但我无法确定它在哪里使3D模型不可见。我查阅了他们的文件,但无论如何都帮不了我。
trackable
对象有一个监听器,它有一些方法,比如
onDetect
onTrack
,但是我无法保持多维数据集的可视性。我不知道Kudan的具体情况,但我可以试着快速查看代码,看看是否可以提供帮助。你用的是哪种样品?如果可以,请为Android sdk提供链接。您甚至可以查找有关如何设置的文档。设置过程中的任何问题。你可以问我是的。。。虽然为你工作听起来很有趣,但我不会那么做,没有时间做两份工作。。。我说如果你有样本链接,我可以快速查看一下。否则我就得通过考试。很抱歉