목록게임프로그래밍/Unity (6)
bdfgdfg
게임에서는 스탯과 같은 수치와 관련된 데이터를 따로 관리하게 된다. 여기서 따로 관리하는 방식은 보통 Json,XML을 사용하게 된다. public class DataManager { public void Init() { } } 데이터를 관리하는 매니저 클래스를 만들어주고, 전체 매니저를 관리하는 클래스에서 생성한뒤. Init함수를 호출해준다. 우선 Json과 XML이 데이터를 관리하는 방식을 보면 위와 같은 방식으로 관리를 하고 있다. Json을 만드는 방법은 간단하다. 위와같이 처음에는 txt로 만들고나서. 확장자명을 json으로 바꾼다. 바꾸고 난후 유니티로 돌아가 json파일을 더블클릭해 열어보면 비쥬얼 스튜디오창에서 열리게 된다. 간단하게 데이터를 표현해보면 { "stats": [ { "leve..
Coroutine 함수의 상태를 저장/복원 가능. 엄청 오래걸리는 작업을 잠시 멈추거나, 원하는 타이밍에 함수를 잠시 멈추고 복원하는 경우에 사용가능하다. return값을 IEnumerator로 하는데 어떠한 타입도 return이 가능하다. 기본적인 사용법 // 인터페이스 IEnumerable을 추가. public class TestCoroutine : MonoBehaviour, IEnumerable { public IEnumerator GetEnumerator() { yield return 1; } } 매우 많은곳에서 응용이 가능하지만, 게임에서 예로들어보면 스킬사용에 대해서도 코루틴을 사용할 수 있다. 스킬하나를 사용하고 대기시간이 4초. 이럴때에도 코루틴을 응용할 수 있다. using System...
Unity의 Animation은 Animator 컴포넌트를 통해 사용가능. Animator에 애니메이터 Controller를 넣어줘야하고. 또 플레이어가 어떻게 애니메이션을 할지 컨트롤러에서 설정해줄 수 있다. 위와같이. 애니메이션을 넣어줄 수 있는 베이스 레이어가 존재하고. Entry는 시작부분. 처음에는 Run이란 애니메이션과 연결되어있으니 RUN 애니메이션을 진행. 하지만 RUN애니메이션만 진행할것은 아니기에. 애니메이션을 적절히 섞을 수 있는 Blend Tree를 이용. 블렌드 트리를 만들어주고 해당 노드가 만들어지면 더블클릭해 블렌드 트리에 넣을 애니메이션을 설정할 수 있는데. RUN과 WAIT애니메이션을 두개 사용한다고 할 때, 파라미터를 float으로 넣어주고 WAIT은 0, RUN은 1이라..
World 좌표계 vs Local 좌표계 World 좌표는 세상(유니티 Scene안의 세상)을 중심으로의 위치를 의미. Local 좌표는 어느 오브젝트를 기준으로 한 좌표. 여기에 Screen(스크린) 좌표도 추가가 되는데. 우리가 화면에서의 좌표는 x,y 좌표밖에 존재하지 않는다. 그렇기에 void Update() { Debug.Log(Input.mousePosition); } 위와 같이 코드를 작성해보고 Screen에 마우스를 가져다 대보면. 참고로 유니티 Screen의 좌표계는 좌하단으로 갈수록 0,0에 가깝고 우상단으로 갈수록 x, y값이 증가한다. 그리고 Screen좌표이기에 x,y좌표값만 증가, 감소하고 z좌표는 변함이 없는 것을 알 수 있다. 카메라에 접근하면 viewportPoint란것도 ..