Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발

스마트벤처 창업학교(대구)에서 스타트업 창업자분들을 대상으로 발표한 유니티 개발 자료입니다.
새로운 내용은 아니고..
기존에 발표 했던 유니티 관련 자료들을 하나로 모은, 총합편입니다.

ps. Unity 2D 소개와 PlayMaker 소개에는 동영상이 포함되어 있는데, 아마 슬라이드셰어에서 재생은 되지 않을듯 합니다. 다운로드 받으시면, 동영상도 보실수 있습니다.

1. 유니티 소개
2. 개발과 출시, 경험에 대한 이야기 (서형석)
3. Unity 2D 살펴 보기
4. 유니티가 당신에게 알려주지 않는 진실 (이득우) - 링크
5. 유니티와 PlayMaker를 이용한 쉽고 빠른 게임 개발

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to comment

[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발

  1. 1. 스타트업 프로젝트를 위한 유니티 게임 개발 2014.9.18 박민근
  2. 2. 알콜코더 박민근(@agebreak) NHN NEXT 게임 전공 교수 쿠키 소프트 – 모바일 격투게임 프로젝트 (Unity) 네오위즈 게임즈 - 야구의 신 개발 NTL-inc - 드래곤볼 온라인 개발 엔씨소프트 – PlayNC 빌링 서버 개발 ‘신입 게임 개발자의 서울 상경기’ (http://agebreak.blog.me) ‘초중급 게임 개발자 스터디 (데브루키)’ (cafe.naver.com/devrookie) 게임 개발자 랩소디 (팟캐스트) (http://www.podbbang.com/ch/3921) 게임 클라이언트 프로그래머 30대… 그리고 오타쿠 프로그래머... 언젠가는 우즈벡에.. 일류젼 우즈벡 지사를 설립할 예정
  3. 3. 오늘 이야기… 1. 유니티 소개 2. 개발과 출시, 경험에 대한 이야기 (서형석) 3. UNITY 2D 살펴 보기 4. 유니티가 당신에게 알려주지 않는 진실 (이득우) 5. 유니티와 PLAYMAKER를 이용한 쉽고 빠른 게임 개발
  4. 4. 유니티 처음 사용해보면.. • 간편한 에디터 • 드래그 몇 번 하고, 스크립트 작업 잠깐으로 뚝딱뚝딱!! 오오옷~!! • 간단하고 손쉬운 개발 • 필요한건 다 되어 있다. 어려운 프로그래밍 지식이 필요 없다. • 에셋스토어 짱짱~!! 필요한거 다있음!!
  5. 5. 유니티 처음 사용해보면..
  6. 6. 유니티 게임 만들다 보면…
  7. 7. UNITY 간단한 게임이나 프로토타입 만들기엔 짱!! 하지만 정말 제대로 게임 만들다보면… 제대로 이해하고 해야 되는게 한두가지가 아님.
  8. 8. Unity – 소개
  9. 9. Unity 유니티? - 덴마크 출신의 3명의 개발자들이 개발한 게임엔진 - 사용자 친화적 인터페이스와 멀티플랫폼 지원의 용이함으로 전 세계적 으로 인기를 얻게됨 - 최근 PSP Vita, PS4용 유니티를 무료로 하는 등 매우 공격적인 활보를 보임 (2014.7. 현재까지는 US, Mexico, Central America, South America, Canada 만 지원)
  10. 10. Unity 유니티 사용자가 많은 이유 - 툴 형태로 제공되는 사용자 친화적 인터페이스 - 오픈 커뮤니티와 어셋스토어 - 비교적 저렴했던 가격(무료로도 사용 가능)
  11. 11. Unity – 개발된 프로젝트 ● 템플런 - 이만지 스튜디오(Imangi Studios)에서 개발한 무한 달리기 게임 - 전 세계 5억다운로드를 이룬 게임
  12. 12. Unity – 개발된 프로젝트 ● 쉐도우 건(Shadow Gun) - 매드핑거 개발 - 유니티의 기술력을 내세우기 위해 제작된 게임
  13. 13. Unity – 개발된 프로젝트 ● 언데드 슬레이어(Undead Slayer) - 하이디어 김동규 대표 1인 개발. - 유니티를 통한 1인 개발의 대표적인 사례
  14. 14. Unity – 개발된 프로젝트 ● 게임 외의 분야
  15. 15. Unity – 용어정리 - 씬(Scene) ▷ 게임의 장면 또는 상태를 유니티에서 관리하는 단위 ▷ 씬 관리를 통해서 게임의 레벨 및 상태를 구분 - 어셋(Asset) ▷ 엔진에서 사용되는 모든 자원(Resources) ▷ Resources : 3d model, audio, texture etc..
  16. 16. Unity – 용어정리 - 게임오브젝트(GameObject) ▷ 어셋의 기능을 처리하기 위한 오브젝트 ▷ 모든 게임오브젝트는 게임 공간상에 존재하기 위해 Transform 컴퍼넌트를 지님 - 스크립트(Script)와 컴퍼넌트(Component) ▷ 구현된 각각의 기능들을 컴퍼넌트라 호칭 ▷ 사용자들은 컴퍼넌트를 구현하고 게임오브젝트에 추가하여 기능을 동작시킴
  17. 17. Unity – 용어정리 - 프리팹(Prefab) ▷ 게임오브젝트에 구성된 기능들을 패키지화 시킨 어셋 ▷ 씬에 배치된 프리팹들은 항상 원본 데이터를 기준으로 동작하나, 필요에 따라 해당 링크를 끊을 수 있음
  18. 18. Unity – 사용자 인터페이스
  19. 19. Unity – 사용자 인터페이스
  20. 20. Unity – 사용자 인터페이스 - 씬(Scene) 뷰 ▷ 3D 세상을 편집하기 위한 편집 뷰 ▷ 오브젝트 배치, 회전, 크기 조절 등 게임을 개발함에 있어 항상 주시하게 되는 뷰 - 게임(Game) 뷰 ▷ 게임이 구성되고 최종적으로 보여지는 뷰 ▷ 이 뷰를 통해 실제 개발된 게임의 모습을 확인하거나 컨트롤이 가능
  21. 21. Unity – 사용자 인터페이스 - 계층(Hierachy) 뷰 ▷ 씬뷰 상에 배치된 수많은 오브젝트의 목록을 표시하는 리스트 뷰 ▷ 게임상의 오브젝트 관리를 용이하게 하기 위해 계층구조로 관리를 가능케 하는 뷰 - 프로젝트(Project) 뷰 ▷ 게임을 구성하는 다양한 어셋을 관리하기 위한 뷰 ▷ 유니티 엔진에서 유일하게 하드디스크와 링크된 뷰
  22. 22. Unity – 사용자 인터페이스 - 인스펙터(Inspector) 뷰 ▷ 선택된 기능 또는 게임오브젝트의 컴퍼넌트 내용을 보여주는 에디터 뷰 ▷ 코드 수정 없이 인스펙터 뷰 상에 보여지는 값을 수정하여 테스트 가능
  23. 23. Unity – 에디터
  24. 24. Unity – 에디터
  25. 25. [UNITE2014] 개발과 출시 경험에 대한 이야기
  26. 26. 이것은 단지 경험에 관한 이야기입니다.
  27. 27. 인원 : 프로그래머 2 명 2012. 2. [쉐도우진 닌자보이] 출시. 2012. 10. [셀레스티얼 리그] 개발. 2014. 2. [세이빙 몬스터즈 for AfreecaTV] 출시.
  28. 28. 강연의 목적 너무 힘들었기 때문에 이야기를 해보고 싶었습니다.
  29. 29. SAVING MONSTERS 지금부터 이 게임에 대한 개발 경험을 나누고자 합니다.
  30. 30. 게임 개발 과정 2012. 11. 개발시작 - 좋아하는 게임을 만들자
  31. 31. 게임 개발 과정 2012. 11. 개발시작 가제 – 인피니티 타워
  32. 32. 게임 개발 과정 2012. 11. 개발시작 2013. 3. 프로토 타입 완성
  33. 33. 게임 개발 과정 2012. 11. 개발시작 2013. 3. 프로토 타입 완성 2013. 4. UNITE 2013 바람 주자 3D ?
  34. 34. 우리가 만들던 것은 …
  35. 35. 게임 개발 과정 2012. 11. 개발시작 2013. 3. 프로토 타입 완성 2013. 4. UNITE 2013 2013. 5. 대격변 ! 1) 카메라 구조 변경 2) 3 Line 구성 3) 통쾌함을 주자! 4) 타워의 제거
  36. 36. 게임 개발 과정 2012. 11. 개발시작 2013. 3. 프로토 타입 완성 2013. 4. UNITE 2013 2013. 5. 대격변 ! 2013. 6. 고난(苦難)의 시기
  37. 37. 좋은 인연들을 만나다
  38. 38. 게임 개발 과정 2012. 11. 개발시작 2013. 3. 프로토 타입 완성 2013. 4. UNITE 2013 2013. 5. 대격변 ! 2013. 6. 고난(苦難)의 시기 2013. 7. 퍼블리싱 계약
  39. 39. 게임 개발 과정 2012. 11. 개발시작 2013. 3. 프로토 타입 완성 2013. 4. UNITE 2013 2013. 5. 대격변 ! 2013. 6. 고난(苦難)의 시기 2013. 7. 퍼블리싱 계약 2013. 10. FGT
  40. 40. 게임 개발 과정 2012. 11. 개발시작 2013. 3. 프로토 타입 완성 2013. 4. UNITE 2013 2013. 5. 대격변 ! 2013. 6. 고난(苦難)의 시기 2013. 7. 퍼블리싱 계약 2013. 10. FGT 2014. 2. 아프리카 TV 출시
  41. 41. 출시 직전 여유로운 시간을 즐기다 진실은 폭풍 전야..
  42. 42. 출시 직후 출시에 대한 행복감 출시 소식 전달
  43. 43. 지옥문이 열리게 됩니다..
  44. 44. 출시 직후 무한 로딩 아프리카 TV 장애/버그 신고 발췌
  45. 45. 출시 직후 무한 로딩 - 원인 1. AWS 설정 실수 2. AWS 웹 서버 재부팅을 하려 했으나..
  46. 46. 출시 직후 무한 로딩 - 대응 1. 퍼블리셔 분들을 토요일에 출근하시도록 하여 긴급 패치… 다시 한번 사과 드리며, 빠른 대응에 진심으로 감사 드립니다..
  47. 47. 발생한 문제들 메모리 치트 - 원인 1. 경험에 대한 자만 2. 예상치 못한 해킹 방식
  48. 48. 발생한 문제들 메모리 치트 - 대응 1. 치트 유저 밴 2. 치트 프로그램 리스트 갱신 3. 메모리 치트 예방책 강화 4. 서버단에서 주요 로직 처리
  49. 49. 발생한 문제들 DB 문제 - 상황 1. 한 순간 치트 유저수가 급격히 증가 2. 모든 데이터 수치가 똑같다?!
  50. 50. 발생한 문제들 DB 문제 - 사실상 가장 심각했던 문제 1. 원인 파악이 안 되는 상황…
  51. 51. 발생한 문제들 DB 문제 - 그럼 어떻게 문제를 파악했나? 1. 메모리 치트 대응 중 대화를 통한 한 순간의 번뜩임 “어?! 이거 알 것 같아!!” 사실상 운이 좋았습니다.
  52. 52. 발생한 문제들 DB 공격 - SQL Injection
  53. 53. 발생한 문제들 DB 공격 - 대응은 했지만.. 확인을 하는 과정이 어려웠다..
  54. 54. 발생한 문제들 웹 서버 파일 업로드 문제 - 파일 서버로 파일 전송시 빈 파일로 올라가는 문제발생 - 웹 서버가 제거된 상황과 동일한 상황…
  55. 55. 발생한 문제들 웹 서버 파일 업로드 문제 - 대응은? 1. 친구에게 질의
  56. 56. 발생한 문제들 웹 서버 파일 업로드 문제 - 친구의 대답 “로그를 살펴봐~” - 그리고 찾은 이상한 점 “어?!! 로그파일 용량이 6기가네?”
  57. 57. 발생한 문제들 웹 서버 파일 업로드 문제 - 원인 웹 서버 용량 초과 문제 php 에러가 지속적으로 로그를 생성
  58. 58. 발생한 문제들 렉 이슈 - 몇몇 기기에서 게임이 불가능 할 정도의 렉이 간혹 발생 - 최신 기종에서 특히 발생
  59. 59. 발생한 문제들 렉 이슈 - 원인 추정
  60. 60. 발생한 문제들 렉 이슈 - 대응 Unity 4.3 ▶ Unity 4.2 Everyplay 제거
  61. 61. 현재 평온한 상태 유지 중
  62. 62. 국내 출시로 얻은 것들 10만 이상의 다운로드 평점 4.1 BM 구조의 문제 파악 업데이트에 대한 빠른 피드백 - 약 4400개의 소중한 의견
  63. 63. 알수 없던 것들 게임의 사용자들
  64. 64. 잘못한 부분 생각지 못하게 길어진 개발 기간 3D 게임 개발 비용 산정 오류 서버 지식의 부재 BM 설계 해킹에 대한 대응 부족 팀내 아티스트의 부재
  65. 65. 앞으로의 계획 해외 출시 준비 규모에 맞는 게임 개발
  66. 66. 하지만..
  67. 67. 하지만.. 아직은…
  68. 68. Unity 2D 살펴보기 2013.12.14 초중급 게임개발자 스터디 <데브루키> 알콜코더 박민근
  69. 69. http://www.slideshare.net/gukhwanji/unity2d
  70. 70. http://www.slideshare.net/gukhwanji/unity2d
  71. 71. 근데 테스트 해본 결과 PlayMaker만큼은 못함..ㅡ.ㅡ;; 애니메이션 State만 제어 가능 할 뿐.. http://www.slideshare.net/gukhwanji/unity2d
  72. 72. 1.2D Project의 생성 2.2D Sprite Resource 3.Sprite Slice 4.Sprite 애니메이션 5.2D 스켈레톤 애니메이션 6.Animator 7.2D 피직스 컴포넌트 (물리 충돌)
  73. 73. 시연과 동영상 위주 입니다. ^^~~
  74. 74. http://www.youtube.com/watch?v=B1F6fi04qw8&list=PL8F6B414B065FDE58&index=19
  75. 75. http://www.youtube.com/watch?v=ksoGW2 j2E0Q&list=PL8F6B414B065FDE58&index =18
  76. 76. 1.2D Project의 생성 2.2D Sprite Resource 3.Sprite Slice 4.Sprite 애니메이션 5.2D 스켈레톤 애니메이션 6.Animator 7.2D 피직스 컴포넌트 (물리 충돌)
  77. 77. 2D 프로젝트의 생성
  78. 78. Scene – 2D Mode 버튼 추가 • Scene View를 2D 모드로 고정 • 무브툴을 2D 이동으로 변경 • Picking이 알파 기반으로 동작 • Sprite를 씬에 끌어다 놓으면, 새로운 GameObject 생성
  79. 79. 2D 스프라이트 리소스
  80. 80. 2D 스프라이트 렌더러
  81. 81. 스프라이트 에디터 Texture Atlas를 관리하고, 각각의 스프라이트로 Slice 한다
  82. 82. 스프라이트 에디터
  83. 83. 스프라이트 에디터 - Slice Atlas를 각각의 스프라이트로 자른다. 크기를 설정할 수 있다. 중심 위치(Pivot) 설정. Trim을 이용해서 자동 설정 가능!! Wow!~!~!
  84. 84. 스프라이트 에디터 – Auto Slice
  85. 85. 스프라이트 Slice Slice 된 스프라이트는 따로 사용 할 수 있고, 애니메이션으로 사용할 수 있다.
  86. 86. 2D 애니메이션
  87. 87. http://www.slideshare.net/gukhwanji/unity2d
  88. 88. http://www.slideshare.net/gukhwanji/unity2d
  89. 89. http://www.slideshare.net/gukhwanji/unity2d
  90. 90. 스프라이트 애니메이션 표준 도프 시트(dope Sheets) 모양으로 애니메이션을 설정 스프라이트 체인지, 이동, 회전등 모든 속성을 변경하여, 애니메이션 가능
  91. 91. 스프라이트 애니메이션 여러 개의 스프라이트를 선택 후, 씬에 끌어다 놓으면, 스프라이트 애니메이션 자동 생성!!
  92. 92. 스켈레톤 애니메이션 앞의 Unite 2013 2D Workflows 동영상 참조
  93. 93. 2D Physics
  94. 94. Animator http://www.slideshare.net/gukhwanji/unity2d
  95. 95. Animator http://www.slideshare.net/gukhwanji/unity2d
  96. 96. Animator http://www.slideshare.net/gukhwanji/unity2d
  97. 97. Animator http://www.slideshare.net/gukhwanji/unity2d
  98. 98. Animator 각 상태(State) 애니메이션 세트를 정의 각 상태의 변경 조건을 정의 한다
  99. 99. 간단한 Unity 2D 프로젝트 샘플 트리거 이벤트 트리거 이벤트 트리거 발동 -> State 변경
  100. 100. 간단한 Unity 2D 프로젝트 샘플 http://agebreak.url.ph/Bin.html
  101. 101. 간단한 Unity 2D 프로젝트 샘플 http://agebreak.url.ph/Puyon_Web.html
  102. 102. Unity2D의 장점 • 추가 플러그인(2D ToolKit)의 구입 없이, 2D 게임 개발 가능 • 유니티의 기능이기 때문에, 완벽하게 유니티와 통합 • 2D Physics 가 유니티 자체에서 잘 지원 되어 있음 • Sprite의 관리가 용이함 (Sprite Editor, Sprite Packer) • 현재로서는 버그가 좀 있긴 하지만, 앞으로 발전 가능성
  103. 103. 참고자료 • Unity2D 소개(KGC13)_지국환 http://www.slideshare.net/gukhwanji/unity2d • Unity2D Workflowhttp://www.youtube.com/watch?v=B1F6fi04qw8&list=PL8F6B414B065FDE58&index=19 • Unity2D 튜토리얼(한글 자막) http://www.youtube.com/watch?v=ksoGW2j2E0Q&list=WL60F612FCDB928D04 • 유니티 4.3 릴리즈 노트 http://korea.unity3d.com/content/content.php?cont=new_unity10 • Unity2D 샘플 1 (by 알콜코더) http://agebreak.url.ph/Bin.html • Unity2D 샘플 2 (by 알콜코더) http://agebreak.url.ph/Puyon_Web.html
  104. 104. http://www.slideshare.net/MrDustinLee/ss-27739454
  105. 105. FSM/AI 등을 에디터에서 드래그&드랍만으로 제작할 수 있는 비주얼 스크립팅 애드온
  106. 106. 어떤 물건인지.. 보고 이야기 합시다~
  107. 107. 이걸로 뭘 할 수 있을까요?
  108. 108. 어디 한번 배워봅시다
  109. 109. 주요 개념 • FSM • STATE • ACTION • EVENT & TRANSITION • VARIABLE
  110. 110. FSM
  111. 111. FSM • GameObject에 부착되는 PlayMaker 컴포넌트 • PlayMaker Browser에서 FSM을 마우스 우측클릭으 로 생성하면 자동으로 생성된다. • 한 FSM내에 여러 스테이트와 Action들을 정의한다
  112. 112. FSM • 한 오브젝트내에 복수개의 FSM 컴포넌트 생성 가능 • 각가의 FSM이 일종의 레이어처럼 사용 할 수 있다. • FSM 1 – 캐릭터의 상태 변화 제어 • 축소, 확대, 변신, 무적… • FSM 2 – 캐릭터의 행동 변화 제어 • 이동, 달리기, 점프, 공격…
  113. 113. STATE (1)
  114. 114. STATE (2)
  115. 115. STATE • 오브젝트의 각 상태를 정의한다 • IDLE, 이동, 점프, 공격, 피격, 죽음… • 각 상태는 그 상태에서 작동하는 Action들을 추가할 수 있다. (상태에 따라 Action이 없을 수도 있다) • 설정된 EVENT가 발생하면, 다른 State로 전이 (Transition)한다.
  116. 116. ACTION
  117. 117. ACTION • State안에 설정된 실제 작동하는 행동 • 텍스쳐 변경, 마우스 클릭, 오브젝트 이동 및 회전등 모든 기본적인 100여개가 넘는 Action들이 제공 된다. • 게임에 맞는 Custom Action을 쉽게 제작하여 추가할 수 있다.
  118. 118. ACTION • 복잡한 게임에서 프로그래머의 역할은 Custom Action을 코딩하여 제작하여 넘겨주면, 다른 개발자들 이 사용할 수 있다. • Action은 전부 C#코드로 되어 있고, 소스가 포함되어 있기 때문에, Action들의 코드만 봐도 유니티의 기본 스크립트들을 참고할 수 있는 최고의 예제 코드가 된 다.
  119. 119. EVENT
  120. 120. EVENT • 각 스테이트에서 정의한 이벤트가 발생하면, 그 이벤 트에 연결된 스테이트로 전이된다. • 이벤트는 기본적인 시스템 이벤트도 있고, Event Browser를 통해서, 커스텀 이벤트를 추가할 수 있다. • 커스텀 이벤트는 FSM 제어에 따라서 호출할 수 있다.
  121. 121. Variable
  122. 122. Variable • FSM에 체크등에 사용되는 변수들을 추가하고, 정의 할 수 있다. • 오브젝트를 체크할때 사용하는 GameObject 변수 • 위치와 방향들 – Vector 변수 • String, Int, Texture 등의 변수를 모두 추가하고 사용할 수 있다.
  123. 123. 실제 사용예 : 인체 전시전
  124. 124. 실제 사용예 : 인체 전시전
  125. 125. 실제 사용예 : 피격 상태
  126. 126. PlayMaker 정리
  127. 127. PlayMaker 정리 : 단점
  128. 128. PlayMaker 홈페이지
  129. 129. PlayMaker Youtube 채널
  130. 130. Q & A

×