SlideShare una empresa de Scribd logo
1 de 82
Descargar para leer sin conexión
4. Unity 시작하기
2015. 6.
창원대학교 정보통신공학과 박동규
http://ivis.cwnu.ac.kr/tc/dongupak/
Unity란?
• 개발 : Unity Technology사( www.unity3d.com )
• 멀티플랫폼용 게임 개발을 위한 게임엔진
• 2D, 3D 게임 개발, 건축 시각화, 3D 애니메이션
• Author Once, Deploy Anywhere
• Windows, Linux, Mac, Android, iOS, Unity Web Player,
Adobe Flash Player, PlayStation 3, Xbox 360, Nintendo
Wii, 윈도 8, 윈도폰 8, 닌텐도 Wii U, 삼성 Tizen 플랫폼 지원
멀티 플랫폼 게임엔진
2015. 6.
Unity
• 적은 프로그래밍 기술로도 개발이 가능함
• JavaScript, C#, Boo 언어를 통한 개발을 지원
• 스크립트도 Unity의 컴포넌트가 됨
• 본 강의에서는 C# 사용
• 유료/무료 Asset을 구매하여 개발할 수 있음
• PhysX 물리 엔진 지원-물리적 효과를 쉽게 구현할 수 있음( 실시간 옷
감, 물리객체들 간의 충돌, 파티클등 )
• Drag & Drop 방식의 비주얼 프로그래밍
설치
설치
설치후 등록-sign in
시작하기
라이센스 정책
• Unity Personal vs Professional 버전이 있음
• Personal version
• 게임 로딩시 화면에 Unity가 나타남, 분석도구가 없음, 팀
라이센스 없음, 연간 수익이 100,000달러이상인 경우에
는 Professional License를 구매해야 함.
• Professional version(매월 $75)
• 다양한 기능과 분석도구, 자유로운 라이센스등
기능 비교
혼자서 배우기
커뮤니티
Unity 화면 구성
Scene
Game
Hierarchy
Project
Assets
Inspector
화면구성
• Scene - 게임을 만드는 화면(drag & drop)
• Hierarchy - 게임 신의 게임 객체목록과 그 계층적 구조
• Project - 게임개발에 필요한 이미지, 3d 객체, 스크립트등의 리소스
(Asset이라고 함)
• Inspector - 유니티 게임은 여러 개의 게임객체로 구성되어 있으며,
Inspector는 선택된 게임 객체의 속성정보를 자세히 보여주며, 관련
스크립트와 리소스 연동을 지시함.
• Toolbar - Transform, Play/Pause Button, 레이아웃 조정 버튼등을
가지고 있음
할일
• 유니티 Asset Store 계정만들기
• 유니티 개발시 필요한 Asset을 유료/무료로 다운 받을 수
있다
Flappy Bird
• 리소스와 프로젝트 파일 다운 받기
• http://ivis.cwnu.ac.kr/tc/dongupak/245
Flappy Bird
Scene창 명령
카메라 평행 이동 명령
Scene창 명령
객체의 평행이동
Scene창 명령
객체의 회전
Scene창 명령
객체의 확대 축소
Scene창 명령
객체의 확대 축소
객체변환
변환툴(Transform Tool)
변환툴에서 핸드툴을 선택하는 단축 키는 ‘Q’이다
Move : 마우스 클릭-드래그를 통해 카메라 이동
Orbit : Alt+마우스 좌클릭 + 드래그를 통해 카메라를
현재 피봇포인트 주위로 회전 시킨다
Zoom : 마우스-드래그를 통해 카메라를
줌인/아웃
변환툴 단축키
각각의 기능은 q,w,e,r,t 키와 매핑
scene 창을 조작하는 매우 중요한 기능
툴바
변환 툴 - Scene 뷰에서 사용
변환 기즈모 툴 - Scene 뷰 디스플레이에 영향을 준다
실행/중지/스텝 버턴 - 게임뷰에서 게임의 실행과 중지
레이어 드롭다운 - 장면뷰에 나타나는 객체 제어
레이아웃 드롭다운 - 뷰의 정렬제어
기즈모(Gizmo)
기즈모를 잘 활용하자
기즈모
뷰
Perspective View
Isometric View
투영법
매뉴얼
http://docs.unity3d.com/Manual/index.html
튜토리얼
• 객체의 생성과 스크립팅
• 물리엔진
• 게임객체를 다루는 방법
유니티 튜토리얼
http://unity3d.com/learn/tutorials/modules
새 프로젝트
폴더 만들기
프로젝트명
객체의 생성
• GameObject -> 3D Object/2D Object
기본 인터페이스와 메뉴
실행하기
게임 신을 실행
실행모드에서도 편
집 가능- 저장이
안됨(주의)
실행
텍스처 추가하기
타일 텍스쳐
http://llbinnall.cafe24.com/xe/index.php?mid=sub2_2_2&document_srl=685970
물리 추가하기
Inspector
• 객체의 속성
• x,y,x 좌표, 회전, 스케일
• 텍스처, 스크립트
• 물리적 속성
• 렌더링을 위한 정보
파일과 편집, 윈도우 명령
Asset Store
• 개발을 위한 리소스를 다운 받을 수 있는 스토어
• 무료/유료 Asset들이 있으며 Asset Store의 content는 7:3
rule에 따라 수익을 보장받는다
• 방대한 Asset시장 역시 Unity의 큰 장점이다
• http://unity3d.com/asset-store/submit-content
Asset Store
스크립트
C#, JavaScript,Boo를 이용한 프로그래밍이 가능함
MonoDevelop이라는 편집도구를 사용-외부편집기도 가능
레이아웃 변경
Sample 프로젝트
• 유니티를 이용하여 간단한 슈팅 게임과 스크립트를 만들어
보도록 하자
새 프로젝트
빈 프로젝트
plane과 cube등 객체 생성
물리속성
선택한 물체에 강체(rigidbody)
물리 속성을 부여한다
강체(rigidbody)는 질량과
항력, 중력등의 속성을 가짐
객체의 복사와 스내핑(v)
복사명령(Cmd + D)
스내핑(v)
충돌체(collider)
간단한 슈팅 스크립트
• Project-Create-C#를 실행
• Script이름을 “ShootingBall”로 지
정
• 더블클릭하여 편집창으로 이동함
event loop test
script를 카메라에 연결하자
실행-콘솔창
Shift + Command + C
게임 이벤트 루프
카메라에 오디오 컴포넌트 추가
편집
오디오 음원
지정
오디오 소스를
메인카메라로
지정
객체의 속성을 공개(public)
오디오 확인
• 마우스 클릭시 슈팅 사운드가 들리는지 확인해 보세요
에러 수정
• 대부분의 프로그램 개발도구와 마찬가지로 Error가 발생하
면 스크립트의 콘솔에 에러의 위치와 내용을 보여준다
• 이 부분을 수정하여 저장하면된다
• C# 문법
• http://binteractive.org/wp/wp-content/uploads/
2014/02/C%EA%B8%B0%EC%B4%88%EB%AC
%B8%EB%B2%95.pdf
Sphere를 만들자
스크립트 편집
자동완성 기능
편집
수정 - 디버깅
카메라 이동을 확인
카메라 객체의 transform 속성의 Translate값을 h,v값으로 변경함. h,
v는 Input 객체의 수직, 수평값을 사용함
슈팅
• Instanciate 메소드를 통해서 bullet 객체를 생성함. bullet
객체의 초기위치값과 회전값은 camera의 초기위치값, 회전
값을 사용함
• TransformDirection 메소드를 통해 카메라의 포워드 벡터
를 얻고 이 값을 bullet 객체에 가해지는 힘 벡터로 사용함
Play
장면저장
실습
• Scene에 다양한 강체객체를 만들어 본다
• 강체의 Mass를 아주 크게 만들어 본다
• 슈팅 스피드를 강하게, 약하게 조절해 본다
• 객체의 색상과 텍스처를 변형해 본다
• 슈팅 사운드를 변경해 본다
Lab
• 다음과 같은 장면을 만들어 벽을 부수어 보자
유니티 기반 게임 개발에 필요한 지식들
• 3D의 좌표계 : 전역좌표계 지역좌표계
• 그래픽스 기초 개념
• 장면그래프
• 그래픽 객체의 계층적 구조를 만드는데 필요함
• 입력객체
• 키보드, 마우스,조이스틱 입력객체에 대한 이해
• 물리엔진과 풍부한 사용자 인터페이스에 대한 이해
• C#, Javascript 프로그래밍 기술
• 스크립트를 이용하여 게임 로직을 구현하는 프로그래밍 기술
• 다양한 플랫폼에서 사용하기 위한 플랫폼에 대한 이해
과제
contact
• dongupak@gmail.com
• http://ivis.cwnu.ac.kr/tc/dongupak
• http://cwapp.org/ - 창원시 스마트 모바일 앱 지원센터
Q & A

