2019년 1월 16일 수요일

유니티로 가상현실 화재 시뮬레이션 만들기

이 글은 2018년 작년에 만든, 가상현실 가상현실 화재 시뮬레이션 만드는 과정을 이야기해요. 지금 방학이라 해왔던것 정리해 보려 해요.

시작
이 프로그램은 겨울들어 발생했던 안타까운 화재 사고를 가상현실로 직접 체험할 수 있는 시뮬레이션이예요. 작년 겨울에는 다음과 같은 많은 화재가 발생했죠

‘종로 고시원 화재사건’으로 바라본 도시 취약계층의 실상(주간현대, 2018년)

사실 화재가 나서 사고를 당한다는 것이 어떤 느낌인지는 직접 당해보지 않는 이상 생각하기 어려울 꺼예요. 사고 상황이 얼마나 급하고 위기상황이었는 지, 어떤 느낌이었는 지를 사람들이 느껴보면 좋을 것 같아, 프로그램을 만들어 보기로 했어요.

재료
재료는 다음과 같아요. 대부분 오픈소스이거나 공짜예요.

1. 유니티
2. 유니티 어셋
3. 아두이노
4. 연기 가스 센서
5. 스케치업

유니티와 스케치업은 무료 프로그램이예요. 유니티는 게임 만들때 많이 사용하죠. 많은 따라하기 영상이 있어 조금만 시간을 쓰면 익숙해 지는 데 어렵지 않아요.
스케치업은 3차원 모형을 디자인할 때 주로 써요.

아두이노와 가스 센서는 연기나 가스가 있으면 화재나는 곳이 화재가 났다고 알려주기 위해 사용해요. 연기가 발생하면, 센서가 연기를 감지해요. 그리고, 가상현실에서 화재나는 것처럼 상황이 바뀌는 거예요.

소스코드는 깃허브에 공유했으니 참고바랍니다.

작업 방법
스케치업으로 학교, 교실, 고시원같이 불이 나면 어떻게 될지 시뮬레이션해보고 싶은 곳을 디자인해요.

유니티로 디자인된 3차원 모형을 가져와요.

유니티에서 적당한 곳에 조명을 설치해요. 가져온 모형은 static 상태로 바꾸고, 반사 재질을 모형에 넣어, 조명이 반사되도록 만들어요.


유니티 어셋에서 사람을 가져와요. 그리고, 사람을 움직일 수 있도록 스크립트를 약간 수정해요.


아두이노에 유니티로 센서값을 전달하는 코드를 넣어요.


유니티 조명을 선택해, 아두이노에서 얻은 센서 값을 이용해 조명 색상을 바꾸게 해요.


유니티 어셋에서 연기와 불을 가져와요. 그리고, 연기와 불이 많이 보이도록 설정값을 바꿔요.

유니티는 많은 가상현실 장치를 무료로 지원해요. 적당한 장치를 유니티 어셋에서 가져와서 설정해요.

이제 잘 동작하는 지 테스트해요.

마무리
실제로 가상현실 기기를 쓰고 화재 시뮬레이션 속에 있으면 정말 답답하고 얼마나 힘들었는 지 느낄 수 있어요. 그리고, 화재에서 대피하는 것이 얼마나 어려운지 느낄 수 있어요.
탈출하는 문이나 길에 장애물이 많으면 탈출하지 못해 다치기도 하죠. 이렇게 가상현실은 직접 그곳에는 없지만, 그곳에 있는 것처럼 체험할 수 있어요.

사람이 많은 학교와 같은 건물을 디자인할 때 이런 가상현실을 사용하면, 좀 더 많이 사람들이 대피할 수 있도록 문제를 일찍 발견할 수 있을 꺼예요.


2019년 1월 15일 화요일

쥬만지 게임 - 2018년 메이커페어

이 글은 2018년 메이커페어에 전시한 쥬만지 게임 제작 방법을 공유해요.

머리말
쥬만지 게임은 영화 쥬만지에서 아이디어를 얻은 게임예요. 쥬만지에서 함정과 칼날을 아슬아슬하게 피해가는 장면이 나오는 데, 이 장면을 게임으로 만들고 싶었어요.

재료
재료는 다음과 같아요.

1. 아두이노
2. 칼날 회전용 스테핑 모터와 모터 드라이버
3. 함정용 블럭
4. 무서워 보이는 악세사리
5. 경고등과 소리 부저
6. 바닥 감지 센서

1, 2번은 집에 쓰다 남은 것 사용했어요. 모터는 3D프린터 남는 부품을 사용했고, 경고등은 인터넷에서 구입했어요. 금액이 얼마 들진 않았어요.

없는 부품은 다음과 같이 3D프린팅해서 만들었어요.

작업 순서
작업은 제 동생 강연수와 했어요.

아이디어 회의를 일이주 했어요. 그림을 그려가며 쥬만지 게임을 스릴있게 만들려고 아이디어를 짜냈어요.


아이디어로 작품을 만들기 위해 필요한 재료가 무엇인지 구글링하고 찾았어요.

재료를 구입하고, 그 위에다가 사람이 가는 길을 생각해 보았어요. 그 길 사이에 함정들을 표시했어요.

이제 재료를 이용해, 게임 판을 만들고, 함정 표시 밑에 감지 센터를 설치했어요. 잘못 밟으면 삐~ 소리와 함께 경고등이 움직여요.

블록은 센서가 표시나지 않게 3층으로 만들었죠.

경고등은 다음과 같이 실제 사용하는 것을 구입했어요.


칼날 표시에 모터를 달고, 마지막으로 선들을 납땜해 연결했어요.


마지막으로 모터가 움직이도록 아두이노에 코딩했죠.

전시에서는 게임을 통과할 때 나눠줄 펜던트가 필요했어요. 캐드로 동생과 내가 디자인해서, 레이저 커팅해서 만들었어요.



게임 성공은 쥬만지 표범에 붙는 보석 장면을 보고 아이디어를 생각했어요. 3D프린터로 보석을 만들고, 여기에 사람들 안보이게 자석을 붙였어요. 집에 고양이 인형을 표범 대신 사용했어요. 고양이 몸에 자석이 붙도록 하고, 잘 바느질해 붙였죠.

게임처럼 함정을 밟으면 목숨이 하나씩 줄어들도록 했어요.

유저가 함정을 잘 피해 표범에 보석을 붙이면 성공하는 식으로 게임 이야기를 만들었어요.

테스트
실제 동작하는 지 동생이 테스트했지요. 문제가 있으면 약간씩 수정했어요.


전시 
메이커 페어 당일, 아침 일찍 왔어요. 다같이 짐을 옮기고, 설치하니 벌써 10시..


미리 만든 게임 설명을 여기 저기 붙이고, 선을 꼽아 미리 테스트해보았죠.

곧 사람들이 많아졌어요. 모두 게임을 즐겁게 하였고, 게임을 통과한 사람은 펜던트를 받아 갔죠.

이번 메이커 페어는 정말 많은 사람들이 왔어요. 힘들기도 했지만, 게임을 잼있게 즐기는 사람들을 보니 좋았습니다.
메이커 페어 서울 2018

좀 더 상세한 내용은 아래 메이크 영상을 확인하세요~