본문 바로가기

AR3

컴퓨터 그래픽스 - Object Picking Picking 했을때 우리가 얻을 수 있는 것은 스크린에서의 2차원 Pixel좌표 (x,y)밖에 없었다. 어떻게 주전자가 하이라이트되어 색이 바뀔까? 각 픽셀은 어떤 영역에 속하는지 정보가 없다. 3차원으로 넘어가서 기하적인 추론을 해야할 것이다. 그림에 보이는 박스는 View Port 영역이다. 2차원 Screen 공간에서는 커서가 (X_s, Y_s) 2차원 좌표로 주어지지만, 클릭한 점이 3차원 공간에서는(X_s, Y_s, 0)일 것이다. 여기서 뻗어나가는 ray를 생각해보자. ray란 시작점이 있고 한쪽으로 무한하게 뻗어나가는 직선이다. 3차원 뷰포트에서 모든 Ray는 z축 방향으로 뻗어나간다고 생각하면된다. 이때 direction Vector는 (0,0,1)이다. 3차원 Ray가 뻗어나가면서 누구.. 2024. 3. 1.
[iOS] RealityKit, ARKit - MotionCapture 예제 ARViewContainer SwiftUI는 기본적으로 UIKit 또는 AppKit 컴포넌트를 직접 지원하지 않는다. 즉, ARView와 같은 UIKit 컴포넌트를 SwiftUI에서 바로 사용할 수 없다. 따라서, UIKit의 ARView를 SwiftUI 뷰에서 사용하고자 할 때는 UIViewRepresentable 프로토콜을 채택하여 UIKit 뷰를 SwiftUI 뷰로 변환해야 한다. ARView, Entity란? struct ARViewContainer: UIViewRepresentable { typealias UIViewType = ARView //이 메서드는 SwiftUI 뷰가 생성될 때 호출. //여기서 실제 ARView 인스턴스를 생성하고 초기 설정을 수행. func makeUIView(con.. 2024. 2. 14.
[iOS] ARKit(1) - OverView, Setting 요즘 그래픽스 관련 서적을 참고하고 Metal 관련 코드를 공부하고 있다. 그러다가 집중력이 흐려질땐 내부적으로 Metal 기능을 사용하고 있는 ARKit, RealityKit과 같은 프레임워크를 경험하면서 Top - Down 방식으로 접근해보는 것도 도움이 될 것이라 판단했다. ARKit ARKit 프레임워크의 주요 목적은 증강 현실(AR) 경험을 개발하는 것이며 제공하는 기능은 다음의 4가지다. motion trackingworld tracking환경의 표면, 크기, 형태를 파악디스플레이 편의성ARKit의 차별화된 기능: 마커리스 추적ARKit의 특징 중 하나는 markerless tracking 이다. 추적 카드(마커)도 필요 없이 주변 환경을 파악하고, 가상 콘텐츠를 실제 환경에 자연스럽게 어우러.. 2024. 1. 21.
728x90