방에 그랜드 피아노가 왔다 # 자산 Adkale

2136 단어 HoloLensUnity
이 기사는 Unity Assets Advent Calendar 2016 15일째 기사가 됩니다.

아마 이 기사를 읽고 있는 분은, 어렸을 때부터 피아노를 정말 좋아했지만, 가정의 사정으로 구입을 할 수 없었던 그랜드 피아노에의 동경이 버리지 않고, 지금도 그리워하고 있을 것입니다. 그러나 지금의 기술이라면 공짜로 방에 둘 수 있습니다. 장소도 취하지 않습니다.



Unity Asset Store라면 피아노도 구입도 가능하다. 게다가 무료로


본제 「HoloLens로 모델 데이터를 방의 좋아하는 장소에 배치하는 방법」





이번에는 HoloToolkit-Unity에 포함된 TapToPlace의 데모 장면을 이용합니다.
이것은, 공간 인식을 해 주는 편리한 SpatialMapping 프리팹을 사용해, 방안에 떠 있는 Cube를 Air-Tap로 선택해 좋아하는 위치에 둘 수 있는 샘플의 장면이 되어 있습니다.

TapToPlace 데모 장면의 작동 방식은 Cube에 설정된 TapToPlace 스크립트가 키가 됩니다.
Managers 게임 객체에 부착된 GestureManager에서 SendMessage("OnSelect")를 받아 시선의 GazeManager에서 커서의 위치와 SpatialMapping에서 벽이나 바닥으로 인식하여 생성된 공간의 메쉬의 부딪힌 좌표에 Cube를 이동.
다시 Air-Tap을 누르면 Cube를 고정할 수 있습니다.

큐브와 피아노 교체



다만, TapToPlace는 모델 데이터의 Rotation이 0으로 이동하는 만들기가 되어 있으므로, 이번 사용하는 Piano의 모델 데이터와 같이 오른손 좌표계로 만들어지고 있는 경우는, 모델의 x축을 90도 바꾸는 것 같은 좌표 변환이나, TapToPlace.cs를 만지작할 필요가 있다.

이번에는 빠르고, Mesh Renderer를 제외한 Cube의 아이에게 Piano의 모델 데이터를 배치한다.



그리고 Shader를 HoloLens에서 표시에 최적화된 Shader로 바꿉니다. 이것은 HoloToolkit-Unity에 포함된 Shader에서 적용 가능하게 선택한다.

실제의 스케일도 Holographic Remoting Player로 실행하면서 조정하면 완성.

Tap To Place는 Box Colider의 면에서 이동하므로, 피아노의 모델 사이즈에 맞추어 조정한다.

좋은 웹페이지 즐겨찾기