드론코딩체험북 v1.0 헬로앱스 http://www.helloapps.co.kr
01 3 차원가상공간의이해 학습목표 3 차원가상공간의구성원리를이해할수있다. 3 차원가상공간상에물체를스스로추가할수있다. 실습개요 3D 박스모양을추가해본다. 3차원위치개념을실습해본다. 모양의옵션을추가하는방법을실습해본다. 특수효과와재질을활용하여콘텐츠의내용을다양하게변화시켜본다.
준비물 드론코딩앱 ( 안드로이드용또는 PC 용, 설치과정참조 ) 스마트폰 ( 안드로이드기기 ) 또는 PC ( 윈도우 OS) 드론코딩앱 (PC 용또는안드로이드용 )
1.1 드론코딩프로그램준비하기 드론코딩은스마트폰또는 PC 에서실습이가능하며, 둘중에하나의기기 만있어도실습이가능하다. PC 용드론코딩프로그램설치하기 웹브라우저를실행한후, 아래의경로로접속하여 PC 용드론코딩프로그 램을다운로드받는다. 다운로드페이지 : http://www.helloapps.co.kr/drone zip 파일로되어있는압축파일을다운로드받은후, 압축을풀면실행할 수있는 exe 파일을볼수있다. 이파일을실행하면드론코딩프로그램 이실행된다. 주의사항 ) 반드시압축을해제한후, 압축해제된폴더에있는 exe 를실행 한다.
제품키를입력하는화면에서제품키를입력하여프로그램을활성화시킨 다. PC 용제품키와스마트폰용앱제품키를동일하게사용할수있으며, 전체제품키값중에서앞 12 자리만입력한다. 코딩시작하기버튼을클릭한다.
1.2 기본프로그램이해하기 새로운파일생성하기 스크립트목록화면에서오른쪽아래에있는새로만들기버튼을클릭한 다. 기본드론콘텐츠만들기버튼을클릭한다.
새로운편집기화면이표시되면왼쪽의명령어목록에서스크롤바를움직 여명령어들을확인한다. 로직명령어 3D 오브젝트환경명령어도구명령어
기본프로그램구성 드론프로그램은다음과같이아두이노프로그램과동일하게 setup 과 loop 함수를기본형태로가지고있다. setup 함수 - 맨처음가장먼저실행되는함수 - 한번만실행된다. loop 함수 - setup 함수가실행된후, 그다음으로실행되는함수 - 실행이종료될때계속반복하여실행된다. 새로운명령어는현재선택된명령어아래또는안쪽에추가된다. setup 함수안쪽에새로운명령어를추가해보자. 새로운명령어를추가하기전에다음과같이 setup 함수의영역이시작되는위치를마우스로클릭하여선택해준다.
현재선택된명령어는명령어아래쪽이흰색으로표시된다. 문자열을출력하는명령어를이용하여 setup 과 loop 함수의차이에대해 알아보자. 문자열을출력하는명령어 화면에문자열을출력하는명령어는 문자출력 명령어와 문자라인출 력 이라는명령어 2 종류가있다. 문자출력 : 문자를옆으로이어서출력한다. 문자라인출력 : 문자를출력한후, 줄을바꾼다. 왼쪽명령어목록에서 문자라인출력 명령어를클릭하여 setup 함수의 안쪽에추가되도록한다.
문자라인출력 명령어에출력하고자하는값을지정하려면해당명령어 가선택된상태에서오른쪽하단의속성창에값을입력해주면된다. 다 음과같이 Hello 라는단어를입력해준다. 문자열을입력할때에는이중따옴표를문자열의앞뒤로붙여주어야입 력한값이문자열로처리된다. H e l l o 값을입력하고나면다음과같이명령어안에값이표시된다.
작성한프로그램을실행하려면화면오른쪽맨아래에있는실행버튼을 클릭한다.
프로그램실행후, 화면왼쪽위쪽에 Hello 라는단어가한번표시된것을 볼수있을것이다. 화면에보이는방향을변경하려면화면공간에아무곳이나마우스로클 릭한후보고자하는방향으로마우스를드래그해준다.
다시코드편집기화면으로이동하기위해서는키보드에서 Esc 키나스 마트폰의뒤로가기버튼, 또는화면에서 BACK 버튼을클릭해준다. loop 함수에명령어추가하기 이번에는 setup 함수아래쪽에있는 loop 함수에도문자라인을출력하는 명령어를추가해보자. loop 함수내부에명령어를추가해주기위해서는다음과같이 loop 함수 의영역시작위치를마우스로선택해준다.
이전과같이 문자라인출력 명령어를클릭하여다음과같이 loop 함수 내부에추가해준다.
오른쪽하단의속성창에서다음과같이입력창에 World 라는단어를 입력해준다. 문자열입력시이중따옴표도앞뒤로같이입력해주는것을 잊지말아야한다. 실행버튼을클릭하여결과를확인해보면다음과같이 World 라는단 어가계속반복하여화면에표시되는것을볼수있을것이다.
setup 함수와 loop 함수의활용 setup 함수와 loop 함수사용시에는다음과같이구분하여사용해준다. setup 함수 - 3D 물체를생성하거나초기환경을설정하는명령어를추가해 준다. loop 함수 - 3D 물체를제어하거나반복적으로물체를생성하는명령어를추가 해준다.
1.3 3 차원좌표계이해하기 새로운파일생성하기 새로운스크립트를생성하려면코드편집기화면에서다음과같이 뒤로 버튼을클릭하여스크립트목록화면으로이동한다. 스크립트목록화면에서오른쪽아래에있는 새로만들기버튼 을클릭 하여새로운스크립트편집기화면으로이동한다.
3 차원좌표계 드론코딩에서는 3 차원공간상에물체를표시한다. 따라서 3 차원좌표계 에대해서이해를충분히하고있어야원하는위치에물체를표시하고원 하는형태로크기를변경할수있다. 3 차원좌표계에서각축의방향은다음과같다. 물체를추가할때에는 위치 옵션을사용하는데, 이때 3 개의값이사 용된다. 이때값의단위는미터 (m) 이다, 위치 : X 축위치 Y 축위치 Z 축위치 예 ) 위치 : 0 1 0
박스모양추가하기 박스모양추가하기 명령어를다음과같이 setup 함수의안쪽에추가해 보자. 명령어를추가하면 cube1 이라는이름의박스모양을생성하는명령 어가하나추가된다. 실행버튼을클릭하여박스의위치를확인해본다.
특별한옵션을지정하지않는경우, 다음의조건으로박스모양이생성된 다. 위치 : 0 0 0 크기 : 1 1 1
박스위치수정하기 이제생성된박스의위치를수정하여위로 2m 정도올려보자. 먼저박 스모양추가하기명령어를선택해주고오른쪽위쪽에있는옵션항목들의 내용을살펴본다. 옵션목록중에서위치옵션을클릭하여추가해준다.
추가된위치옵션이선택되어있는상태에서오른쪽하단의속성창에있 는값을다음과같이수정해준다. 박스를위로 2m 올려야하므로, Y 축의 값을 2m 로지정해주면된다. 값을직접입력하거나 Y 축의 + 버튼을클릭하여값이 2 가되도록수 정해준다. 실행하여결과값을확인해본다.
박스의크기수정하기 3D 물체의위치뿐만이아니라크기도 3 차원좌표계의값을지정해주 어야한다. 크기는비율을의미하며기본값은 X 축, Y 축, Z 축순서로각각 1, 1, 1 값이다. 만약 X 축으로크기를 2 배늘려주려면크기옵션값을다음과같이지정 해주면된다. 크기 : 2 1 1 편집기에서크기옵션을추가한후, 위와같이값을수정해준다.
실행하여결과값을확인해본다. 실습 박스의크기를다양하게수정해본다.
1.4 떨어지는박스만들기 질량지정하기 이전활동에서만든박스는 3D 모양으로보이긴하지만현재허공에떠있는형태로서아래로떨어지지않고고정되어있다. 이박스를떨어지게하려면박스에질량옵션을추가해주어야한다. 질량은 kg 단위로서기본값이 1.0kg으로주어진다. 드론코딩에서는표준단위를사용하며, 거리는 m, 질량은 kg, 힘은 N 단위를사용한다. 코드를실행하면박스가아래로떨어지는것을볼수있을것이다.
1.5 통통튀는박스만들기 박스에탄성추가하기 이전활동의결과를보면박스가튀기지않고바닥에그냥붙어버리는것을볼수있는데, 이는박스와바닥에탄성이없기때문이다. 먼저박스모양추가하기명령어를선택한후, 옵션에서탄성옵션을찾아서박스에추가해준다. 탄성값은 0.0 ~ 1.0 사이의값을가지며, 0 은탄성이없는상태이고, 1.0 은탄성이가장큰상태이다. 실행하여결과를확인해본다.
1.6 박스모양에사진입히기 재질옵션 3D 오브젝트에재질옵션을추가하면 3D 모양의외부에사진이나그림을 입힐수있다. 먼저, 박스모양추가하기명령어를선택하고, 옵션목록에서재질을추가 해준다.
벽돌모양의재질이기본값으로설정되어있으며, 재질속성에서다른그 림으로변경할수있다. 일단코드를실행하여벽돌그림이어떻게적용되는지확인해본다.
다른재질을선택하여결과가어떻게달라지는지관찰해본다. 사진입히기 오른쪽재질속성창맨아래에는카메라로사진찍기버튼이있다. 이버 튼을클릭하면사진을촬영하게되고, 촬영된사진이재질로선택되게된 다. 실습 박스를여러개생성한후공간에배치해본다. 생성된박스에친구들의얼굴사진이나옷사진을입혀본다.