MRTK 에서 솔버란 ?
미리 정의된 알고리즘의 따라 개체의 위치 및 방향을 계산하는 방법을 용이하게 한 구성요소임
MRTK Solver 예제에는 5개 정도의 예제가 존재
--------
DirectionallndicatorSolver
방향성을 가지고 있는 오브젝트를 만들기.
현재 컵을 타겟으로 하고 있기 떄문에 컵으로 방향이 향하고있음
두 가지 CS 가 달려있음
핵심은 DirectionlIndicator 스크립터임 (Foundation 툴킷에 있음)
DirectionalTarget 은 쫒아가게 하는 타겟의 vector3 (transfrom) 값을 넣어주는 것
헤드 마운트 앞으로 따라게가 SolverHandler가 헤드로 되어있음
-----
FollowSolver
특정 물체가 쫒아가게 하고, Follow 스크립터 (SDK 내장)로 통해서 쫒아가는
로테이션,거리, 방향을 정해줄 수가 있음
핵심은 2가지
SolverHandler를 이용해서 헤드에 고정 시켜주고,
Follow를 통해서 로테이션, 거리, 방향을 정해준다.
----
Sovler Type 과 Tracking Type
Solver 타입은 오브젝트가 붙는 타입을 바꾸는것 같고
Tracking 타입은 오브젝트가 따라다니는 타입을 바꾸는 것 같음
솔버 타입은 3가지가 있고
Radial 스크립터
Orbital 스크립터
Surface 기준으로 붙는 Surface Magnetism 스크립터가 있다.
트래킹 타입은 SolverHandler에 타겟 타입에 따라 바꿔준다.
-------
Spatial Awareness 와 Surface Magnetism 를 이용하여서
실제 공간에 오브젝트 붙게 하기
(실제 MR를 끼면 더 정확하게 보이겠지만, 지금은 그냥 설명서 벽에 붙이겠음)
붙는 오브젝트의 3가지 스크립터가 붙어있음
먼저 SolverHandler는 Controller Ray로 되어있어서 손을 키면 나오는 레이에 트래킹이 되어있다.
SurfaceMagnetism 는 물체에 붙게 해주는 스크립터 임
Tap To Place 는 물체를 배치시켜주는 스크립터
-------
TapToPlace
TapToPlace는 말그대로 탭하고 플레이스 시키는 것이다.
샘플씬에는 크게 3가지로 TapToPlace 하는 방법이 있다.
첫 번쨰는 Tracked를 Controller Ray로 하고 TapTo 하는 것
SolverHandler가 Controller Ray 라서 손을 키면 나오는 콘트롤레이에 물체가 따라가고 ->
탭을 하면 Place한다.
두 번쨰는 타겟은 Head를 따라오게하고,
Surface Normal에 위치시키게 하는것,
첫 번쨰는 그냥 Tap To Palce를 하게 되지만, 이것의 가장 큰 차이점은 면의 노멀값으로 붙게하는 것
먼저 SolverHandler 는 Head로 위치하게한다.
TapToPlace에서 UseDefaultSurfaceNormal Offset에 체크
Keep Orientation Vertical에 체크를 해주면 surface 에 붙게된다.
세 번쨰는 두번쨰와 거의 동일하나
TapToPlace에서 KeepOrientationVertical 체크를 풀어줬기 떄문에
물체에 붙을때 붙는 물체 따라서 로테이션값이 바뀐다.
'AR Glasses > Hololens2' 카테고리의 다른 글
[MRTK 기능 공부] Shader (0) | 2021.09.28 |
---|---|
[MRTK 기능 공부] SpatialAwareness (0) | 2021.09.28 |
[MRTK 기능 공부] ScrollingObjectCollection (0) | 2021.09.27 |
[MRTK 기능 공부] Pulse Shader (0) | 2021.09.27 |
[MRTK 기능 공부] Hand Interaction (0) | 2021.09.27 |