Publicidad
Publicidad

Más contenido relacionado

Similar a Unity시작하기(20)

Publicidad

Más de Changwon National University(20)

Último(20)

Publicidad

Unity시작하기

  1. 4. Unity 시작하기 2015. 6. 창원대학교 정보통신공학과 박동규 http://ivis.cwnu.ac.kr/tc/dongupak/
  2. 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 플랫폼 지원
  3. 멀티 플랫폼 게임엔진 2015. 6.
  4. Unity • 적은 프로그래밍 기술로도 개발이 가능함 • JavaScript, C#, Boo 언어를 통한 개발을 지원 • 스크립트도 Unity의 컴포넌트가 됨 • 본 강의에서는 C# 사용 • 유료/무료 Asset을 구매하여 개발할 수 있음 • PhysX 물리 엔진 지원-물리적 효과를 쉽게 구현할 수 있음( 실시간 옷 감, 물리객체들 간의 충돌, 파티클등 ) • Drag & Drop 방식의 비주얼 프로그래밍
  5. 설치
  6. 설치
  7. 설치후 등록-sign in
  8. 시작하기
  9. 라이센스 정책 • Unity Personal vs Professional 버전이 있음 • Personal version • 게임 로딩시 화면에 Unity가 나타남, 분석도구가 없음, 팀 라이센스 없음, 연간 수익이 100,000달러이상인 경우에 는 Professional License를 구매해야 함. • Professional version(매월 $75) • 다양한 기능과 분석도구, 자유로운 라이센스등
  10. 기능 비교
  11. 혼자서 배우기
  12. 커뮤니티
  13. Unity 화면 구성 Scene Game Hierarchy Project Assets Inspector
  14. 화면구성 • Scene - 게임을 만드는 화면(drag & drop) • Hierarchy - 게임 신의 게임 객체목록과 그 계층적 구조 • Project - 게임개발에 필요한 이미지, 3d 객체, 스크립트등의 리소스 (Asset이라고 함) • Inspector - 유니티 게임은 여러 개의 게임객체로 구성되어 있으며, Inspector는 선택된 게임 객체의 속성정보를 자세히 보여주며, 관련 스크립트와 리소스 연동을 지시함. • Toolbar - Transform, Play/Pause Button, 레이아웃 조정 버튼등을 가지고 있음
  15. 할일 • 유니티 Asset Store 계정만들기 • 유니티 개발시 필요한 Asset을 유료/무료로 다운 받을 수 있다
  16. Flappy Bird • 리소스와 프로젝트 파일 다운 받기 • http://ivis.cwnu.ac.kr/tc/dongupak/245
  17. Flappy Bird
  18. Scene창 명령 카메라 평행 이동 명령
  19. Scene창 명령 객체의 평행이동
  20. Scene창 명령 객체의 회전
  21. Scene창 명령 객체의 확대 축소
  22. Scene창 명령 객체의 확대 축소
  23. 객체변환
  24. 변환툴(Transform Tool) 변환툴에서 핸드툴을 선택하는 단축 키는 ‘Q’이다 Move : 마우스 클릭-드래그를 통해 카메라 이동 Orbit : Alt+마우스 좌클릭 + 드래그를 통해 카메라를 현재 피봇포인트 주위로 회전 시킨다 Zoom : 마우스-드래그를 통해 카메라를 줌인/아웃
  25. 변환툴 단축키 각각의 기능은 q,w,e,r,t 키와 매핑 scene 창을 조작하는 매우 중요한 기능
  26. 툴바 변환 툴 - Scene 뷰에서 사용 변환 기즈모 툴 - Scene 뷰 디스플레이에 영향을 준다 실행/중지/스텝 버턴 - 게임뷰에서 게임의 실행과 중지 레이어 드롭다운 - 장면뷰에 나타나는 객체 제어 레이아웃 드롭다운 - 뷰의 정렬제어
  27. 기즈모(Gizmo) 기즈모를 잘 활용하자
  28. 기즈모
  29. 뷰 Perspective View Isometric View
  30. 투영법
  31. 매뉴얼 http://docs.unity3d.com/Manual/index.html
  32. 튜토리얼 • 객체의 생성과 스크립팅 • 물리엔진 • 게임객체를 다루는 방법
  33. 유니티 튜토리얼 http://unity3d.com/learn/tutorials/modules
  34. 새 프로젝트
  35. 폴더 만들기
  36. 프로젝트명
  37. 객체의 생성 • GameObject -> 3D Object/2D Object
  38. 기본 인터페이스와 메뉴
  39. 실행하기 게임 신을 실행 실행모드에서도 편 집 가능- 저장이 안됨(주의)
  40. 실행
  41. 텍스처 추가하기
  42. 타일 텍스쳐 http://llbinnall.cafe24.com/xe/index.php?mid=sub2_2_2&document_srl=685970
  43. 물리 추가하기
  44. Inspector • 객체의 속성 • x,y,x 좌표, 회전, 스케일 • 텍스처, 스크립트 • 물리적 속성 • 렌더링을 위한 정보
  45. 파일과 편집, 윈도우 명령
  46. Asset Store • 개발을 위한 리소스를 다운 받을 수 있는 스토어 • 무료/유료 Asset들이 있으며 Asset Store의 content는 7:3 rule에 따라 수익을 보장받는다 • 방대한 Asset시장 역시 Unity의 큰 장점이다 • http://unity3d.com/asset-store/submit-content
  47. Asset Store
  48. 스크립트 C#, JavaScript,Boo를 이용한 프로그래밍이 가능함 MonoDevelop이라는 편집도구를 사용-외부편집기도 가능
  49. 레이아웃 변경
  50. Sample 프로젝트 • 유니티를 이용하여 간단한 슈팅 게임과 스크립트를 만들어 보도록 하자
  51. 새 프로젝트
  52. 빈 프로젝트
  53. plane과 cube등 객체 생성
  54. 물리속성 선택한 물체에 강체(rigidbody) 물리 속성을 부여한다 강체(rigidbody)는 질량과 항력, 중력등의 속성을 가짐
  55. 객체의 복사와 스내핑(v) 복사명령(Cmd + D) 스내핑(v)
  56. 충돌체(collider)
  57. 간단한 슈팅 스크립트 • Project-Create-C#를 실행 • Script이름을 “ShootingBall”로 지 정 • 더블클릭하여 편집창으로 이동함
  58. event loop test
  59. script를 카메라에 연결하자
  60. 실행-콘솔창 Shift + Command + C
  61. 게임 이벤트 루프
  62. 카메라에 오디오 컴포넌트 추가
  63. 편집 오디오 음원 지정 오디오 소스를 메인카메라로 지정
  64. 객체의 속성을 공개(public)
  65. 오디오 확인 • 마우스 클릭시 슈팅 사운드가 들리는지 확인해 보세요
  66. 에러 수정 • 대부분의 프로그램 개발도구와 마찬가지로 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
  67. Sphere를 만들자
  68. 스크립트 편집
  69. 자동완성 기능
  70. 편집 수정 - 디버깅
  71. 카메라 이동을 확인 카메라 객체의 transform 속성의 Translate값을 h,v값으로 변경함. h, v는 Input 객체의 수직, 수평값을 사용함
  72. 슈팅 • Instanciate 메소드를 통해서 bullet 객체를 생성함. bullet 객체의 초기위치값과 회전값은 camera의 초기위치값, 회전 값을 사용함 • TransformDirection 메소드를 통해 카메라의 포워드 벡터 를 얻고 이 값을 bullet 객체에 가해지는 힘 벡터로 사용함
  73. Play
  74. 장면저장
  75. 실습 • Scene에 다양한 강체객체를 만들어 본다 • 강체의 Mass를 아주 크게 만들어 본다 • 슈팅 스피드를 강하게, 약하게 조절해 본다 • 객체의 색상과 텍스처를 변형해 본다 • 슈팅 사운드를 변경해 본다
  76. Lab • 다음과 같은 장면을 만들어 벽을 부수어 보자
  77. 유니티 기반 게임 개발에 필요한 지식들 • 3D의 좌표계 : 전역좌표계 지역좌표계 • 그래픽스 기초 개념 • 장면그래프 • 그래픽 객체의 계층적 구조를 만드는데 필요함 • 입력객체 • 키보드, 마우스,조이스틱 입력객체에 대한 이해 • 물리엔진과 풍부한 사용자 인터페이스에 대한 이해 • C#, Javascript 프로그래밍 기술 • 스크립트를 이용하여 게임 로직을 구현하는 프로그래밍 기술 • 다양한 플랫폼에서 사용하기 위한 플랫폼에 대한 이해
  78. 과제
  79. contact • dongupak@gmail.com • http://ivis.cwnu.ac.kr/tc/dongupak • http://cwapp.org/ - 창원시 스마트 모바일 앱 지원센터
  80. Q & A
Publicidad