드론 코딩 체험북vulkan.co.kr/doc_drone/드론_코딩체험북_01차시_3...1.1 드론 코딩...
TRANSCRIPT
◾ 3차원 가상 공간의 구성 원리를 이해할 수 있다.
◾ 3차원 가상 공간 상에 물체를 스스로 추가할 수 있다.
◾ 3D 박스 모양을 추가해 본다.
◾ 3차원 위치 개념을 실습해 본다.
◾ 모양의 옵션을 추가하는 방법을 실습해 본다.
◾ 특수효과와 재질을 활용하여 콘텐츠의 내용을 다양하게 변화시켜 본다.
학습 목표
01 3차원 가상 공간의 이해
실습 개요
1.1 드론 코딩 프로그램 준비하기
드론 코딩은 스마트폰 또는 PC에서 실습이 가능하며, 둘 중에 하나의 기기
만 있어도 실습이 가능하다.
◾ 웹브라우저를 실행한 후, 아래의 경로로 접속하여 PC용 드론 코딩 프로그
램을 다운로드 받는다.
다운로드 페이지: http://www.helloapps.co.kr/drone
◾ zip 파일로 되어 있는 압축파일을 다운로드 받은 후, 압축을 풀면 실행할
수 있는 exe 파일을 볼 수 있다. 이 파일을 실행하면 드론 코딩 프로그램
이 실행 된다.
※ 주의사항) 반드시 압축을 해제한 후, 압축 해제된 폴더에 있는 exe를 실행
한다.
PC용 드론 코딩 프로그램 설치하기
◾ 제품키를 입력하는 화면에서 제품키를 입력하여 프로그램을 활성화 시킨
다. PC용 제품키와 스마트폰용 앱 제품키를 동일하게 사용할 수 있으며,
전체 제품키 값 중에서 앞 12자리만 입력한다.
◾ 코딩 시작하기 버튼을 클릭한다.
◾ 드론 프로그램은 다음과 같이 아두이노 프로그램과 동일하게 setup과
loop 함수를 기본 형태로 가지고 있다.
setup 함수
- 맨 처음 가장 먼저 실행되는 함수
- 한 번만 실행된다.
loop 함수
- setup 함수가 실행된 후, 그 다음으로 실행되는 함수
- 실행이 종료될 때 계속 반복하여 실행된다.
◾ 새로운 명령어는 현재 선택된 명령어 아래 또는 안쪽에 추가된다. setup
함수 안쪽에 새로운 명령어를 추가해 보자. 새로운 명령어를 추가하기 전
에 다음과 같이 setup 함수의 영역이 시작되는 위치를 마우스로 클릭하여
선택해 준다.
기본 프로그램 구성
◾ 현재 선택된 명령어는 명령어 아래쪽이 흰색으로 표시된다.
◾ 문자열을 출력하는 명령어를 이용하여 setup과 loop 함수의 차이에 대해
알아보자.
◾ 화면에 문자열을 출력하는 명령어는 “문자 출력” 명령어와 “문자라인 출
력” 이라는 명령어 2 종류가 있다.
문자 출력 : 문자를 옆으로 이어서 출력한다.
문자라인 출력 : 문자를 출력한 후, 줄을 바꾼다.
◾ 왼쪽 명령어 목록에서 “문자라인 출력” 명령어를 클릭하여 setup 함수의
안쪽에 추가되도록 한다.
문자열을 출력하는 명령어
◾ “문자라인 출력” 명령어에 출력하고자 하는 값을 지정하려면 해당 명령어
가 선택된 상태에서 오른쪽 하단의 속성 창에 값을 입력해 주면 된다. 다
음과 같이 “Hello” 라는 단어를 입력해 준다.
◾ 문자열을 입력할 때에는 이중 따옴표를 문자열의 앞 뒤로 붙여 주어야 입
력한 값이 문자열로 처리된다.
◾ 값을 입력하고 나면 다음과 같이 명령어 안에 값이 표시된다.
“ H e l l o “
◾ 프로그램 실행 후, 화면 왼쪽 위쪽에 Hello 라는 단어가 한번 표시된 것을
볼 수 있을 것이다.
◾ 화면에 보이는 방향을 변경하려면 화면 공간에 아무 곳이나 마우스로 클
릭한 후 보고자 하는 방향으로 마우스를 드래그해 준다.
◾ 다시 코드 편집기 화면으로 이동하기 위해서는 키보드에서 “Esc” 키나 스
마트폰의 뒤로가기 버튼, 또는 화면에서 “BACK” 버튼을 클릭해 준다.
◾ 이번에는 setup 함수 아래 쪽에 있는 loop 함수에도 문자라인을 출력하는
명령어를 추가해 보자.
◾ loop 함수 내부에 명령어를 추가해 주기 위해서는 다음과 같이 loop 함수
의 영역 시작 위치를 마우스로 선택해 준다.
loop 함수에 명령어 추가하기
◾ 오른쪽 하단의 속성 창에서 다음과 같이 입력창에 “World” 라는 단어를
입력해 준다. 문자열 입력시 이중 따옴표도 앞뒤로 같이 입력해 주는 것을
잊지 말아야 한다.
◾ 실행 버튼을 클릭하여 결과를 확인해 보면 다음과 같이 “World” 라는 단
어가 계속 반복하여 화면에 표시되는 것을 볼 수 있을 것이다.
◾ setup 함수와 loop 함수 사용 시에는 다음과 같이 구분하여 사용해 준다.
setup 함수
- 3D 물체를 생성하거나 초기 환경을 설정하는 명령어를 추가해
준다.
loop 함수
- 3D 물체를 제어하거나 반복적으로 물체를 생성하는 명령어를 추가
해 준다.
setup 함수와 loop 함수의 활용
1.3 3차원 좌표계 이해하기
◾ 새로운 스크립트를 생성하려면 코드 편집기 화면에서 다음과 같이 “뒤로”
버튼을 클릭하여 스크립트 목록 화면으로 이동한다.
◾ 스크립트 목록 화면에서 오른쪽 아래에 있는 “새로 만들기 버튼”을 클릭
하여 새로운 스크립트 편집기 화면으로 이동한다.
새로운 파일 생성하기
◾ 드론 코딩에서는 3차원 공간상에 물체를 표시한다. 따라서 3차원 좌표계
에 대해서 이해를 충분히 하고 있어야 원하는 위치에 물체를 표시하고 원
하는 형태로 크기를 변경할 수 있다.
◾ 3차원 좌표계에서 각 축의 방향은 다음과 같다.
◾ 물체를 추가할 때에는 “위치” 옵션을 사용하는데, 이 때 3개의 값이 사
용된다. 이 때 값의 단위는 미터(m)이다,
위치: X축 위치 Y축 위치 Z축 위치
예) 위치: 0 1 0
3차원 좌표계
◾ “박스모양 추가하기” 명령어를 다음과 같이 setup 함수의 안쪽에 추가해
보자.
◾ 명령어를 추가하면 “cube1” 이라는 이름의 박스 모양을 생성하는 명령
어가 하나 추가된다.
◾ 실행 버튼을 클릭하여 박스의 위치를 확인해 본다.
박스 모양 추가하기
◾ 이제 생성된 박스의 위치를 수정하여 위로 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 모양의 외부에 사진이나 그림을
입힐 수 있다.
◾ 먼저, 박스모양 추가하기 명령어를 선택하고, 옵션 목록에서 재질을 추가
해 준다.
재질 옵션