Unity3D 초급스터디
1회차 `15. 09. 12.
대학연합게임제작동아리 브릿지
스터디 일정 및 커리큘럼
• 9월 12일 : 유니티 소개 및 에디터 조작법
• 9월 19일 : Sprite, Animation, Physics 기초
• 10월 10일 : Unity UI, GameManager
• 10월 24일 : Animation Controller, Timer
• 10월 31일 : 슈팅 게임 개발
• 11월 7일 : 2D 게임 완성(마녀이야기)
대학연합게임제작동아리 브릿지
Unity3D의 역사
• 2000년도 초반 덴마크 학생 개발자 3명이 모여 게임엔진
개발.
• 원래는 게임 개발용도였지만 맥 전용 게임 엔진으로 공개.
• 윈도우, 웹브라우저, 아이폰, 안드로이드 등등

다양한 플랫폼 지원
대학연합게임제작동아리 브릿지
통합 인터페이스
• 모든 기능을 하나의 에디터 프로그램에서 관리.
• 3D 그래픽과 유사한 인터페이스 제공
• 게임 오브젝트를 배치 => 컴포넌트를 붙여서 게임 제작
대학연합게임제작동아리 브릿지
통합 애셋 시스템
• Asset :

- 게임 제작에 사용되는 다양한 종류의 파일.

- 하나의 통합된 시스템 안에서 관리.

- 외부 작업물을 쉽게 불러들일 수 있음.
• 모델링 : 3dsMax, Maya, Cinema4D, Blender 등
• 텍스처 : psd, png, gif, bmp 등
• 오디오 : wav, mp3, ogg, aiff 등
• 비디오 : mpeg, mov 등
대학연합게임제작동아리 브릿지
유니티 인터페이스
콘솔뷰
계층 뷰 프로젝트

뷰
인스펙터

뷰
씬 뷰
게임 뷰
대학연합게임제작동아리 브릿지
유니티 인터페이스
뷰 이름 설명
씬 뷰
게임스테이지 제작에 사용되는 씬이라 불리는 가상 3차원 공간을 편집하게
도와주는 기능 제공
계층 뷰
씬이 배치된 물체들의 정보. 물체들을 게임오브젝트라고 하며, 오브젝트들을
계층 구조로 관리 할 수 있음
프로젝트 뷰
게임 제작에 필요한 파일을 애셋이라고 하며, 이런 애셋들을 관리하는 기능
제공. 탐색기와 유사한 인터페이스
인스펙터 뷰
게임 오브젝트나 특정 애셋을 선택하면 이들의 속성을 조절할 수 있는 기능
제공
게임 뷰
현재 만들고 있는 게임이 사용자 입장에서 어떻게 움직이고 보이는지 테스트
하는 공간. 성능 측정을 위한 다양한 부가정보 제공.
콘솔 뷰
에디터에서 발생하는 각종 문제점에 대한 메시지를 출력. Debug 클래스를
사용해 필요한 메시지 출력 가능.
대학연합게임제작동아리 브릿지
레이아웃 변경
대학연합게임제작동아리 브릿지
오브젝트 생성
• GameObject -> 3D Object -> Cube

Sphere, 등등
• GameObject -> Light -> Directional Light
대학연합게임제작동아리 브릿지
씬 뷰 조작 인터페이스
대학연합게임제작동아리 브릿지
트랜스폼 툴
• 좌상단 툴바
대학연합게임제작동아리 브릿지
계층 뷰
• 씬을 구성하는 게임 오브젝트의 목록 관리

- 게임 오브젝트가 생성되면 자동으로 계층 뷰에 등록.

- 더블클릭으로 씬의 어디에 위치 한지 쉽게 알 수 있음.

- 게임 오브젝트간 계층 설정 가능.
대학연합게임제작동아리 브릿지
프로젝트 뷰
• 게임에서 사용하는 자원인 애셋(Asset)을 관리하는 역할

- 씬, 스크립트, 사운드, 텍스쳐, 스프라이트 등

- 탐색기와 비슷한 구조
대학연합게임제작동아리 브릿지
인스펙터 뷰
• 게임 오브젝트의 구성요소인 컴포넌트를 보여주고, 컴포
넌트에 값을 설정할 수 있는 인터페이스 제공.
• 활성화 여부.
• 오브젝트 이름 설정.
• 태그 설정.
대학연합게임제작동아리 브릿지
스냅 기능
• 물체를 이동, 변환할 때 지정된 단위로만 변경.

- Ctrl 키를 누르고 명령. (맥은 Command)

- Edit -> Snap Settings에서 조절가능
대학연합게임제작동아리 브릿지
(실습1) 인터페이스 익히기
• Sphere를 이용하여 태양계 구현.
• 계층뷰를 활용하여 오브젝트 계층구조 설정
대학연합게임제작동아리 브릿지
프로젝트 구조
• 프로젝트 (하나의 어플리케이션)

- 씬, 애셋으로 구분
대학연합게임제작동아리 브릿지
씬 구조
• 유니티가 게임 제작을 위해 제공하는 3차원 공간

- 게임은 여러 씬으로 구성

- 인트로씬, 스테이지1, 스테이지2,

엔딩 씬, 게임오버 씬 등
대학연합게임제작동아리 브릿지
스크립트
• 오브젝트에 “스크립트” 컴포넌트 붙이기

- C#, JavaScript
• 스크립트 이름 더블 클릭으로 실행
대학연합게임제작동아리 브릿지
MonoDevelop
• 오픈소스 통합개발환경(IDE) ; 코딩, 디버그, 컴파일 제공
• 거의 Script 편집 용도로 사용.
대학연합게임제작동아리 브릿지
MonoBehavior
• 모든 클래스가 기본적으로 상속받는 클래스
• Awake(), Start(), Update() 등의 기본 메소드 제공
• 스크립트 실행주기 순서도

http://docs.unity3d.com/Manual/ExecutionOrder.html

대학연합게임제작동아리 브릿지
MonoBehavior
• Awake() : 스크립트가 로드 될 때
• Start() : 스크립트가 활성화 될 때, Update 메소드가 실행되
기 전 딱한 번 실행.
• Update() : MonoBehavior가 활성화 되어 있다면, 매 프레
임마다 한번 씩 실행.
• FixedUpdate() : MonoBehavior가 활성화 되어 있다면, 매
번 고정된 프레임레이트마다 한 번 씩 실행.
대학연합게임제작동아리 브릿지
마우스 입력
• OnMouseDown() : 마우스가 눌러질 때

Drag, Enter, Over, Exit, Up 등등
• void OnMouseDown(){

Debug.Log(this.name);

}
• 스크립트가 붙어있는 오브젝트에서만 실행
• 오브젝트를 누르면, 오브젝트의 이름을 출력해라.
대학연합게임제작동아리 브릿지
키보드 입력
• void Update(){

if(Input.GetKeyDown(KeyCode.Alpha0)){

Debug.Log(0);

}

}
• Update() : 매프레임 실행
• 매프레임마다 숫자 0키가 눌려졌는지 검사
• 눌러 졌으면 -> 숫자 0 출력
• KeyCode.LeftArrow, RightArrow ….. Alpha 0~ 9.
대학연합게임제작동아리 브릿지
스크립트 변수 선언
• public class Test : MonoBehavior{

public int num = 0;

private int cnt = 0;



void Start(){

}

void Update(){

}

}
• public : 다른 클래스(스크립트) 에서도 접근가능

인스펙터 뷰에서 접근 가능
• private : 오직 클래스 내부에서만 접근 가능.
대학연합게임제작동아리 브릿지
실습(2) 입력 + for문
• 왼쪽 위부터 차례대로 num값

[1, 2, 3], [4, 5, 6], [7, 8, 9]
• 마우스 클릭할때마다

구구단 출력
• ex)

- 2번 큐브 클릭

: 2 4 6 8 10 12 14 16 18

- 7번 큐브 클릭

: 7 14 21 28 35 42 49 56 63
대학연합게임제작동아리 브릿지
실습(3) 입력 + if문
• 왼쪽 위부터 차례대로 num값

[1, 2, 3], [4, 5, 6], [7, 8, 9]
• 마우스 클릭할때마다 해당 숫자의
배수 출력. 클릭할때마다 배수 증가

- 1배수 부터 시작해서 9배수까지

- 9배수 초과되면 다시 1배수
• ex)

- 2번 큐브 첫번째 클릭 : 2

- 2번 큐브 두번째 클릭 : 4

- 2번 큐브 9번째 클릭 : 18

- 2번 큐브 10번째 클릭 : 2
대학연합게임제작동아리 브릿지
Unity 공부는?
• Unity 공식홈페이지가 가장 좋다!

- Tutorial 동영상 참고.

- Documentation은 지겹도록 참고
• 충분히 독학 가능!
• 입문자라면 책 보는 것도 괜춘.

- but 공식홈페이지가 짱짱
대학연합게임제작동아리 브릿지
Reference
• http://unity3d.com/
• 유니티4 게임. 개발의 정석 (이득우 저)
• 동국대 강의 pdf
대학연합게임제작동아리 브릿지

브릿지 Unity3D 기초 스터디 1회

  • 1.
    Unity3D 초급스터디 1회차 `15.09. 12. 대학연합게임제작동아리 브릿지
  • 2.
    스터디 일정 및커리큘럼 • 9월 12일 : 유니티 소개 및 에디터 조작법 • 9월 19일 : Sprite, Animation, Physics 기초 • 10월 10일 : Unity UI, GameManager • 10월 24일 : Animation Controller, Timer • 10월 31일 : 슈팅 게임 개발 • 11월 7일 : 2D 게임 완성(마녀이야기) 대학연합게임제작동아리 브릿지
  • 3.
    Unity3D의 역사 • 2000년도초반 덴마크 학생 개발자 3명이 모여 게임엔진 개발. • 원래는 게임 개발용도였지만 맥 전용 게임 엔진으로 공개. • 윈도우, 웹브라우저, 아이폰, 안드로이드 등등
 다양한 플랫폼 지원 대학연합게임제작동아리 브릿지
  • 4.
    통합 인터페이스 • 모든기능을 하나의 에디터 프로그램에서 관리. • 3D 그래픽과 유사한 인터페이스 제공 • 게임 오브젝트를 배치 => 컴포넌트를 붙여서 게임 제작 대학연합게임제작동아리 브릿지
  • 5.
    통합 애셋 시스템 •Asset :
 - 게임 제작에 사용되는 다양한 종류의 파일.
 - 하나의 통합된 시스템 안에서 관리.
 - 외부 작업물을 쉽게 불러들일 수 있음. • 모델링 : 3dsMax, Maya, Cinema4D, Blender 등 • 텍스처 : psd, png, gif, bmp 등 • 오디오 : wav, mp3, ogg, aiff 등 • 비디오 : mpeg, mov 등 대학연합게임제작동아리 브릿지
  • 6.
    유니티 인터페이스 콘솔뷰 계층 뷰프로젝트
 뷰 인스펙터
 뷰 씬 뷰 게임 뷰 대학연합게임제작동아리 브릿지
  • 7.
    유니티 인터페이스 뷰 이름설명 씬 뷰 게임스테이지 제작에 사용되는 씬이라 불리는 가상 3차원 공간을 편집하게 도와주는 기능 제공 계층 뷰 씬이 배치된 물체들의 정보. 물체들을 게임오브젝트라고 하며, 오브젝트들을 계층 구조로 관리 할 수 있음 프로젝트 뷰 게임 제작에 필요한 파일을 애셋이라고 하며, 이런 애셋들을 관리하는 기능 제공. 탐색기와 유사한 인터페이스 인스펙터 뷰 게임 오브젝트나 특정 애셋을 선택하면 이들의 속성을 조절할 수 있는 기능 제공 게임 뷰 현재 만들고 있는 게임이 사용자 입장에서 어떻게 움직이고 보이는지 테스트 하는 공간. 성능 측정을 위한 다양한 부가정보 제공. 콘솔 뷰 에디터에서 발생하는 각종 문제점에 대한 메시지를 출력. Debug 클래스를 사용해 필요한 메시지 출력 가능. 대학연합게임제작동아리 브릿지
  • 8.
  • 9.
    오브젝트 생성 • GameObject-> 3D Object -> Cube
 Sphere, 등등 • GameObject -> Light -> Directional Light 대학연합게임제작동아리 브릿지
  • 10.
    씬 뷰 조작인터페이스 대학연합게임제작동아리 브릿지
  • 11.
    트랜스폼 툴 • 좌상단툴바 대학연합게임제작동아리 브릿지
  • 12.
    계층 뷰 • 씬을구성하는 게임 오브젝트의 목록 관리
 - 게임 오브젝트가 생성되면 자동으로 계층 뷰에 등록.
 - 더블클릭으로 씬의 어디에 위치 한지 쉽게 알 수 있음.
 - 게임 오브젝트간 계층 설정 가능. 대학연합게임제작동아리 브릿지
  • 13.
    프로젝트 뷰 • 게임에서사용하는 자원인 애셋(Asset)을 관리하는 역할
 - 씬, 스크립트, 사운드, 텍스쳐, 스프라이트 등
 - 탐색기와 비슷한 구조 대학연합게임제작동아리 브릿지
  • 14.
    인스펙터 뷰 • 게임오브젝트의 구성요소인 컴포넌트를 보여주고, 컴포 넌트에 값을 설정할 수 있는 인터페이스 제공. • 활성화 여부. • 오브젝트 이름 설정. • 태그 설정. 대학연합게임제작동아리 브릿지
  • 15.
    스냅 기능 • 물체를이동, 변환할 때 지정된 단위로만 변경.
 - Ctrl 키를 누르고 명령. (맥은 Command)
 - Edit -> Snap Settings에서 조절가능 대학연합게임제작동아리 브릿지
  • 16.
    (실습1) 인터페이스 익히기 •Sphere를 이용하여 태양계 구현. • 계층뷰를 활용하여 오브젝트 계층구조 설정 대학연합게임제작동아리 브릿지
  • 17.
    프로젝트 구조 • 프로젝트(하나의 어플리케이션)
 - 씬, 애셋으로 구분 대학연합게임제작동아리 브릿지
  • 18.
    씬 구조 • 유니티가게임 제작을 위해 제공하는 3차원 공간
 - 게임은 여러 씬으로 구성
 - 인트로씬, 스테이지1, 스테이지2,
 엔딩 씬, 게임오버 씬 등 대학연합게임제작동아리 브릿지
  • 19.
    스크립트 • 오브젝트에 “스크립트”컴포넌트 붙이기
 - C#, JavaScript • 스크립트 이름 더블 클릭으로 실행 대학연합게임제작동아리 브릿지
  • 20.
    MonoDevelop • 오픈소스 통합개발환경(IDE); 코딩, 디버그, 컴파일 제공 • 거의 Script 편집 용도로 사용. 대학연합게임제작동아리 브릿지
  • 21.
    MonoBehavior • 모든 클래스가기본적으로 상속받는 클래스 • Awake(), Start(), Update() 등의 기본 메소드 제공 • 스크립트 실행주기 순서도
 http://docs.unity3d.com/Manual/ExecutionOrder.html
 대학연합게임제작동아리 브릿지
  • 22.
    MonoBehavior • Awake() :스크립트가 로드 될 때 • Start() : 스크립트가 활성화 될 때, Update 메소드가 실행되 기 전 딱한 번 실행. • Update() : MonoBehavior가 활성화 되어 있다면, 매 프레 임마다 한번 씩 실행. • FixedUpdate() : MonoBehavior가 활성화 되어 있다면, 매 번 고정된 프레임레이트마다 한 번 씩 실행. 대학연합게임제작동아리 브릿지
  • 23.
    마우스 입력 • OnMouseDown(): 마우스가 눌러질 때
 Drag, Enter, Over, Exit, Up 등등 • void OnMouseDown(){
 Debug.Log(this.name);
 } • 스크립트가 붙어있는 오브젝트에서만 실행 • 오브젝트를 누르면, 오브젝트의 이름을 출력해라. 대학연합게임제작동아리 브릿지
  • 24.
    키보드 입력 • voidUpdate(){
 if(Input.GetKeyDown(KeyCode.Alpha0)){
 Debug.Log(0);
 }
 } • Update() : 매프레임 실행 • 매프레임마다 숫자 0키가 눌려졌는지 검사 • 눌러 졌으면 -> 숫자 0 출력 • KeyCode.LeftArrow, RightArrow ….. Alpha 0~ 9. 대학연합게임제작동아리 브릿지
  • 25.
    스크립트 변수 선언 •public class Test : MonoBehavior{
 public int num = 0;
 private int cnt = 0;
 
 void Start(){
 }
 void Update(){
 }
 } • public : 다른 클래스(스크립트) 에서도 접근가능
 인스펙터 뷰에서 접근 가능 • private : 오직 클래스 내부에서만 접근 가능. 대학연합게임제작동아리 브릿지
  • 26.
    실습(2) 입력 +for문 • 왼쪽 위부터 차례대로 num값
 [1, 2, 3], [4, 5, 6], [7, 8, 9] • 마우스 클릭할때마다
 구구단 출력 • ex)
 - 2번 큐브 클릭
 : 2 4 6 8 10 12 14 16 18
 - 7번 큐브 클릭
 : 7 14 21 28 35 42 49 56 63 대학연합게임제작동아리 브릿지
  • 27.
    실습(3) 입력 +if문 • 왼쪽 위부터 차례대로 num값
 [1, 2, 3], [4, 5, 6], [7, 8, 9] • 마우스 클릭할때마다 해당 숫자의 배수 출력. 클릭할때마다 배수 증가
 - 1배수 부터 시작해서 9배수까지
 - 9배수 초과되면 다시 1배수 • ex)
 - 2번 큐브 첫번째 클릭 : 2
 - 2번 큐브 두번째 클릭 : 4
 - 2번 큐브 9번째 클릭 : 18
 - 2번 큐브 10번째 클릭 : 2 대학연합게임제작동아리 브릿지
  • 28.
    Unity 공부는? • Unity공식홈페이지가 가장 좋다!
 - Tutorial 동영상 참고.
 - Documentation은 지겹도록 참고 • 충분히 독학 가능! • 입문자라면 책 보는 것도 괜춘.
 - but 공식홈페이지가 짱짱 대학연합게임제작동아리 브릿지
  • 29.
    Reference • http://unity3d.com/ • 유니티4게임. 개발의 정석 (이득우 저) • 동국대 강의 pdf 대학연합게임제작동아리 브릿지