유니티 엔진은 stage를 scene 단위로 관리한다. Project 창은 windows의 파일탐색기라고 보면 된다.\[Assets]->\[Scenes] 폴더에 들어가면 기본적으로 생성된 SampleScene.unity 파일이 있을 것이다.이 \*.unity 파일이 하
project 창에서 우클릭 후 \[Create]->\[C필자의 경우 실행 시 Visual Studio에서 디버깅 및 실행에서 "연결" 이라고 써있는 것이 보일 것이다. 이는 Unity와 Visual Studio가 연동이 되지않아서 발생하는 오류로 Unity 엔진에 들
싱글톤 패턴이란 프로그램 상에서 유일하게 하나의 객체만 존재하게끔 하여, 모든 곳에서 이 객체를 사용하게끔 이용하는 것이다.그런데 Unity의 특성 상 MonoBehavior를 갖고있어야지 컴포넌트로서 update와 같은 행동을 할 수있다.그래서 일반적인 C하이러키창에
유니티의 모든 GameObject는 기본적으로 Transform 컴포넌트를 갖고 있다.보면 Position, Rotation, Scale을 갖고있는데 모두 Vector3 클래스를 갖고있다.(정확히는 Rotation의 경우 Querternion을 갖고있다.)https&#
Player의 Input에 대한 반응을 Update() 함수에 몰아서 작성했다.이는 가독성 면에서 좋지 않다.따라서 Input Manager를 이용해가지고 극복할 것이다.Input Manager를 만들기 이전에 설계를 해보자.1\. Manager Script의 Upda
Hierarchy에 있는 GameObject를 Project란에 드래그로 올리면 Prefab으로 생성이 된다. Prefab은 간단히 말하면 클래스 같은 것이고, Hierarchy에 있는 것은 Instance라고 보면 된다. 즉, 틀을 저장한다고 생각하면 된다. 같은
유니티에서 충돌을 표현하는 방법은 주로 2가지이다.1\. Rigidbody Component와 Collider Component의 조합을 이용한 충돌2\. RayCast를 이용한 충돌먼저 1번부터 확인하겠다.Rigidbody Component는 물리 시뮬레이션을 통한
유니티에서 충돌을 표현하는 방법은 주로 2가지이다.1\. Rigidbody Component와 Collider Component의 조합을 이용한 충돌2\. RayCast를 이용한 충돌Rigidbody&Collider Component가 물리연산을 통해서 실제 부딛치는걸
카메라가 캐릭터를 따라오게끔 만들겠다.먼저 Camera Script를 만든다.그리고 Player란 Tag를 만들고 Player에게 Tag를 달아주자.먼저 LateUpdate는 모든 게임 오브젝트가 Update 함수 호출 후에 호출하는 함수이다.이 함수를 사용한 이유는
애니메이션 관련 컴포넌트는 총 2가지 있다.1\. 레거시 애니메이션으로 Animation Component를 붙이면 되고, 예전에 사용하던 방식으로 최근에는 사용하지 않는다. 단지 호환성 문제로 아직 존재한다.2\. 메카님 애니메이션으로 Animator Componen
모든 UI 요소는 Canvas 안에 위치해야 한다. 캔버스는 Canvas 컴포넌트가 있는 게임 오브젝트이며 모든 UI 요소는 반드시 어떤 캔버스의 자식이어야 한다.Canvas는 여러개 존재할 수 있다.Canvas는 메시징 시스템을 돕기 위해 EventSystem 오브젝
Scene은 게임의 오브젝트가 포함되어있다. 각 씬에는 환경과 장애물, 장식을 배치하고 게임을 세세하게 디잔인하고자 한다.우리는 이러한 씬을 코드를 통해서 옮겨다닐라고 한다.Scene을 변경하는 것은 이미 Unity에서 모두 구현되어있다.SceneManager (Uni
유니티에서 오디오는 오브젝에 첨부된 Audio Source Component로 부터의 사운드가 필요하고, 이를 들을 Audio Listener Component가 필요하다.Audio Listener Component는 주로 카메라에 부착시키며 AudioListener는
매번 GameObject를 생성하고 지우는 것은 큰 비용을 발생시킨다.이를 해결하기위해서 Object Pool을 이용한다. Object Pool은 미리 특정 객체를 여러개를 만들어놓고서 필요할 때 미리 만들어놓은 객체를 넘겨주고, 객체를 다쓰면 삭제하지 않고 다시 Ob
Unity의 코루틴이기 이전에 코루틴은 C그래서 C먼저 우리는 Cunsing System.Collections는 IEnumerable, IEnumerator를 상속받아 구현되었다.각각의 인터페이스를 상속하면 구현되어야 하는 메서드들이 존재한다.MoveNext() : 다
유니티엔진에서 하드코딩을 통해서 데이터를 저장할 수 있다. 하지만 이는 매우 비효율적이다. 일단 유지보수 측면에서 어려우며, 프로그래머가 아니면 작업하기 힘들다. 그렇기 때문이 이를 해결하고자 우리는 json 형태의 파일로 데이터를 저장해서 불러올 것이다.여기서 jso
내비메시(NavMesh)는 게임 월드에서 걸을 수 있는 표면을 뜻한다. 내비 메시를 사용하여 게임 월드 안에 움직일 수 있는 한 위치에서 다른 위치로 이동할 수 있는 경로를 찾을 수 있다.내비메시 에이전트(NavMesh Agent) 컴포넌트를 사용하여 각자의 목적지로
각 부서에 따라서 작성하는 Game Design Document는(이하 GDD) 다르다.각 부서에 맞게 설명하겠다. 해당 내용들은 매우 생략되어서 작성되었음을 미리 공지한다.일반적으로 GDD 작성하기 위해서는 다음과 같은 것이 포함되어야 한다. • 요약 : 게임 컨셉,