Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Prochain SlideShare
유니티 C# 기초 튜토리얼
Suivant
Télécharger pour lire hors ligne et voir en mode plein écran

10

Partager

Télécharger pour lire hors ligne

유니티 데이드림 (DayDream) 튜토리얼

Télécharger pour lire hors ligne

유니티로 구글 안드로이드의 데이드림과 카드보드 VR 을 빠르게 구현해봅시다

Livres associés

Gratuit avec un essai de 30 jours de Scribd

Tout voir

유니티 데이드림 (DayDream) 튜토리얼

  1. 1. 유니티 DayDream 튜토리얼 @I_Jemin i_jemin@hotmail.com
  2. 2. 시작전 준비
  3. 3. 시작전 준비 • 안드로이드 4.4 이상의 폰이 필요 • DayDream 의 경우 구글 Pixel 등 DayDream 지원폰이 필요
 (안드로이드 7.0 최신 Nougat 이 필요) • 유니티 DayDream 테그너컬 프리뷰 사이트에서 최신 인스톨러를 다운로드 및 설치 (5.4.2f2-GVR13) • https://unity3d.com/partners/google/daydream#section-download • 최신 Android SDK 와 Java JDK 가 설치되어 있고, 유니티 Preferences 에서 링크가 반드시 되야 합니다 • 안드로이드 API 최소 4.4 (킷캣) 설치가 되있어야 함 • 유니티를 켜고 테스트용 빈 프로젝트를 만들어 큐브를 하나 생성 • File > Build Settings 에서 Android 를 선택하고 SwitchPlatform 을 클릭
  4. 4. 시작전 준비 • Build Settings > Player Settings > Other Setting: Virtual Reality 를 체크하고 드롭다운에서 CardBoard 를 선택하여 추가 • 빌드 세팅을 안드로이드 4.4 이상으로 지정 • Identification 을 적절히 설정하고 Build and Run 을 하여 폰에서 테스트
  5. 5. • DayDream 의 추가 기능을 사용 하기 위해
 Google VR SDK for Unity 다운로드 • https://developers.google.com/vr/unity/ download 로 이동 • DOWNLOAD SDK 버튼 클릭
  6. 6. 심플 인터렉션 프로젝트
  7. 7. 프로젝트 시작 • 새로운 씬을 생성하고 MainCamera 를 제거 • Plane 을 추가하여 지평선을 만듬 • GvrControllerMain 과 GvrViewerMain 을 씬에 추 가 • 이 둘은 Google VR 과 통신을 하는 주요 오브젝트
  8. 8. GvrController GvrViwerMain • GvrViewerMain (GoogleVR > Prefabs) • HMD(헤드 마운트 디스플레이) 와 통신을 담당 • 시야 파라미터와 최신 헤드 트래킹 정보를 다룸 • 씬을 기기에 맞게 왜곡하여 랜더링 • GvrControllerMain (GoogleVR > Prefabs > Controller) • DayDream Controller API 의 연동 시작점 • 유니티 인스펙터를 통해 컨트롤러 Arm 모델의 깊이와 회전을 지정 가능
  9. 9. 유저 연동 • 물리적으로 유저와 연결된 오브젝트들, 메인 카메라, 컨트롤러 등 을 추가하려면… • 빈 게임 오브젝트를 생성, Player 라고 이름을 지 정 • Y값을 1.0으로 하여 유저 머리가 땅에서 1 미터 위에.
  10. 10. • GvrRecticlePointer (GoogleVR > prefabs > UI) • 화면의 중앙에 조준점을 띄움 • EventTrigger 컴포넌트와 Collider 컴포넌트를 가 진 오브젝트와 인터렉션을 함 • 인터렉션 가능한 오브젝트를 만날시 조준점이 변화함
  11. 11. • 씬에 미리 존재했던 MainCamera 는 지웠는지 다시 체크 • Player 오브젝트에게 마우스 오른쪽-카메라 추가 • GvrRecticlePointer 를 Player 자식으로 추가된 Camera의 자식으로 추가 • 추가된 카메라의 태그를 MainCamera 로 지정 • 카메라에 AddComponent > GvrPointerPhysicsRaycaster 추가
  12. 12. • 하이라키에 마우스 오른쪽 > UI > EventSystem 추 가 • EventSystem 오브젝트에 붙어있는 Standard Input Module 컴포넌트는 삭제 • EventSystem 에 AddComponent > GvrPointerInputModule GvrPointerInputModule 이 VR의 정중앙 조준점, 컨트롤러의 레이저 등 으로 일으키는 이벤트(PointerClick 등)을 EventSystem 을 통해 전파한다 이들은 EventTrigger 를 가지고 있는 오브젝트들이 수신한다
  13. 13. • 큐브에 EventTrigger 를 추가 • Add New Event Type 으로 이벤트를 듣게 한다 • Pointer Click - 조준점을 물체(의 콜라이더)에 놓고 클릭했을때 • Pointer Enter - 조준점이 물체에 진입할때 • Pointer Exit - 조준점이 물체를 나갈때
  14. 14. • EventTrigger 의 원하는 이벤트에 + 를 눌러 슬롯을 열기 • 열린 슬롯에 제어하고 싶은 오브젝트를 넣는다.
 해당 오브젝트에서 호출가능한 함수를 지정 하면 인터 렉션 구현 됨 • 예) Cube 자신을 PointerClick 의 슬롯에 할당하고, 함 수를 GameObject.SetActive(false) 로 지정 • => 오브젝트를 VR로 쳐다보고 화면을 터치하면 오 브젝트가 꺼지는 기능이 구현됨
  15. 15. 데이드림 프로젝트 (리모콘 사용) 프로젝트 시작하기 초반부는 심플 인터렉션 구현 프로젝트와 같음
  16. 16. 프로젝트 시작 • 새로운 씬을 생성하고 MainCamera 를 제거 • Plane 을 추가하여 지평선을 만듬 • GvrControllerMain 과 GvrViewerMain 을 씬에 추 가 • 이 둘은 Google VR 과 통신을 하는 주요 오브젝트
  17. 17. GvrController GvrViwerMain • GvrViewerMain (GoogleVR > Prefabs) • HMD(헤드 마운트 디스플레이) 와 통신을 담당 • 시야 파라미터와 최신 헤드 트래킹 정보를 다룸 • 씬을 기기에 맞게 왜곡하여 랜더링 • GvrControllerMain (GoogleVR > Prefabs > Controller) • DayDream Controller API 의 연동 시작점 • 유니티 인스펙터를 통해 컨트롤러 Arm 모델의 깊이와 회전을 지정 가능
  18. 18. 유저 연동 • 물리적으로 유저와 연결된 오브젝트들, 메인 카메라, 컨트롤러 등 을 추가하려면… • 빈 게임 오브젝트를 생성, Player 라고 이름을 지 정 • Y값을 1.0으로 하여 유저 머리가 땅에서 1 미터 위에.
  19. 19. • GvrControllerPointer (GoogleVR > prefabs > UI > GvrControllerPointer) • SDK 에 내장된 프리팹 • 데이드림 리모콘을 사용하도록함 • 컨트롤러 모델 포함 • 레이저 포인터 포함 • Arm 모델 포함
  20. 20. • 씬에 미리 존재했던 MainCamera 는 지웠어야함 • GvrControllerPointer 를 Player 오브젝트에 자식으 로 추가 • Player 오브젝트에게 마우스 오른쪽-카메라 추가 • 추가된 카메라의 태그를 MainCamera 로 지정 • 카메라에 AddComponent > GvrPointerPhysicsRaycaster 추가
  21. 21. 리모콘 인터렉션 구현하기 • 큐브 오브젝트를 레이저 포인터로 가리켜 랜덤 재배 치 시기기 • 레이저 포인터로 Plane의 가고 싶은 곳을 지정해 순 간 이동
  22. 22. • 하이라키에 마우스 오른쪽 > UI > EventSystem 추가 • EventSystem 오브젝트에 붙어있는 Standard Input Module 컴포넌트 는 삭제 • EventSystem 에 AddComponent > GvrPointerInputMoudle • 씬에 새로운 큐브를 추가, 카메라와 다른 장소에 적절히 배치 • 큐브에 EventTrigger 를 추가 • Add New Event Type 으로 이벤트를 듣게 함 • Pointer Click • Pointer Enter • Pointer Exit
  23. 23. • 새로운 마테리얼 두개를 생성 • 하나는 붉은색, 하나는 푸른색으로 지정 (Albedo 설정) • 붉은 색은 레이저로 포인팅 했을때 색 • 푸른 색은 조준하지 않았을 때 색 • 큐브에 AddComponent - Teleport 를 추가 • EventTrigger 의 각 이벤트에 + 를 눌러 슬롯 추가 • PointerClick: Teleport.TeleportRandomly • PointerEnter: Teleport.SetGazedAt (true 체크) • PointerExit: Teleport.SEtGazedAt (true 체크 X)
  24. 24. • Teleport 스크립트를 열고 스크립트 초반부와 함수 추 가 • 초반부
 using UnityEngine;
 using UnityEngine.EventSystems; // ADD
 using System.Collections;
 
 [RequireComponent(typeof(Collider))]
 public class Teleport : MonoBehaviour, IGvrGazeResponder {
 
 public GameObject player; //ADD
  25. 25. • 함수
 public void TeleportTo(BaseEventData data)
 {
 PointerEventData pointerData
 = data as PointerEventData;
 
 Vector3 worldPos =
 pointerData.pointerCurrentRaycast
 .worldPosition;
 
 Vector3 playerPos =
 new Vector3 (worldPos.x,
 player.transform.position.y,
 worldPos.z);
 player.transform.position = playerPos;
 }
  26. 26. • Plane 오브젝트에 Teleport 와 EventTrigger 를 추 가 • Teleport 의 Player 슬롯에 Player 오브젝트 할당 • EventTrigger 에 PointerClick 이벤트를 추가 • + 버튼으로 슬롯을 추가하고 Teleport.TeleportTo 를 지정
  27. 27. DayDream 컨트롤러
 에뮬레이팅
  28. 28. • 데이드림 컨트롤러 에뮬레이터를 폰에 설치 • https://developers.google.com/vr/daydream/ controller-emulator • 폰을 컴퓨터와 같은 WiFi 네트워크에 연결 • 데이드림 컨트롤러를 켜고, 상단의 IP 주소를 메모
 (예, 192.168.6.2224 )
  29. 29. • Scripts > Controller > Internal > Emulator 이동 • EmulatorConfig 스크립트 열기 • 하단에
 public static readonly string WIFI_SERVER_IP = "192.168.6.224";
 의 IP 주소를 이전에 메모한 주소로 변경 • 카메라에 GvrPointerPhysicsRaycaster 를 추가 • GvrControllerMain 의 설정을 WiFi 로 지정
  30. 30. http://www.sdkboy.com/2016/12/building-daydream-controller-based- app-scratch/ 참고 자료 Reference
  • ddayinhwang9

    Feb. 17, 2018
  • kiss3lue

    Jan. 24, 2017
  • WonkyKIM

    Jan. 24, 2017
  • newkaos

    Jan. 24, 2017
  • micus74

    Jan. 24, 2017
  • SeongjunKim1

    Jan. 23, 2017
  • sidebi

    Jan. 23, 2017
  • redccoma

    Jan. 23, 2017
  • YongJePark

    Jan. 23, 2017
  • kibinpark18

    Jan. 23, 2017

유니티로 구글 안드로이드의 데이드림과 카드보드 VR 을 빠르게 구현해봅시다

Vues

Nombre de vues

3 888

Sur Slideshare

0

À partir des intégrations

0

Nombre d'intégrations

649

Actions

Téléchargements

14

Partages

0

Commentaires

0

Mentions J'aime

10

×