Skip to main content

[Googe I/O 2014] 국산 재료로 Cardboard 만들기!

올해 Google I/O 에서 가장 흥미있었던 내용중 하나가 바로 Cardboard 였다고 한다.
사실 난 Android L Preview 와 Material Design 에 때문에 상대적으로 이녀석을 홀대하고 있었는데, 회사 선임님께서 요놈이 얼마나 대단한 녀석인이 알려주신 덕분에 관심을 갖게 되었다.

더군다나 제작 방법은 물론 Libraray 까지 제공하다니... 그래서 바로 만들기로 결정.

우선 아래 사이트를 참고하자.

1. Reference SIte
- Cardboard 제작

- Cardboard API




사이트를 들어가면 친절하게 구매할 수 있는 사이트까지 링크되어 있으나...전부 아마존.
참고로 이 글을 쓰고 있는 지금까지 아마존에서 주문한 렌즈를 받지 못했다.(한 2주 된듯.)

그래서! 결국 국내에서 파는 제품들로 꾸려보기로 했다. 순수 국내산으로~

이미 nurinamu님 께서 블로깅을 하셨지만... 여튼.

필수 재료는 아래를 참고하자.

2. 국내에서 구입한 재료 목록

1) 렌즈
- 양면 볼록 렌즈 : 유리 / 직경 : 30mm / 초점거리 : 46mm (한알당 3,300원)

2) 자석
- 네오디움 원형사라 자석 : 지름 : 20mm / 두께 4T (1,460원)

- 페라이트 자석 : 지름 : 20mm / 두께 5.0mm (2,000원)

3) 골판지
- 택배 박스 사용 (0원)

NFC 는 집에서 저장할 방법도 없으니 Pass. 고무줄이나 밴드는 취향에 맞게...

사실 도면도 공개되어 있고, 재료만 구하면 만드는건 쉽다.
굳이 설명을 하자면...


자르고...

자르면 ...


골격완성!

그리고... 오랜 기다림 끝에 결국 받지못한 아마존 렌즈를 뒤로하고, 국내 사이트에서 주문한 렌즈를 끼워주면... (국내산 렌즈는 오전에 주문하고 다음날 점심에 바로 겟.)


이렇게 완성!

개인적으로 신기했던 것중 하나가 자석을 사용한다는 것 이였다.
자기장을 변화시켜서 터치효과를 내는것인가... 이런걸 어떻게 생각해내는건지...



만들어서 보면 "와~" 소리가 절로 나온다. 어떻게 이게 가능한거지? 하는 생각과 함께 가상현실 기기보급화에 기여한 구글에게 절로 박수가 나온다.

Tip.1
1) 페라이트 자석은 하나만 오는게 아니라 꽤 많이 오기 때문에 주의.
2) 네오디움과 페라이트 조합이 아니더라도 동작 가능 (즉, 페라이트 자석두개로 전환이 가능)
3) 국내에서 산 렌즈는 직경이 30mm 이기 때문에 도면의 렌즈 끼우는 부분의 동그라미 부분을 좀 더 크게 도려내야 함.
4) 골판지 자체가 자르기 쉽지 않으니까 주의.
5) 도면은 한줄로 길게 자르기 보다는 조각조각내서 자른 후 붙이는게 훨씬 수월함.
6) 골판지는 시간이 지남에 따라 눅눅해지는 경우가 있다. 또 만들게 된다면 다른 재료로 만들 예정.
7) 얼굴이 닿는 부분의 골판지는... 얼굴기름으로 얼룩이 생길 수 있으니 주의.


Cardboard 의 핵심은 바로 VR Toolkit library 이다. 결국 이걸 활용해서 새로운 앱을 만들 수 도 있다. 역시 SampleApp을 Github 에 올려놓았으며 아래 링크는 fork 뜬 Repo 이다.
https://github.com/kyungkoo/cardboard
(API 19에서 빌드가 안되는 부분만 일부 수정한 버전이다.)

이 Cardboard 를 굳이 만든 이유도 요 라이브러리를 가지고 재미난걸 만들어 보고 싶어서인데... 막상 코드를 보니 막막하다ㅠ
Shader 는 한번도 써 본적이 없어서 생소하고, 3D나 가상현실 관련 지식도 없지만, 그래도 한동안 열심히 보고 앱을 만들어보고 싶다는 생각이 든다.

Tip.2
여기서 제일 중요한 부품이 바로 렌즈 인데... 아마존에서 주문한 렌즈가 와봐야 알겠지만,
내가 구입한 46mm 렌즈도 충분히 쓸만하다. 초점도 잘 맞는편이고.. 그리고 해당 사이트에 보면 유리 와 광학유리 두가지 버전이 있는데 가격차이가 심하니 구입할때 주의하자.
(굳이 광학 유리를 살 필요는 없으니까.)

