모바일 터치 입력
이전 포스팅을 기반으로 오브젝트를 터치하여 드래그로 이동시켜 보도록 합니다.
스크립트 작성
Touch02
스크립트를 생성하여 아래와 같이 작성합니다.
```ruby using System.Collections; using System.Collections.Generic; using UnityEngine;
Beatchoi's Blog
List of Postings
이전 포스팅을 기반으로 오브젝트를 터치하여 드래그로 이동시켜 보도록 합니다.
Touch02
스크립트를 생성하여 아래와 같이 작성합니다.
```ruby using System.Collections; using System.Collections.Generic; using UnityEngine;
스마트폰이나 터치 디바이스 등 스크린 터치가 가능한 디바이스에서 실행 가능한 터치를 구현합니다.
Input.Touch
를 활용하면 유니티 게임 창에서 마우스를 활용한 클릭은 구현되지 않습니다.
하지만 GetMouseButton
를 활용하여 터치를 구현했을 때와는 다르게 다양한 기능들을 활용할 수 있습니다.
따라서 드래그
, 멀티터치
등의 복잡한 터치를 구현하기 위해서는 Input.Touch
를 활용하는 것이 좋습니다.
```ruby using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI;
이전 실습에 이어서 여러장의미지에 각기 다르 오브젝트를 증강할 수 있는 콘텐츠르 개발해 봅니다.
ARFoundation을 활용하여 이미지를 인식하고 인식한 이미지에 가상의 오보젝트를 증강시켜 봅니다.
ARFoundation의 환경설정을 진행합니다.
AR Session Origin
및 AR Session
오브젝트를 추가합니다.
Project
청에서 마우스 우 클릭, Create
-> XR
-> Reference Image Library
를 선택하여 추가합니다.
<01. Reference Image Library 추가>
인식할 이미지 파일을 Project
창으로 옮겨 프로젝트에 추가합니다.
인식할 이미지의 형태에 따라 인식률에 차이가 있으며 인식이 불가능한 이미지의 경우 빌드가 되지 않습니다.
아래 이미지를 활용해 봅니다.
<02. Image Target>
생성된 Reference Image Library
를 선택하고 우측 인스펙터 창을 확인합니다.
Add Image
버튼을 클릭하여 인식될 이미지를 추가할 항목을 생성합니다.
이어서 프로젝트 창에 있는 인식할 이미지를 드래그하여 Texture 2D
항목에 끌어 놓습니다.
Specify Size
항목을 체크하고 생기는 하단 항목의 Physical Size
항목의 X 값을 1로 설정합니다.
<03. Reference Image 추가>
이어서 AR Session Origin
오브젝트를 선택하고 Inspector
창에서 AR Tracked Image Manager
컴포넌트르 추가합니다.
AR Tracked Image Manager
컴포넌트의 Serialized Library
항목에 Reference Image Library
파일을 끌어다 놓습니다.
<04. AR Tracked Image Library Manager 추가>
이제 이미지를 인식하면 생성이 될 3D 오브젝트를 생성합니다. Cube
오브젝트를 생성하고 본 오브젝트를 Prefab
으로 만들어 줍니다.
<05. Cube 오브젝트 생성>
<06. Cube 오브젝트 Prefab 생성>
마지막으로 AR Session Origin
오브젝트의 AR Tracked Image Manager
컴포넌트의 Tracked Image Prefab
항목에 Cube
프리펩을 연결합니다.
Hierarchy
창의 Cube 오브젝트는 제거합니다.
<07. Cube Prefab 연결>
ARFoundation을 활용하여 증강현실 콘텐츠를 만들 수 있는 준비를 해봅니다.
상단 메뉴에서 Window
탭의 Package Manager
를 선택합니다.
<01. 패키지 매니저 - 01>
패키지 매니저 창에서 Packages
항목을 아래와 같이 Unity Registry
로 변경합니다.
<02. 패키지 매니저 - 02>
Package Manager
창에서 ARFoundation
패키지를 설치합니다. 우측 하단 Install 버튼을 클릭합니다.
<03. ARFoundation 패키지 설치>
Package Manager
창에서 ARCore XR Plugin
패키지를 설치합니다. 우측 하단 Install 버튼을 클릭합니다.
<04. ARCore XR Plugin 패키지 설치>
프로젝트를 생성하고 Build Settings
창에서 플랫폼을 Android
로 변경합니다.
<05. 개발 플렛폼 변경>
Player Settings
-> Other Settings
항목에서 Rendering
항목을 찾습니다.
Auto Graphics API
항목을 체크 해제합니다.
OpenGLES3
이 Vulcan
의 상단으로 갈 수 있도록 마우스로 클릭, 드래그하여 끌어줍니다.
<06. Graphic API Level 변경>
Player Settings
-> Other Settings
항목에서 Identification
항목의 Minimum API Level
을 Android 10.0 (API Level 29)
으로 변경합니다.
<07. Android API Level 변경>
본인의 안드로이드 디바이스의 버전이 10 이상일 경우 구글 어플리케이션 정책에 의해 64비트의 어플리케이션만 실행이 가능하기 때문에 아래 항목을 진행합니다.
Other Settings
항목의 Configuration
항목을 찾습니다.
Scripting Backend
항목을 Mono
에서 IL2CPP
로 바꿔줍니다.
또한 Target Architectures
항목의 ARM64 항목을 체크해줍니다.
<08. 64비트 안드로이드 어플리케이션 설정>
Project Settings
창에서 좌측 하단 XR Plug-in Managerment
항목을 찾아 클릭합니다.
XR Plug-in Managerment
창에서 안드로이드 탭으로 설정이 되어있는지 확인하고 ARCore
항목을 체크하여 설정합니다.
<09. XR Plug-in Managerment 설정>
계층구조창에서 마우스 오른쪽 클릭 XR
항목에서 AR Session Origin
버튼을 클릭합니다.
<10. AR Session Origin 오브젝트 생성>
계층구조창에서 마우스 오른쪽 클릭 XR
항목에서 AR Session
버튼을 클릭합니다.
<12. AR Session 오브젝트 생성>
계층구조창에서 Main Camera
오브젝트를 제거합니다.
<13. Main Camera 오브젝트 제거>
Latest Posts
Lightship의 geofencing 기능을 구현할 수 있는 Maps SDK 활용법을 알아봅니다.
본 포스팅은 ARDK 3.9 버전, Maps SDK 0.4 버전을 기준으로 작성합니다. 이전 포스팅을 참조하여 SDK를 임포트 합니다.
UI 객체들의 위치, 크기, 기준점 등등을 담당하는 Rect Transform에 대하여 알아봅니다.
Unity UI는 게임 및 애플리케이션용 사용자 인터페이스를 개발하는 데 쓰이는 간단한 UI 툴킷입니다. Unity UI는 게임 오브젝트 기반 UI 시스템으로, 컴포넌트와 게임 뷰를 사용하여 사용자 인터페이스를 배열하고 위치와 스타일을 지정합니다. Unity UI는 Unity 에디터 내 사용자 인터페이스에 대해 사용할 수 없습니다.https://docs.unity3d.com/kr/2019.1/Manual/UIToolkits.html