java中scene的作用_Sceneform SDK可以访问ARCore SDK的所有功能吗?

卢勇
2023-12-01

使用Sceneform时,Android上的ARCore的所有功能都可用 . 最常见的用例非常简单,例如在地板平面上处理对象 .

您可以通过调用Scene.setOnUpdateListener()然后在侦听器调用ArSceneView.getArFrame()中设置Scene侦听器来执行每帧操作 .

例如

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

this.sceneView = (ArSceneView) findViewById(R.id.scene_view);

sceneView.getScene().setOnUpdateListener((this::onSceneUpdate));

}

private void onSceneUpdate(FrameTime updatedTime) {

Frame frame = sceneView.getArFrame();

Collection updatedAnchors = frame.getUpdatedAnchors();

for (Anchor anchor : updatedAnchors) {

// Handle updated anchors...

}

}

对于需要会话配置的ARCore功能,您可以在自己的代码中创建会话并调用ArSceneView.setupSession()或者如果使用ArFragment,则可以扩展ArFragment可以实现getSessionConfiguration(),在创建会话后立即调用 .

请记住,如果直接配置会话以将更新模式设置为LATEST_CAMERA_IMAGE .

 类似资料: