• Like
  • Save
Unity3D - 툴 사용법
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Unity3D - 툴 사용법

  • 3,041 views
Published

 

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,041
On SlideShare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
0
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • \n
  • 유니티3D 툴의 기본 기능을 알아보자.\n실습을 진행할 버젼은 Unity3D 3.4.2버젼으로 Pro License를 획득한 버젼이다.\n자료 작성일 기준으로 최신버젼이며, 웹사이트에서 다운로드 받을 수 있다.\n웹사이트에서는 다양한 기능이 추가된 3.5 메이저 업데이트 버젼의 엔진 테스트 버젼 역시 다운로드 받을 수 있다.\n베타 버젼이라도 이번 실습을 진행하는데는 문제가 없다.\n
  • 본 스터디의 목자는 유니티스터디라는 사이트에 있는 기초 강좌의 커리큘럼을 참고하였다.\n목차에서 소개한 기능을 학습한다면 다음 주 부터 유니티 툴 중급 강의를 함께 할 수 있다.\n여타 샌드박스와 유사한 메뉴 형태를 지니고 있다. 흔히 이야기하는 수십억대의 고급엔진인 언리얼엔진, 크라이엔진과 빗데어 손색이 없을 정도의 막강한 기능을 가지고 있다. 비교적 낮은 가격의 엔진임에도 잦은 업데이트와 버그픽스 그리고 서드파티군의 라이브러리와도 통합이 수월한 것이 유니티엔진의 최대 장점인 것 같다. 모바일게임을 개발할 때 유니티엔진 다음으로 자주 사용되는 코코스2d 엔진과 비교해보겠다. 본인은 코코스2d엔진을 대략 1년간 사용하였다. 풀소스가 제공되며, 지난 해 부터 멀티플랫폼 개발엔진을 표방하며 iOS 이외의 플랫폼에 대한 지원이 진행되고 있다. 툴적인 기능이 거의 제로에 가까워 유니티에 비해 사용성이 굉장히 떨어지나 최소한의 기능을 가지고 있고, 네이티브 코드를 사용해 개발이 진행되는 관계로 유니티에 비해 퍼포먼스가 좋은 편이다.\n
  • 하나의 게임에 하나의 프로젝트가 사용된다. 프로젝트는 여러개의 Scene으로 구성이 가능하다.\n프로젝트는 폴더로 관리가 되며, 특별한 확장자를 가지고 있진 않다.\n파일>New Project를 선택하면 화면 우측에 있는 창이 팝업된다. 상단에 프로젝트의 디렉토리명을 입력을 하자.\n다시 한 번 이야기하자면 프로젝트는 단일 파일이 아닌 폴더로 관리된다.\n프로젝트 명을 입력했으면 해당 프로젝트에서 사용할 기본 리소스 패키지를 선택할 수 있다.\n이 곳에서 패키지를 선택하지 않았다고 해서 큰 일이 나는 것은 아니니 선택을 하지 않은 상태에서 Create Project를 눌러준다.\n패키지와 Import는 다시 설명을 하도록 하겠다.\n유니티의 멀티플랫폼 개발엔진의 특성상 한글, 띄어쓰기는 되도록 피하고, 대소문자에 주의를 기울이자.\n프로젝트를 생성하고 폴더를 살펴보자. Asset폴더와 Library폴더, Temp 폴더가 생성된 모습을 볼 수 있다.\n참고로 게임에서 사용되는 모든 리소스는 Asset폴더 하위에 관리되어야 한다.\n
  • 프로젝트를 생성하면 기본 화면을 만날 수 있다. 이때 저장되지 않은 Scene이 생성이 되어있는 상태이다.\n앞으로 작업을 하기에 앞서 Scene을 저장하도록 하자. File>Save Scene버튼을 누르면 우측의 프로젝트 창에 Scene이 생성된 걸 확인 할 수 있다. 추가로 Scene을 하나 더 만들어 보도록 하자. 이 상태에서 File>New Scene을 클릭하자. 화면에 변화를 감지할 수 있는 오브젝트가 없어 Scene이 생성되지 않은 것 처럼 보인다. 이 상태에서 File>Save Scene을 클릭하면 우측의 프로젝트창에 Scene이 추가된 것을 확인 할 수 있다.\n프로젝트 패널에서 Scene을 더블클릭하면 Scene Panel에서 편집을 할 수 있다. 현재 편집하고 있는 Scene의 이름이 툴 상단에 표기된다.\n
  • 하이라키. 계층구조라 한다. 현재 편집하고 있는 Scene에 GameObject가 어떤 계층구조를 가지고 배치되어 있는지 알 수 있다.\n하이라키 패널이 보이지 않는다면 Window>Hierarchy 메뉴를 클릭하여 나타나게 할 수 있다.\n하이라키 사용법을 알아보기 위해 게임오브젝트를 현재 Scene에 추가해보자. 상단의 GameObject>Create Other>Cube를 클릭하자. 하이라키에 Cube가 추가 된 것을 확인 할 수 있다. 동일한 방법으로 박스 하나를 더 추가하자.\n하이라키 패널에 Cube가 2개 생성되어 있다. 하이라키에서 오브젝트를 클릭하면 Scene Panel에 표시가 된다. 더블클릭을 하거나 선택된 상태에서 “F”키를 누르면 카메라가 선택된 오브젝트까지 이동한다.\n이름 부분을 클릭하면 이름을 바꿀 수 있고, 오브젝트를 선택한 후 다른 오브젝트로 드래그하면 하위노드로 이동시킬 수 있다.\n게임 개발이 진행되어 하이라키 패널에 오브젝트의 수가 많다면 Search 검색을 이용할 수 있다.\n당연한 이야기지만 delete키를 눌러 삭제할 수 있다. Ctrl+C/V 버튼을 통하여 Copy/Paste를 할 수 있으며, 마우스 우클릭 후 나타나는 메뉴를 통해 언급한 기능들을 수행할 수 있다.\n다음 진행을 위해 오브젝트를 카메라에 나올 수 있도록 위치를 조정하자.\n
  • 크라이엔진, 언리얼엔진 모두 에디터상에서의 미리보기 기능을 지원한다.\n해당 기능은 생산성과 개발자-기획자-디자이너간 협업을 하는데 있어 중요한 기능이다.\n상단에 있는 플레이버튼/포즈버튼을 통해서 플레이 시킬 수 있다.\n동일하게 작동한다. 이때 주의할 점은 에디터에서 게임뷰의 퍼포먼스를 맹신하지 말라는 것이다.\n아직까지 모바일과 PC의 성능 차이는 상당하다. 게임뷰에서 잘 돌아가던 것이 디바이스에 넣었더니 프레임이 안 나올 수 있다.\n개발 초기에 이러한 사실을 명심하고 자주 디바이스에 올려 테스트하도록 하자.\n추가적으로 게임을 플레이하는 상태에서 Scene Panel을 보자. 이동툴을 이용하여 박스를 선택할 수 있다. 실제 움직여보면 게임뷰 상에서 사라지게 된다. 화면 밖으로 이동 시킨 상태에서 게임을 중지 시키면 박스가 제자리로 돌아오는 것을 확인 할 수 있다. 플레이 상태에서 게임오브젝트를 애써 편집하다가 재작업하는 수고가 생길 수 있다. 조심하자.\n추가적으로 Maximize를 클릭하여 플레이시 전체 화면으로 바꿔줄 수 있다. 그리고 좌측 상단에 있는 메뉴를 통하여 뷰 크기를 조정할 수 있다.\n\n\n
  • 프로젝트에서 사용되는 모든 리소스가 출력된다. 프로젝트는 폴더로 관리되며 프로젝트 폴더 중 Asset에 있는 모든 데이터가 이 곳에 노출된다. 탐색기나 파인더를 통하여 폴더 혹은 데이터를 생성할 경우 유니티에 자동으로 반영된다. 프로젝트 패널에 우 클릭을 하면 위와 같은 팝업메뉴가 나타난다. 하나 하나 기능을 살펴보도록 하겠다.\nCreate는 리소스를 생성할 때 사용한다. 폴더, 스크립트, 메터리얼, 프리팹, 애니메이션 등 유니티에서 사용되는 모든 리소스를 이 메뉴를 통해 생성하게 된다. Reveal in Finder 혹은 Show in Explorer의 경우 탐색기나 파인더로 선택된 리소스를 볼 수 있다. open, delete는 리소스를 열거나 삭제할 때 사용된다. import와 export는 다른 챕터에서 자세히 알아보도록 하자.\n
  • 게임의 구성단위. 모든 게임오브젝트는 위치, 크기, 회전값을 가지고 있다. 하이라키 이외에도 태그와 레이어로 계층구조를 나눌 수 있다. 이미 만들어져 있는 기본 오브젝트를 쓰는 상황보다 Create Empty를 통해 빈 오브젝트를 생성하고, 컴포넌트를 추가하여 구성하는 경우가 더욱더 빈번하다. 유니티 좌측 상단에 있는 컨트롤키를 통하여 위치, 크기, 회전을 시킬 수 있다. Scene Panel상에서 GameObject를 선택하면 우측의 Inspector창에 GameObject의 세부 정보를 확인 및 편집을 할 수 있다. Create Other>Cube를 통해 생성한 GameObject를 Create Empty로 만든 GameObject와 비교해보자. Mesh와 Collider, Renderer가 추가되어 있는 것을 확인 할 수 있다. 이를 컴포넌트라 하는데 다음장에서 자세히 알아 볼 것이다. \nInspector를 통하여 GameObject의 이름을 바꾸고, 옵션을 조절 할 수 있다. 체크 박스는 GameObject의 Active상태를 나타내며, 언체크시 화면에 렌더링되지 않는다. Static의 경우 링크를 참고하자. 메모리와 퍼포먼스에 영향을 주는 옵션이다. \n
  • 게임오브젝트의 속성의 기본단위이다. Component메뉴를 확인해보면 다양한 속성이 있다. GameObject가 선택되어 있지 않은 상태에서 Component는 활성화되지 않는다. GameObject를 선택하고 Component메뉴를 다시 확인해 보면 Component가 활성화 되는 것을 확인할 수 있다. Empty GameObject를 만들고, Mesh Filter와 Mesh Renderer를 추가해보자. Mesh와 Material을 연결하여 Cube를 만들 수 있다. GameObject에 있는 다양한 값들은 특별한 것이 아니고 프리셋이다. Empty GameObject와 Componet의 조합으로 만들어 진 것을 확인할 수 있다. Componet를 추가하는 방법은 리소스를 직접 Inspector창으로 드래그하는 방법도 있다. 이러한 방법을 이용하여 스크립트를 추가해보자.\n
  • Asset Store의 사용법을 알아보자. 우리가 만든 프로젝트를 Package로 Export, Import하여 Asset의 사용법을 익히자.\n우선 Asser Store를 알아보자. 유니티의 장점 중 하나가 프로젝트의 쉬운 통합이다.\n프로젝트는 폴더로 관리되나 Export라는 메뉴를 통하여 Package로 추출할 수 있다.\n추출된 Package는 더블클릭만으로 프로젝트에 손쉽게 추가할 수 있다.\nAsset Store는 유저들이 올린 패키지 리소스를 포함하여, 사운드, 이미지 등 다양한 아이템을 유료 혹은 무료로 판매 혹은 구매할 수 있는 곳이다. 필요한 것들을 찾아보자. 저는 우선 우측 하단에 있는 Top Paid에 랭크되어 있는 iTween이라는 패키지를 다운로드 받겠다. 회원가입이 되있어야 가능하다. 다운로드가 완료되면 Importing Package라는 창이 자동으로 뜬다. Import를 클릭하면 현재 개발되고 있는 프로젝트에 자동으로 머지된다.\n다른 사람과 협업하고 있는 도중 위에서 살펴본 Export기능을 이용하면 버젼관리툴을 사용하지 않다 하더라도 쉽게 소스 통합이 가능하다. 프로젝트 패널에서 export할 리소스를 다중 선택한다. 마우스 우클릭 후 Export Package를 클릭하면 파일로 추출할 수 있다. 유니티에서 협업은 1문제만 빼고 손쉽게 해결된다. 바로 유니티 파일이 바이너리로 구성되어 있어, SVN을 사용한다 하더라도 버젼관리가 되지 않는다. 다수의 인원이 프로젝트를 진행 할 때 바로 이러한 문제로 동일한 시간에 1명의 인원이 해당 파일에 접근하여 수정하고 커밋하는 것으로 권장하겠다.\n
  • 모바일에서는 사용하지 말자. PC에서도 많은 양의 연산이 필요하다. 모바일에서는 퍼포먼스에 극악이다. 퍼포먼스 극복을 위해 Lightmap이라는것을 이용해서 구성할 수 있다. 언리얼엔진 역시 실시간 광원은 사용제한이 있다. 주로 많은 양의 리소스를 통하여 광원을 표현한다. 모바일 프로젝트를 진행한다면 되도록 광원을 사용하지 말고 리소스를 통해서 해결하자. 현재 버젼의 경우 그림자 효과도 지원하지 않는다. 간단히 살펴보면 위와 같다. GameObject의 Create Other를 선택한다. 메뉴에 있는 광원 오브젝트를 선택하는 것 만으로도 장면에 배치할 수 있다. 다른 오브젝트와 마찬가지로 이동, 회전, 크기의 변환이 가능하다.\n
  • 컬링. 퍼포먼스 향상. 2D게임 개발을 위한 카메라 세팅에 대하여 알아보자.\n화면에 출력되는 것은 모두 카메라를 통해 보여지게 된다.\n카메라 기능 중 가장 중요한 것은 컬링이다. 퍼포먼스와 직결되기 때문이다.\n퍼포먼스에 영향을 주는 것은 3가지로 분류할 수 있다. 메모리, CPU 그리고 렌더링.\n레이어를 통한 오브젝트의 관리는 퍼포먼스에 영향을 주는 요소 중 렌더링에 직접적으로 영향을 준다.\n2d 카메라를 사용할 때는 퍼스펙티브보다는 orthographic 카메라를 사용하자. 거리에 따라 크기가 달라지지 않기 때문에\n2d 표현에 적절하다. 클리핑 플랜과 필드오브뷰 컬링마스크에 대해서 더 알아보자.\n
  • \n
  • \n

