유니티(Unity) 17

2D 게임 만들기 (2) Animator, 유한 상태 머신 사용하기

이번 포스팅에서는 Animator 창에서 유한 상태 머신을 이용해보겠습니다. 유한 상태 머신(Finite State Machine)이란 유한(Finite)한 수의 상태(State)가 있고, 한 번에 한 상태만 되도록 설계하는 방법입니다. 유한 상태 머신에서는 특정 상태에서 다른 상태로 전이(Transition)하여 현재 상태를 전환합니다. 위의 상태도를 보면 정지, 달리기, 점프가 유한한 수의 상태(State)들이고, 그 사이를 잇는 화살표가 전이(Transition)와 그 조건을 나타냅니다. 이제 직접 상태도를 구현해봅시다. 이전에 자동으로 생성된 Player의 Animation Controller를 더블클릭해줍니다. 그러면 Animator 창에서 위와 같은 모습을 볼 수 있습니다. 초기의 상태도에서 ..

2D 게임 만들기 (1) 에셋 가져오기, 애니메이션 준비

이번 포스팅부터는 간단한 2D 게임을 제작해보려고 합니다. 우선 에셋을 가져와볼 건데요. assetstore.unity.com/packages/2d/characters/sunny-land-103349 Sunny Land | 2D 캐릭터 | Unity Asset Store Elevate your workflow with the Sunny Land asset from Ansimuz. Find this & more 캐릭터 on the Unity Asset Store. assetstore.unity.com 유니티 에셋 스토어에서 이쁜 에셋이 있어서 이걸로 가져와 보겠습니다. 스토어와 유니티에 로그인을 하시고, 내 에셋에 추가하기를 하고, Unity에서 열기를 하면, 프로젝트에서 패키지 매니저가 뜨고, 지금까지 ..

유니티 개발 공부(5) 게임 오브젝트 움직이기

이번 포스팅에서는 컴포넌트를 직접 만들어서, 게임 오브젝트를 움직여보겠습니다. 우선 프로젝트 창에서 마우스 우클릭으로 Create -> Folder로 Scripts라는 폴더를 Assets 폴더 아래 만들고, Create -> C# Script로 MovingCube라는 스크립트를 Scripts폴더에 만듭니다. 전에 만들었던 큐브 오브젝트를 클릭하고, 인스펙터 창의 제일 아래에 Add Component 버튼으로 MovingCube스크립트를 추가해 봅시다. 스크립트를 프로젝트 창에서 드래그&드롭으로 추가 할수도 있습니다. 만들어진 MovingCube스크립트를 더블클릭하면, Visual studio가 켜지면서 편집(코딩)할 수 있게 됩니다. ※주의사항 유니티 에디터 상에서 보이는 스크립트의 이름과 편집기(ex...

유니티 개발 공부(4) 컴포넌트, 동작 원리

이번 포스팅에서는 에디터 상에서 컴포넌트가 어떻게 보이는지, 그리고 유니티의 대표적인 컴포넌트의 기능과 동작 원리에 관해 설명하겠습니다. whiny.tistory.com/3?category=980350 유니티 개발 공부(2) 유니티 인터페이스 이번 포스팅에서는 유니티 인터페이스에 대해 설명하겠습니다. 처음 프로젝트를 열면 위와 같은 모습의 인터페이스를 하고 있습니다. 현재 레이아웃은 Default를 사용하고 있는데, 우측 상단에서 whiny.tistory.com 우선 유니티 인터페이스 포스팅에서 씬에 큐브 하나를 추가했었습니다. 인스펙터 창에서 큐브가 어떤 컴포넌트로 구성되어있는지 확인할 수 있습니다. Transform, Mesh Filter, Mesh Renderer, Box Collider 이렇게 4..

유니티 개발 공부(3) 컴포넌트

컴포넌트를 설명하기 앞서 상속(Inheritance)에 관해 간단히 집고 넘어가겠습니다. 상속은 기존에 만들어진 클래스에 새로운 코드와 기능을 덧붙여 새로운 클래스를 만드는 방법입니다. 여기서 기존에 만들어진 클래스를 부모 클래스, 상속받아 확장한 클래스를 자식 클래스라고 합니다. 아래 예시를 보겠습니다.(게임 오브젝트라고 가정하겠습니다.) 생명체라는 클래스를 상속받아서 사람과 나무라는 자식 클래스를 구현하였습니다. 이런 식으로 부모 클래스에서 자식 클래스에 공통적으로 필요한 기능을 구현하여 코드의 재사용이라는 측면에서 상속은 굉장히 편리하고 좋습니다. 하지만, 나중에 구현할 자식 클래스에 무엇이 필요한지 처음부터 정확히 추측하여 부모 클래스를 구현하는 것은 굉장히 어렵습니다. 자식 클래스가 부모 클래스..

유니티 개발 공부(2) 유니티 인터페이스

이번 포스팅에서는 유니티 인터페이스에 대해 설명하겠습니다. 처음 프로젝트를 열면 위와 같은 모습의 인터페이스를 하고 있습니다. 현재 레이아웃은 Default를 사용하고 있는데, 우측 상단에서 원하는 레이아웃을 설정할 수 있습니다. 자신에게 편한 레이아웃을 사용하거나, 직접 레이아웃을 만들어 저장해서 사용할 수도 있습니다. 드래그 앤 드롭, 클릭 등으로 자신이 원하는 데로 레이아웃을 바꿔보세요!! 우선 설명하기 편하게 2 by 3의 레이아웃으로 두겠습니다. 1. 씬(Scene) 창 - 게임 월드인 신을 시각적으로 편집하는 창 2. 게임(Game) 창 - 플레이어가 실제로 보게 되는 화면을 보여주는 창 3. 하이어라키(Hierarchy) 창 - 씬에 존재하는 모든 게임 오브젝트가 나열되는 창 4. 프로젝트(..

유니티 개발 공부(1) 프로젝트 준비

현재 유니티 개발자로 취업 준비를 하면서 기본기를 더 탄탄하게 하기 위해 처음부터 정리를 해보려고 합니다. unity.com/kr 유니티 - Unity Unity is the ultimate game development platform. Use Unity to build high-quality 3D and 2D games, deploy them across mobile, desktop, VR/AR, consoles or the Web, and connect with loyal and enthusiastic players and customers. unity.com unity3d.com/kr/get-unity/download Download Unity! Unity is the ultimate game d..