Más contenido relacionado

La actualidad más candente

[1126 박민근] 비전엔진을 이용한 mmorpg 개발
[1126 박민근] 비전엔진을 이용한 mmorpg 개발[1126 박민근] 비전엔진을 이용한 mmorpg 개발
[1126 박민근] 비전엔진을 이용한 mmorpg 개발
MinGeun Park
 

La actualidad más candente (16)

[1126 박민근] 비전엔진을 이용한 mmorpg 개발
[1126 박민근] 비전엔진을 이용한 mmorpg 개발[1126 박민근] 비전엔진을 이용한 mmorpg 개발
[1126 박민근] 비전엔진을 이용한 mmorpg 개발
 
Unity 3d study #1
Unity 3d study #1Unity 3d study #1
Unity 3d study #1
 
Project Anarchy(Vision Engine)으로 게임 툴 만들기! part2
Project Anarchy(Vision Engine)으로 게임 툴 만들기! part2Project Anarchy(Vision Engine)으로 게임 툴 만들기! part2
Project Anarchy(Vision Engine)으로 게임 툴 만들기! part2
 
제너레이티브 디자인 온라인 클래스 발표자료
제너레이티브 디자인 온라인 클래스 발표자료제너레이티브 디자인 온라인 클래스 발표자료
제너레이티브 디자인 온라인 클래스 발표자료
 
18.08.18 Fusion 360 meetup in Korea
18.08.18 Fusion 360 meetup in Korea18.08.18 Fusion 360 meetup in Korea
18.08.18 Fusion 360 meetup in Korea
 
[IGC 2017] 유니티 오지현 - 유니티로 영화 만들기, 실화냐?!
[IGC 2017] 유니티 오지현 - 유니티로 영화 만들기, 실화냐?![IGC 2017] 유니티 오지현 - 유니티로 영화 만들기, 실화냐?!
[IGC 2017] 유니티 오지현 - 유니티로 영화 만들기, 실화냐?!
 
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍
 
프로젝트 아나키로 Rpg 만들기 프로그래밍
프로젝트 아나키로 Rpg 만들기 프로그래밍프로젝트 아나키로 Rpg 만들기 프로그래밍
프로젝트 아나키로 Rpg 만들기 프로그래밍
 
NDC 2015 삼시세끼 빌드만들기
NDC 2015 삼시세끼 빌드만들기NDC 2015 삼시세끼 빌드만들기
NDC 2015 삼시세끼 빌드만들기
 
introduce unity3D and playmaker basic
introduce unity3D and playmaker basicintroduce unity3D and playmaker basic
introduce unity3D and playmaker basic
 
Metaverse 세상 속 컨텐츠는 어떻게 만들어 질까?
Metaverse 세상 속 컨텐츠는 어떻게 만들어 질까?Metaverse 세상 속 컨텐츠는 어떻게 만들어 질까?
Metaverse 세상 속 컨텐츠는 어떻게 만들어 질까?
 
[IGC 2016] 오토데스크 박종태 - 게임 엔진 사용자층의 다양한 기회 – 새로운 게임 엔진 Autodesk Stingray를 다양한 ...
[IGC 2016] 오토데스크 박종태 - 게임 엔진 사용자층의 다양한 기회 – 새로운 게임 엔진 Autodesk Stingray를 다양한 ...[IGC 2016] 오토데스크 박종태 - 게임 엔진 사용자층의 다양한 기회 – 새로운 게임 엔진 Autodesk Stingray를 다양한 ...
[IGC 2016] 오토데스크 박종태 - 게임 엔진 사용자층의 다양한 기회 – 새로운 게임 엔진 Autodesk Stingray를 다양한 ...
 
신호처리 고잉메리호
신호처리 고잉메리호신호처리 고잉메리호
신호처리 고잉메리호
 
18.05.26 Fusion360 workshop in Korea
18.05.26 Fusion360 workshop in Korea18.05.26 Fusion360 workshop in Korea
18.05.26 Fusion360 workshop in Korea
 
대규모 프로젝트 개발이야기 - 이승헌, 유나이트 코리아 2014
대규모 프로젝트 개발이야기 - 이승헌, 유나이트 코리아 2014대규모 프로젝트 개발이야기 - 이승헌, 유나이트 코리아 2014
대규모 프로젝트 개발이야기 - 이승헌, 유나이트 코리아 2014
 
18.10.05 Fusion 360 Meetup in Busan
18.10.05 Fusion 360 Meetup in Busan18.10.05 Fusion 360 Meetup in Busan
18.10.05 Fusion 360 Meetup in Busan
 

Similar a Unity시작하기

[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)
[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)
[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)
Sang Don Kim
 
120513 unity3 d_start_skyseer
120513 unity3 d_start_skyseer120513 unity3 d_start_skyseer
120513 unity3 d_start_skyseer
Chan-hyun Park
 
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
Jeongkyu Shin
 
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
funmeate
 

Similar a Unity시작하기 (20)

숭실대 프로젝트 아나키 워크샵 part1
숭실대 프로젝트 아나키 워크샵 part1숭실대 프로젝트 아나키 워크샵 part1
숭실대 프로젝트 아나키 워크샵 part1
 
브릿지 Unity3D 기초 스터디 1회
브릿지 Unity3D 기초 스터디 1회브릿지 Unity3D 기초 스터디 1회
브릿지 Unity3D 기초 스터디 1회
 
[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)
[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)
[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)
 
jhj port.
jhj port.jhj port.
jhj port.
 
[IGC 2017] 오토데스크 박준석 - 3ds Max 2018과 Shotgun을 이용한 게임 제작 Pipeline 소개
[IGC 2017] 오토데스크 박준석 - 3ds Max 2018과 Shotgun을 이용한 게임 제작 Pipeline 소개[IGC 2017] 오토데스크 박준석 - 3ds Max 2018과 Shotgun을 이용한 게임 제작 Pipeline 소개
[IGC 2017] 오토데스크 박준석 - 3ds Max 2018과 Shotgun을 이용한 게임 제작 Pipeline 소개
 
모바일 게임 테스트 자동화 Igc 2016
모바일 게임 테스트 자동화 Igc 2016모바일 게임 테스트 자동화 Igc 2016
모바일 게임 테스트 자동화 Igc 2016
 
신광섭
신광섭신광섭
신광섭
 
ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자
 
RAD Studio XE7 Direct LIVE! in 광주
RAD Studio XE7 Direct LIVE! in 광주RAD Studio XE7 Direct LIVE! in 광주
RAD Studio XE7 Direct LIVE! in 광주
 
CI in the Mobile World (한글번역)
CI in the Mobile World (한글번역)CI in the Mobile World (한글번역)
CI in the Mobile World (한글번역)
 
120513 unity3 d_start_skyseer
120513 unity3 d_start_skyseer120513 unity3 d_start_skyseer
120513 unity3 d_start_skyseer
 
키노트활용-창원시 스마트앱 지원센터
키노트활용-창원시 스마트앱 지원센터키노트활용-창원시 스마트앱 지원센터
키노트활용-창원시 스마트앱 지원센터
 
