목록unity (20)
Prosto
원하는 게임 오브젝트를 얻어오기 위해선 어떤 작업이 필요할까요? 특별히 원하는 대상을 찾고싶다면, 어떤 방법으로 찾을 수 있을까요? - 대상을 이름으로 찾고싶다면 GameObject.Find("이름"); 이렇게 사용할 수 있고요.. - 대상을 태그로 찾고싶다면 GameObject.FindWithTag("태그명"); 혹은 GameObject.FindGameObjectWithTag("태그명"); 이렇게 사용할 수 있습니다. 이와 관련된 내용의 예제 프로젝트를 만들어 보여드리겠습니다. 2D와 3D 모두 사용 방법은 동일합니다. 저는 주로 2D 작업을 하니 2D로 예제 프로젝트를 생성하겠습니다. 프로젝트가 생성된 화면이죠? 이제 하나씩 진행과정을 보시죠. (직접 따라하면서 익혀보는 것도 좋을 것 같네요.) Hi..
따라하는 유니티 2D 프로젝트ⓑ 강좌 세 번째 시간입니다. 이번에 함께 할 작업은 블록을 매니저를 블록을 오브젝트 풀로 생성하고 그 블록들을 일정한 형태를 가지도록 생성하겠습니다. 그리고 중간에 블록들을 처리하며 생기는 예외적인 부분들에 대해 수정하는 방법을 진행할 겁니다. (Debug 모드, 한 프레임씩 실행) 그럼 시작하겠습니다. 가장 먼저 저번에 작업했던 프로젝트를 실행합니다. 그리고 순서대로 직접 해보며 따라오시면 됩니다. 프로젝트를 열면 저번에 실행된 곳까지 저장되어있는 것을 볼 수 있습니다. 우리가 이번에 할 작업은 블록 매니저를 통하여 블록들을 일정한 형태로 만들어보는 것입니다. 그 과정에서 프리팹이라는 것도 만들어볼 테고, 오브젝트 풀(Object Pool), 스크립트 작성, Debug 등..
따라하는 유니티 2D 프로젝트ⓑ 강좌 두 번째 시간입니다. 이번에 함께 할 작업은 블록을 실제로 사용할 때 필요한 충돌하고 볼이 튕겨나가는 효과를 만들어보겠습니다. 그리고 간단하게 볼이 블록과 충돌하면 블록이 사라지도록 하겠습니다. (이번 시간까지 하면 볼과 블록의 가장 기본은 끝입니다. 실제 블록 제거도 되니까요.) 그럼 시작하겠습니다. 가장 먼저 저번에 작업했던 프로젝트를 실행합니다. 그리고 순서대로 직접 해보며 따라오시면 됩니다. 실행하니 이렇게 저장된 씬이 나오셨죠? 진행하도록 하겠습니다. 이번에 블록과 볼이 충돌하면 통과되지 않고, 튕기는 처리를 해줘야하니 일단 스크립트를 바꿔줘야합니다. Scripts - Ball에 있는 MoveBall 스크립트를 더블클릭해주세요. public 형태로 함수를 만..
따라하는 유니티 2D 프로젝트ⓑ 강좌 첫 번째 시간입니다. 이번에 함께 할 작업은 가장 기본적인 틀을 만들어 보는 것입니다. 볼을 게임 화면에 놓고, 그 볼이 일정하게 움직이도록 하겠습니다. 그 후에 블록을 게임 화면에 놓고 충돌처리가 되는 지 확인해보겠습니다. 그럼 시작하겠습니다. 가장 먼저 저번에 작업했던 프로젝트를 실행합니다. 그리고 순서대로 직접 해보며 따라오시면 됩니다. 유니티에서 우리가 만들었던 프로젝트를 실행하면 이런 화면을 볼 수 있을 겁니다. 그럼 먼저 폴더를 추가해볼까요? Project 탭에서 Assets 파일 위에서 마우스 우클릭하면 메뉴가 나옵니다. 그 메뉴 중 Create - Folder 순으로 선택해줍니다. 이렇게 만들어준 후 이름을 지정해주면 됩니다. Scripts라는 폴더를 ..
따라하는 유니티 2D 프로젝트ⓐ 강좌 열한 번째 시간입니다. 이번에 다룰 내용은 난이도 관련 내용입니다. 게임 진행 중 일정 수준까지는 난이도가 상승되도록 만들 것입니다. 여기서 프로젝트ⓐ는 게임 진행 중 자연스럽게 난이도 상승시킬 수 있는 부분이 게임 진행 속도(배경, 장애물 속도) 상승과 장애물의 수나 형태를 변경하는 게 있습니다. 우리는 난이도 상승을 장애물로 해볼 것입니다. 지금까지는 장애물이 아래에만 위치했지만.. 그러면 높이 점프하면 다 피할 수 있겠죠? 일정 시간이 경과하면 장애물이 위 아래 동시에 나와 통과하는 난이도를 올리도록 하겠습니다. 그럼 시작하겠습니다. 가장 먼저 저번에 작업했던 프로젝트를 실행합니다. 그리고 순서대로 직접 해보며 따라오시면 됩니다. 일단 문제점을 확인해볼까요? (..
따라하는 유니티 2D 프로젝트ⓐ 강좌 열 번째 시간입니다. 이번에 다룰 내용은 최고점수 저장과 점프 대기 시간 중에도 카운트 할 수 있도록 변경, 또 점프 수정(약간 바꾼 중력식), 보너스 포인트 아이템 추가입니다. (Text Color 수정에 대한 부분도 마지막에 넣었습니다.) 이번 시간에 PlayerPrefs으로 최고점수 저장까지가 가장 기본 틀 개념의 부분이고, 그 후의 점프 수정이나 보너스 스코어 아이템은 게임성을 높이는 부가적인 부분입니다. (최고점수 저장, 스코어 아이템 모두 복잡하지 않게 사용할 수 있도록 작성했습니다.) 그럼 시작하겠습니다. 가장 먼저 저번에 작업했던 프로젝트를 실행합니다. 그리고 순서대로 직접 해보며 따라오시면 됩니다. 일단 BEST SCORE 처리를 해볼까요? Score..
따라하는 유니티 2D 프로젝트ⓐ 강좌 아홉 번째 시간입니다. 이번에 다룰 내용은 게임오버 처리와 그에 따른 UI 처리를 해보겠습니다. (Tag 순서와 충돌 시 TagCompare 부분도 있습니다.) 이번 시간을 통해 게임의 시작부터 끝까지가 완성되었습니다. (앞으로는 BestScore, 추가적인 게임성을 높이는 부분 등이 남았죠.) 그럼 시작하겠습니다. 가장 먼저 저번에 작업했던 프로젝트를 실행합니다. 그리고 순서대로 직접 해보며 따라오시면 됩니다. 우리가 지금부터 할 작업은 볼과 장애물의 충돌에 따라 점수를 표시해주고 게임 종료를 알려주는 작업입니다. 먼저 충돌 처리, 우리가 저번에 기본적인 부분에 대해 처리한 부분을 확인해볼까요? Scripts - Obstacle - ObstacleInfo.cs를 열..
유니티에서 화면에 클릭 혹은 터치를 주는 경우 UI로 구성된 부분을 클릭해도 UI 버튼 처리와 클릭 처리를 같이해주게 됩니다. 이때, UI를 클릭(터치)하는 경우에는 게임 화면을 클릭한 처리에서 제외해주고 싶다면 이 글에서 소개하는 내용을 보시면 됩니다. 게임에서 UI 부분을 눌렀더니 점프를 한다? (점프하면 안 되는데... 이런 경우에는?) 이런 경우 터치 혹은 클릭된 부분이 게임 화면인지, 아니면 UI인지 확인하여 처리해주면 됩니다. 그 기능을 사용하기 위해선 먼저 클릭/터치 처리하는 해당 스크립트에 추가로 using해줍니다. using UnityEngine.EventSystems; //UI 클릭시 터치 이벤트 발생 방지. (여기서 EventSystems를 사용하기 위해선 일단 UI는 만들었어야 합니..
기본적으로 유니티를 하면서 쓰는 기능은 클릭입니다. if (Input.GetMouseButtonDown(0)) //마우스 좌측 버튼을 누름. { //터치 시 내용 처리.. } 이렇게 말이죠. Input.GetMouseButtonDown(0) 혹은 (1)을 통하여 마우스 클릭을 받고 그에 맞는 처리를 해주죠. 그렇지만 우리가 모바일 게임을 만들고 있다면 클릭이 아닌 터치를 써야겠죠? (클릭은 pc로 테스트할 때 쓰고요.) 유니티에서 클릭이 아닌 터치를 쓰는 방법을 알아볼까요? 그렇지만 잠깐 터치를 사용하기에 앞서 생각해볼게 있습니다. 마우스는 마우스가 하나라면.. 클릭이 일어나면 동시에 여러 개가 일어날 수 없들지만, 터치의 경우 동시에도 여러 손가락으로 누를 수 있으니 마우스와 달리 여러 개의 터치를 받..
따라하는 유니티 2D 프로젝트ⓐ 강좌 여덟 번째 시간입니다. 이번에 다룰 내용은 추가적인 UI 관련된 작업과 추가적인 부분들, 일시정지와 계속하기, 재시작, 게임종료에 대한 부분들을 다룰 것입니다. 소팅 레이어(레이어 순서 정렬) 등의 내용도 중간에 포함되어 있습니다.. 그럼 시작하겠습니다. 가장 먼저 저번에 작업했던 프로젝트를 실행합니다. 그리고 순서대로 직접 해보며 따라오시면 됩니다. 먼저 일시정지 버튼을 추가하기 위하여 Canvas - NormalUI를 선택합니다. NormalUI에서 마우스 우측 클릭을 한 후 UI - Button 순으로 선택합니다. Button이 생성되면 Inspector창에서 Anchor Presets를 top/right로 선택해줍니다. 그리고 pos와 width,height도..