관리 메뉴

나만을 위한 블로그

[Android] AR core로 만든 3D 객체 탭해서 지우기 본문

Android

[Android] AR core로 만든 3D 객체 탭해서 지우기

참깨빵위에참깨빵_ 2019. 12. 10. 16:42
728x90
반응형

참고한 사이트 : https://stackoverflow.com/questions/54811991/arcore-remove-a-specific-renderable-by-clicking-on-this-renderable

 

ARCORE: remove a specific renderable by clicking on this renderable

I'm working on a project using Sceneform from ARCore. I develop it base on HelloSceneform example provided by ARCore. What I wanna do is adding a renderable object by a hit and then delete it when I

stackoverflow.com

 

화면을 탭해서 3D 노드를 만들어냈는데 자꾸 만들어내면 공간이 없어지고 난잡해진다.

그래서 AR core도 클릭 이벤트가 있는지 확인해봤는데 마침 스택 오버플로우에 질답이 있었다.

답변에서 제시한 프로세스는 아래와 같다.

 

 

1. 제거하려는 해당 노드를 클릭해 전송 가능한 노드를 선택한다.

2. TransfarableNode.setOnTapListener가 우리 목적에 맞는 메서드를 제공한다.

3. 그 후 HitTestResult에서 노드를 가져오고 이를 분리한다.

 

 

아래는 생성된 노드를 탭해서 없앨 수 있는 코드다.

앞단계에 있어야 하는 코드들은 생략한다.

transformableNode.setParent(anchorNode);

transformableNode.setRenderable(model_nodeRenderable);

transformableNode.select();

transformableNode.setOnTapListener((HitTestResult hitTestResult, MotionEvent Event) ->

{

Node nodeToRemove = hitTestResult.getNode();

anchorNode.removeChild(nodeToRemove );

});

 

반응형
Comments