[Unity VR과 Android BLE] #2 Unity 기본

in #kr6 years ago (edited)

Unity VR앱과 안드로이드 앱을 integration하는 앱을 만들어 봅니다. 또 안드로이드의 BLE 장치 제어를 Unity에서 하는 내용을 다룹니다.


출처: https://medium.com/@narendrapal39/android-add-support-library-for-unity-205b45ca243d

이전글 - [Android for Unity VR] #1 VR 개발을 시작하며


Unity 장점

Unity는 게임을 만드는데 주로 사용하는 게임엔진입니다. Unity의 좋은 점은 개인사용자에게 무료로 공개되어 누구나 사용할 수 있다는 것과, 안드로이드나 아이폰 앱으로 쉽게 만들 수 있도록 지원을 한다는 것입니다.

image.png

Unity의 모토입니다.

Democratizing Development, 개발의 민주화!
멋지지 않습니까?

Unity 적용분야

이와 같은 장점들로 인해 Unity로 만든 게임이 전체 게임으 50%에 다다릅니다. 그런데 Unity는 게임 만드는데만 쓰는 것이 아닙니다. Augmented Reality (AR), Virtual Reality (VR)에도 많이 사용됩니다. 최근에 360도 영상들이 많이 나오면서 AR, VR 앱에도 많이 사용됩니다.

여기서도 Unity를 이용하여 360도 영상을 재생하는 모바일 앱을 만들어 보려고 합니다.

최근에 Unity Korea발표에 의하면 Deep Learning도 지원한다고 합니다.

출처: 유니티, 머신러닝 에이전트로 AI 개발 손쉽게

최근 딥러닝 트렌드는 시뮬레이터를 이용하여 학습을 빠르게 하는 것입니다. 시뮬레이터를 얼마나 사실과 유사하게 만들 수 있느냐가 관건입니다. 이런 면에서 유니티는 장점이 있어 보입니다.

Unity 실행

Unity 설치: https://unity3d.com/unity
Unity는 공식적으로 윈도우즈와 Mac OS를 지원합니다. 리눅스도 설치는 가능한거 같은데, 공식적으로 지원하지는 않는 거 같습니다. 저는 리눅스를 사랑하지만 어쩔 수 없지 윈도우즈에 개발해야 합니다. ㅜ.ㅜ
image.png

Unity 설치는 매우 간단합니다. 별 어려움 없이 설치가 가능합니다. Unity를 실행하면 위 그림과 같이 나오는데, 여기서 새로운 프로젝트를 만듭니다. 이름은 적당히 "VRAndroidBLE"로 했습니다. 프로젝트에서 구현할 것을 요약하면 다음과 같습니다.

  • VR 앱. Reticle, 메뉴 생성
  • 360도 영상 재생
  • Android Library Integration
  • Android의 BLE 장치 제어 Integration

Android Studio 설치

구현하고자 하는 것 중에 안드로이드 라이브러리를 Unity에 적용하는 것이 있기 때문에 Android 앱 개발도 동시에 해야 합니다. 따라서 이를 위해 Android Studio를 설치합니다.

Android Studio 설치: https://developer.android.com/studio/?hl=ko

안드로이드 스튜디어 설치도 간단합니다. 별 어려움 없이 설치할 수 있습니다. 특이 사항이 없습니다. 안드로이드 앱은 이전에 Eclipse라는 개발툴을 이용하여 많이 했지만 이제는 더이상 이 툴로 개발하는 사람은 별로 없는 거 같습니다.

개발환경

개발환경은 다음과 같습니다.

  • Unity 버전: 2018.2.3f1
  • Android Studio: 3.1.4
  • Windows 10 (64 bits)
  • PC: i5-8250U CPU @1.6GHz, 1.8GHz, 내장 그래픽
  • VR Device: Gear VR

Unity는 기존에 Unity 5와 Unity 2018버전과 차이가 좀 있는 거 같습니다. 저도 개발을 위해 잠시 사용해 봤는데, 개발툴에서 GUI로 대부분의 작업이 이루어 집니다. 코딩할 일은 별로 없는 매우 신기한 개발 플랫폼입니다. 또한 Unity Asset에 많은 구현물들이 무료/유료로 올라와 있어서 사용하기도 매우 편합니다. 개발을 매우 빠르게 할 수 있겠죠?

그런데 아무리 쉽게 개발할 수 있다고 해도 사용법을 대충 알고 시작하면 저처럼 고생합니다. 그냥 이렇게 하면 될거 같아서 하면.. 되는 것도 있지만 안되는 것도 있기 때문에 차근히 원리를 이해해가면 진행하는 것이 더욱 빠르게 개발할 수 있는 방법이라고 생각되네요.

Unity 프로젝트 시작 화면

프로젝트를 생성하고 나타나는 화면을 보면 아래와 같습니다.
저는 13인치 노트북에서 개발하다 보니 각 구성 화면들이 좀 작게 나타납니다.
image.png

  • Project 뷰: 프로젝트에 사용되는 asset들이 파일 구조를 나타냄. 이곳에 파일들을 드래그 앤 드랍하면 파일 복사가 됨
  • Hierarchy 뷰: Scene 뷰에 표시할 객체들을 계층 구조로 표시. 이곳에 나열된 요소는 모두 GameObject임. 이곳에 순서는 생성된 순서임. 이곳에 asset을 드래그 앤 드랍하면 Scene 뷰에 추가됨. Hierarchy 뷰에서 오브젝트의 순서를 드래그 앤 드랍으로 변경시킬 수 있음.
  • Scene 뷰: Hierarchy 뷰의 GameObject들이 표시됨. Asset을 Scene 뷰로 드래그 앱 드랍하면 Hierarchy 뷰에 추가됨
  • Game 뷰: 사용자에게 보여지는 화면. 모바일 앱의 경우 모바일 화면에 표시될 화면임. 게임의 경우는 미리 실행해 볼 수 있음.
  • Inspector 뷰: 선택된 GameObject나 파일들의 속성을 보여줌. 속성 조회뿐만 아니라, 속성 변경에도 사용됨. 여러 개의 게임오브젝트들의 동일한 속성을 동시에 수정할 수도 있음
  • Console 뷰: 그림에는 표시되지 않았으나, 상태 메시지를 보여줌. 에러 메시지가 표시되므로, 주의깊게 살펴봐야 함.

Unity의 기본 정보를 살펴봤습니다. 그리고 개발환경도 잠시 살펴보고, Unity 시작화면에 나타나는 뷰(또는 창)에 대해서 간략히 알아봤습니다. 다음에는 개발을 위해 Unity를 설정을 변경해보겠습니다.

오늘의 실습: Unity라는 훌륭한 툴이 있습니다. 무엇을 만들어 보고 싶으신가요?

Sort:  

유니티 재미있는 툴이네요.😁

게임 만드는 툴이죠~
드래그 앤 드랍으로 게임을 만들 수 있는 강력한 툴 같아요~

이오스 계정이 없다면 마나마인에서 만든 계정생성툴을 사용해보는건 어떨까요?
https://steemit.com/kr/@virus707/2uepul

Coin Marketplace

STEEM 0.20
TRX 0.15
JST 0.029
BTC 64572.94
ETH 2630.79
USDT 1.00
SBD 2.82