티스토리 뷰
1. Config
각종 모드와 Augmented Image Database 설정 및 조회를 설정합니다.
DepthMode | DISABLED AUTOMATIC RAW_DEPTH_ONLY |
InstantPlacementMode | DISABLED LOCAL_Y_UP |
FocusMode | FIXED AUTO |
AugmentedFaceMode | DISABLED MESH3D |
CloudAnchorMode | DISABLED ENABLED |
UpdateMode | BLOCKING LATEST_CAMERA_IMAGE |
PlaneFindingMode | DISABLED HORIZONTAL VERTICAL HORIZONTAL_AND_VERTICAL |
LightEstimationMode | DISABLED AMBIENT_INTENSITY ENVIRONMENTAL_HDR |
사용 예 >
config.updateMode = Config.UpdateMode.LATEST_CAMERA_IMAGE
config.augmentedImageDatabase = AugmentedImageDatabase(session)
2. Node
기본 노드에서 제공하는 여러 가지 함수들이 많이 있습니다만 그중 제가 중요하다고 생각하는 거 몇 개만 추려봤습니다.
- setRenderable(Renderable renderable)
- setParent(NodeParent parent)
- onUpdate(FrameTime frameTime)
위의 3가지 함수를 가장 많이 사용하게 되는데
setRenderable() 을 이용하여 3D 객체를 저장하고
setParent()를 활용하여 상위 노드에 해당 노드를 등록하고
onUpdate()를 통해 노드가 업데이트되었을 때 작업을 처리합니다.
※ setParent에서 사용하는 NodeParent는 노드 또는 Scene이 올 수 있는데 Scene 일 경우 최상위 노드로 간주합니다.
그다음으로 리스너 등록 함수입니다.
- setOnTapListener(Node.OnTapListener onTapListener)
- setOnTouchListener(Node.OnTouchListener onTouchListener)
- addTransformChangedListener(Node.TransformChangedListener transformChangedListener)
리스너 등록을하여 원하는 이벤트 등록이 가능합니다.
저의 경우 setOnTouchListener()를 이용하여 해동 노드를 삭제하는 이벤트를 등록하여 사용하였습니다.
AnchorNode
기본적인 노드로 Anchor를 기반으로 배치를 하는 노드입니다. 만약 Anchor를 추적하지 못하게 되면 하위 Node들이 제거됩니다.
구현하기에 따라 다르겠지만 기본적으로 AnchorNode의 경우 고정 배치가 되어있기 때문에
사용자가 크기, 위치, 방향 등의 동작이 필요한 경우가 아니라면 AnchorNode의 사용이 적합니다.
TransfromableNode
제스처를 통해 선택, 변환, 회전, 스케일 조정 등을 할 수 있는 노드입니다.
사용자의 컨트롤을 통해 보여줄 것이 있을 경우 사용하기 적합합니다.
이 외에도 AugmentedFaceNode, SkeletonNode, Camera, Sun 등을 제공하고 있습니다.
3. Randerable
renderable의 경우 특별한 경우를 제외하면 builder 패턴으로 생성하는 것을 제외하면 다른 함수는 많이 사용될 것 같진 않습니다.
renderable은 생성 후 Node에 담아서 사용하게 됩니다.
renderable의 종류에는 ModelRenderable과 ViewRenderable가 있습니다.
ModelRenderable은 GLB, GLTF2와 같은 3D 파일을 랜더링 하여 renderable을 생성해 줍니다.
getAnimationDataCount( )를 통해 해당 모델의 애니메이션의 개수를 알 수 있고
getAnimaitionData( int 혹은 name(String) )을 통해 AnimationData를 획득하고 ModelAnimaotr를 통해 애니메이션 작동이 가능합니다.
저의 경우 아직 getAnimationDataCount( )에 애니메이션이 없다고 나와서 테스트를 진행하진 못했습니다.
ViewRenderable은 사용자가 xml, view 등을 통해 만든 2D결과물을 랜더링 하여 renderable을 생성해 줍니다.
테스트해봤을 때 기본적으로 약간의 투명도를 가지고 있으며 ViewRenderable를 생성 후 View를 받아서 값 수정 및 이벤트 등록이 가능합니다.
'메타버스 스터디' 카테고리의 다른 글
ARCore 정리 (0) | 2021.08.06 |
---|---|
AR Core 4주차 (0) | 2021.07.16 |
ARCore 2주차 (0) | 2021.07.04 |
ARCore (0) | 2021.06.27 |
구글 글라스 학습 (구글 문서) (0) | 2021.06.20 |
- Total
- Today
- Yesterday
- Compose BottomSheet
- WebView
- compose
- Worker
- LazyColumn
- Compose BottomSheetDialog
- Row
- 안드로이드 구글 지도
- Duplicate class fond 에러
- Compose Naver Map
- Compose 네이버 지도 api
- Compose 네이버 지도
- WorkManager
- Compose MotionLayout
- Duplicate class found error
- Compose ConstraintLayout
- Retrofit
- Gradient
- Fast api
- Android Compose
- 안드로이드
- Compose ModalBottomSheetLayout
- Pokedex
- Compose BottomSheetScaffold
- 웹뷰
- Kotlin
- Compose QRCode Scanner
- column
- Android
- 포켓몬 도감
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |