2. Unity란?
• 개발 : Unity Technology사( www.unity3d.com )
• 멀티플랫폼용 게임 개발을 위한 게임엔진
• 2D, 3D 게임 개발, 건축 시각화, 3D 애니메이션
• Author Once, Deploy Everywhere
• Windows, Linux, Mac,Android, iOS, Unity Web
Player,Adobe Flash Player, PlayStation 3, Xbox 360,
Nintendo Wii 플랫폼 지원
• 윈도 8, 윈도폰 8, 닌텐도 Wii U, 삼성 Tizen 지원 예정
4. Unity
• 적은 프로그래밍 기술로도 개발이 가능함
• JavaScript, C#, Boo 언어를 통한 개발을 지원
• 스크립트도 Unity의 컴포넌트가 됨
• 본 강의에서는 C# 사용
• 유료/무료 Asset을 구매하여 개발할 수 있음
• PhysX 물리 엔진 지원-물리적 효과를 쉽게 구현할 수 있
음( 실시간 옷감, 물리객체들 간의 충돌, 파티클등 )
• Drag & Drop 방식의 비주얼 프로그래밍
6. 라이센스 정책
• Unity vs Unity Pro 버전이 있음
• free version
• splash screen(게임 로딩시 화면)에 Unity가 나타남, 워터마
크가 있음
• registered version
• 무료, 30일간 테스트를 할 수 있음
• Unity Pro는 유료(1,500$)
• Unity for Android, Unity for iOS는 별도의 license를 통해서
구매함
10. 화면구성
• Scene - 게임을 만드는 화면(drag & drop)
• Hierarchy - 게임 신의 게임 객체목록과 그 계층적 구조
• Project - 게임개발에 필요한 이미지, 3d 객체, 스크립트등
의 리소스(Asset이라고 함)
• Inspector - 유니티 게임은 여러 개의 게임객체로 구성되어
있으며, Inspector는 선택된 게임 객체의 속성정보를 자세
히 보여주며, 관련 스크립트와 리소스 연동을 지시함.
• Toolbar - Transform, Play/Pause Button, 레이아웃 조정 버
튼등을 가지고 있음
14. Angry Bots 게임신
• FPS 슈팅 게임
• 마우스클릭-슈팅, 마우스 이동-목표물 조작
• 키보드-FPS 캐릭터 이동
• Zombie FPS Demo
• http://www.youtube.com/watch?
feature=player_embedded&v=yXdab5xR
nJ4
33. Asset Store
• 개발을 위한 리소스를 다운 받을 수 있는 스토
어
• 무료/유료 Asset들이 있으며 Asset Store의
content는 7:3 rule에 따라 수익을 보장받는다
• 방대한 Asset시장 역시 Unity의 큰 장점이다
• http://unity3d.com/asset-store/submit-
content
52. 에러 수정
• 대부분의 프로그램 개발도구와 마찬가지로 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
57. 슈팅
• Instanciate 메소드를 통해서 bullet 객체를 생성함.
bullet 객체의 초기위치값과 회전값은 camera의 초기위
치값, 회전값을 사용함
• TransformDirection 메소드를 통해 카메라의 포워드 벡
터를 얻고 이 값을 bullet 객체에 가해지는 힘벡터로 사
용함
61. 유니티 기반 게임 개발에 필요한 지식들
• 3D의 좌표계 : 전역좌표계 지역좌표계
• 그래픽스 기초 개념
• 장면그래프
• 그래픽 객체의 계층적 구조를 만드는데 필요함
• 입력객체
• 키보드, 마우스,조이스틱 입력객체에 대한 이해
• 물리엔진과 풍부한 사용자 인터페이스에 대한 이해
• C#, Javascript 프로그래밍 기술
• 스크립트를 이용하여 게임 로직을 구현하는 프로그래밍 기술
• 다양한 플랫폼에서 사용하기 위한 플랫폼에 대한 이해
62. 결론
• 멀티플랫폼용 게임개발은 매우 많은 시간과 비용이 소모된다
• Unity와 같은 강력한 게임엔진을 이용한 멀티 플랫폼용 게
임 개발도구의 활용이 필요하다.
• Unity는 게임의 상세한 기능보다는 로직에 집중하도록 도와주
는 도구이다
• 물리기반게임과 2D, 3D 게임개발에 편리하다
• 매우 다양한 기능이 있으며 지속적으로 업데이트 되고 있는 게
임 엔진이다
• 향후 더욱 많은 플랫폼에서 적용될 예정이다
63. 참고문헌
• Unity 3.x Game Development Essentials
• http://ugame.tu.ac.kr/ymkang/wiki/
• 동명대학교 강영민교수님 강의 페이지
• http://unity3d.com/
• Youtube 강의 동영상등