Tip.3
Library 는 jar 뿐만 아니라 web 버전도 있으니 참고하자. chrome sample 도 엄청 신기하다.
http://vr.chromeexperiments.com/example.html

Comments

Popular posts from this blog

[Tip] Homebrew 로 설치한 Python 환경에서 GAE Flask 설치하기

2014.07.10 -- Issue -- ~/.pydistutils.cfg 파일을 생성하고 나서 pip install 을 할 경우, permission denied 오류가 발생하는 경우가 있다. 이때는 prefix= 를 삭제하면 정상적으로 설치할 수 있다. 또는, 설치시 아래와 같은 명령어로 설치한다. pip install --user --install-option="--prefix=" <package-name> -------------------------------------------------- Mac 에서 Homebrew 를 사용하면 각종 package 를 편리하게 관리 할수 있다. 그런데 Homebrew 를 통해 Python 을 설치한 환경에서, Google App Engine 의 Flask package 를 설치하기 위해 명령어 ( pip install -r requirements.txt -t lib/ )를 실행하면 아래와 같은 오류가 발생한다. 말 그대로 prefix 를 설정해 달라는 이야기 인데, 해결 방법은 다음과 같다. HOME(~/) 에 .pydistutils.cfg 파일을 생성하고 아래 코드를 추가한다. [install] prefix= 그리고 다시 실행하면 정상적으로 Flask package 가 설치되는것을 확인할 수 있다. Reference 1. stackoverflow http://stackoverflow.com/questions/24257803/distutilsoptionerror-must-supply-either-home-or-prefix-exec-prefix-not-both 2. Github Issue https://github.com/Homebrew/homebrew/wiki/Homebrew-and-Python

[Android] Android Studio static / member variable prefix 설정 방법

Java 에서 static 변수는 는 s~로,  맴버 변수는 m~ 으로 시작하는 경우가 대부분이다. Android Studio 에서 변수를 선언 후 getter/setter 를 자동 생성하면 [(cmd + n) -> (Getter and Setter) 선택] 아래와 같이 s 와 m 이 붙어 나오게 된다. public class SampleClass { private static int sStaticVariable = 1; private int mMemberVariable = 1; public static int getsStaticVariable() { return sStaticVariable; } public static void setsStaticVariable(int sStaticVariable) { SampleClass.sStaticVariable = sStaticVariable; } public int getmMemberVariable() { return mMemberVariable; } public void setmMemberVariable(int mMemberVariable) { this.mMemberVariable = mMemberVariable; } } 하나하나 m, s 를 지우는 것 보다 setting 에서 변수 prefix 를 미리 설정해 두면  이러한 불편을 해결할 수 있다. Mac 기준으로 Android Studio -> Preferences -> Code Style -> Java 에서 Code Generation 을 선택 하면 아래와 같은 화면을 볼 수 있다. 위와같이  Field : Name Prefix 란에 "m", Static Field : Name Prefix 란에 "s" 를 입력하고 OK 버튼을 누르면 설...

[Tip] Android Studio, Intellij 에서 Source Code Pro font 적용

예전에 코딩할 때 좋은 폰트 에 Source Code Pro 가 1등으로 선정된 것을 본 적이 있다. 그전까진 나눔고딕코딩 을 자주 썼는데, Source Code Pro 를 쓰면서 가독성이 좀더 향상된 것을 느낄 수 있어 요즘 주력 폰트로 사용 하고 있다. 그런데 Mac에서는(윈도우는 어떨지 모르겠지만...) Eclipse 나 Xcode 에서는  문제없는 이 폰트가 유독 Intellij 혹은 Android Studio 에서는 폰트 설정 시, 이탤릭체가 깨지는 문제가 발생하고 있다. 폰트 설치 후, Intellij 에 적용하면 아래와 같이 이텔릭 채 부분에서 깨지기 시작한다. 이같은 문제는 이미 Source Code Pro Github issue 에 등록되어 있는데, issue 에서 가이드 하는 수정방법은 다음과 같다. 먼저 Source Code Pro Font 를 다운받고, 설치하자. Source Code Pro Font 다운로드   그 후 아래 폴더로 이동하자. /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/fonts 위 경로에 Source Code Pro 의 TTF 에 포함되어 있던 폰트들을 모두 복사하여 붙여넣는다. 그리고 Intellij (혹은 Android Studio) 를 재부팅 후, 다시한번 폰트를 설정하러 들어가면 아래와같이 폰트들이 나타나는것을 확인 할 수 있다. 개인적으로 Medium 을 선호하기 때문에 Medium 을 선택. 그러면 아래처럼 정상적으로 출력됨을 확인할 수 있다.