클라우드 기반 Unity 게임 서버 구축, 60분이면 충분하다
클라우드 기반 Unity 게임 서버 구축, 60분이면 충분하다클라우드 기반 Unity 게임 서버 구축, 60분이면 충분하다
클라우드 기반 Unity 게임 서버 구축, 60분이면 충분하다
 
유니티 기초 - 유니티 설치부터 스크립팅까지 익히기
유니티 기초 - 유니티 설치부터 스크립팅까지 익히기유니티 기초 - 유니티 설치부터 스크립팅까지 익히기
유니티 기초 - 유니티 설치부터 스크립팅까지 익히기
 
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
 
[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰
[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰
[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰
 
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
 
Information Mirror
Information MirrorInformation Mirror
Information Mirror
 
Information Mirror
Information MirrorInformation Mirror
Information Mirror
 
GDG DevFest Busan 16" Android Nougat Developer's Note
GDG DevFest Busan 16" Android Nougat Developer's NoteGDG DevFest Busan 16" Android Nougat Developer's Note
GDG DevFest Busan 16" Android Nougat Developer's Note
 

Más de Changwon National University

Más de Changwon National University (20)

생성인공지능둘러보기.pdf
생성인공지능둘러보기.pdf생성인공지능둘러보기.pdf
생성인공지능둘러보기.pdf
 
2011 app center Changwon National Univ.
2011 app center Changwon National Univ.2011 app center Changwon National Univ.
2011 app center Changwon National Univ.
 
인공지능의 파도가 온다
인공지능의 파도가 온다인공지능의 파도가 온다
인공지능의 파도가 온다
 
Mobile Healthcare Application
Mobile Healthcare ApplicationMobile Healthcare Application
Mobile Healthcare Application
 
바다 즐기기
바다 즐기기바다 즐기기
바다 즐기기
 
알아두면 편리한 macOS 에디터 단축키와 기능
알아두면 편리한 macOS 에디터  단축키와 기능알아두면 편리한 macOS 에디터  단축키와 기능
알아두면 편리한 macOS 에디터 단축키와 기능
 
키보드 기호의 이름 알아보기(한국어, 영어)
키보드 기호의 이름 알아보기(한국어, 영어)키보드 기호의 이름 알아보기(한국어, 영어)
키보드 기호의 이름 알아보기(한국어, 영어)
 
AI 로봇 아티스트의 비밀(창원대학교 정보통신공학과 특강)
AI 로봇 아티스트의 비밀(창원대학교 정보통신공학과 특강)AI 로봇 아티스트의 비밀(창원대학교 정보통신공학과 특강)
AI 로봇 아티스트의 비밀(창원대학교 정보통신공학과 특강)
 
20 2 강의를 마치며
20 2 강의를 마치며20 2 강의를 마치며
20 2 강의를 마치며
 
20 1 코딩스타일
20 1 코딩스타일20 1 코딩스타일
20 1 코딩스타일
 
18 2 파이썬표준라이브러리
18 2 파이썬표준라이브러리18 2 파이썬표준라이브러리
18 2 파이썬표준라이브러리
 
18 1 파이썬패키지
18 1 파이썬패키지18 1 파이썬패키지
18 1 파이썬패키지
 
17 2 필터함수와 맵함수
17 2 필터함수와 맵함수17 2 필터함수와 맵함수
17 2 필터함수와 맵함수
 
17 1 람다함수
17 1 람다함수17 1 람다함수
17 1 람다함수
 
16 1 상속과super()
16 1 상속과super()16 1 상속과super()
16 1 상속과super()
 
15 2 클래스정의와self
15 2 클래스정의와self15 2 클래스정의와self
15 2 클래스정의와self
 
14 4 슬라이싱
14 4 슬라이싱14 4 슬라이싱
14 4 슬라이싱
 
14 2 iterator
14 2 iterator14 2 iterator
14 2 iterator
 
14 3 리스트함수
14 3 리스트함수14 3 리스트함수
14 3 리스트함수
 
14 1 리스트의 메소드
14 1 리스트의 메소드14 1 리스트의 메소드
14 1 리스트의 메소드
 

Unity시작하기