Transcript

  • 1. Unity3DDeveloperNetwork Unity3D
  • 2. Unity3D 목표•Unity3D툴의기본사용법을익혀보자.(Unity3DPro3.4.2)
  • 3. Unity3D 목차•Projects•ScenePanel•Hierarchy•GameView•ProjectPanel•WhatisaGameObject•Components•ImportinganAsset•Lights•CameraBasics
  • 4. Unity3DProject•여러개의Scene으로구성가능한관리및개발단위
  • 5. Unity3DScenePanel •게임속월드,장면을편집하는패널
  • 6. Unity3DHierarchy •게임오브젝트의계층구조
  • 7. Unity3DGameView •선택된Scene이플레이되면어떤상태인지궁금할때
  • 8. Unity3DProjectPanel •프로젝트에사용된리소스탐색기
  • 9. Unity3DGameObject •게임의구성단위
  • 10. Unity3DComponent •GameObject의속성
  • 11. Unity3DImportAsset •AssetStore와Package
  • 12. Unity3D Light•광원.DirectionalLight,SpotLight,PointLight
  • 13. Unity3DCamera•게임화면에보여지는것은모두카메라를통해비춰진다.
  • 14. Unity3DQ&A
  • 15. Unity3D윤경옥010-7385-0918okieyun83@gmail.com@okieyun Thanksyou:)