GithubHelp home page GithubHelp logo

avatarchik / computergraphics Goto Github PK

View Code? Open in Web Editor NEW

This project forked from changyu-ryou/computergraphics

1.0 0.0 0.0 175.62 MB

[App] 2019-2 ComputerGraphics Team project - Unity, Vuforia, Arduino 활용 증강현실 앱 for Android

C# 69.36% ShaderLab 14.45% HLSL 2.56% C++ 7.87% Objective-C 2.25% Objective-C++ 3.51%

computergraphics's Introduction

Computer Graphics

2019-2 ComputerGraphics Team project로써,
Unity, Vuforia, Arduino 그리고 Bluetooth를 활용한 Coin Dozer 증강현실 앱을 제작했습니다.


📖 Introduction

Unity와 Arduino를 이용한 혼합현실 Contents 제작하는 것으로 써 제작 목표는 아래와 같습니다.

  1. 카메라를 통해 타겟 이미지를 인식하고 오브젝트 출력
  2. 오브젝트 텍스쳐 맵핑
  3. 오브젝트간의 상호작용
  4. 아두이노의 센서와 블루투스 통신 모듈을 이용해 현실세계와 게임 속 변화를 실시간으로 적용 (Mixed Reality 구현)

👨‍💻 System requirements

우선 유니티, 뷰포리아, 아두이노를 활용해 진행하는 프로젝트입니다. 따라서 유니티, 뷰포리아, 안드로이드 스튜디오,아두이노의 설치가 필요합니다.


유니티는 Unity 2018.4.11f1 (64-bit)버전을 사용하였으며 안드로이드를 타켓 플랫폼으로 빌드하였습니다.
Minimum API Level은 20
Scripting Runtime Version Setting은 .NET 4.x Equivalent
Api Compatibility Level은 .NET 4.x를 세팅했습니다.
XR Setting을 통해 Virtual Reality Supported를 활성화 하고 Vuforia도 활성화 했습니다.

아두이노는 1.8.10ver를 기반으로 제작하였으며 아두이노 우노를 사용해 제작했습니다.

안드로이드 스튜디오는 안드로이드 기반 블루투스 작동을 위해 유니티에서 사용 가능한 jar파일 제작에 사용하였습니다.

✨ About Coin Dozer



Coin Dozer 오락기를 제작하는 것으로, 유럽 등지의 오락실에 있는 게임기로 간단하게 돈넣고 돈따는 오락기라고 할 수 있습니다. Coin Dozer 오락기의 동작 과정은 아래와 같습니다.

  1. 오락기 내부 floor에 동전들이 겹겹이 쌓여있음.
  2. 동전을 넣으면 Back panal 쪽 하단에서 pusher floor가 앞,뒤로 움직이며 floor에 쌓여있는 동전을 밈.
  3. User가 동전을 투입.
  4. 기기내 어딘가에 user의 동전이 쌓이며 pusher에 의해 밀리며 다른 동전이 떨어지게 만듬.

✨ Coin Dozer 동작 예시


기본 구조







동전 투입시







동전 배출시



📝 Todo list

제작할 코드와 문서들입니다.

  • [💻] 뷰포리아 이미지 타겟 생성
  • [💻] 코인 오브젝트 생성
  • [💻] 코인 도저 기기 오브젝트 생성
  • [💻] 안드로이드 블루투스 jar 제작
  • [💻] 아두이노 회로도 제작 및 부품 연결
  • [💻] 블루투스 연결/해제 버튼 생성
  • [💻] 유티니에서 블루투스 제어 기능 활성화
  • [📗] 유니티내 코인도저 움직임 구현
  • [📗] 아두이노에서 코인입력이 오면 앱 내에서 Clone
  • [📗] 앱 내에서 코인이 배출구에 빠지면 아두이노 제어를 통해 오프라인 내 동전 배출
  • [🔨] 코인 텍스쳐 맵핑
  • [🔨] 코인 도저 오브젝트 텍스쳐 맵핑
  • [🔨] 아두이노를 설치할 수 있는 동전 박스 제작 및 설치
  • [🔒] 테스팅

📝 뷰포리아 타겟 이미지



📝 Coin 오브젝트 생성 및 텍스쳐 맵핑



📝 Coin Dozer 기기 오브젝트 생성 및 텍스쳐 맵핑



📝 Coin Dozer 데이터 통신 방식


위 이미지는 이해를 돕기위한 이미지로 실제 안드로이드와 통신하기 보다, 안드로이드 스튜디오에서 제작한 Plugin을 Unity에 import해 사용하고 데이터를 전달한다고 할 수 있습니다.

📝 아두이노 회로도



📝 아두이노 동전 박스내 임시 설치



📝 작동 테스팅



📝 Coin Dozer 로고



☁️ 결과물

Video Label

위 이미지 클릭시 동영상이 재생됩니다.

computergraphics's People

Contributors

changyu-ryou avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.