목록Programing/Unity 3D (41)
Prosto
따라하는 유니티 2D 프로젝트 강좌 다섯 번째 시간입니다. 이번에 다룰 내용은 스코어 부분입니다. 점수를 추가하여 현재 얻는 점수가 몇인지 표시하는 방법을 소개할 것입니다. 또, 점수를 표시할 때 단순하게 점수가 한번에 바뀌는 방법과 Lerp라는 기능을 이용하여 점수가 단계적으로 상승하는(카운팅) 방법을 해보도록 하겠습니다. 아직 점수 부분의 전부를 하지는 못 했지만, 가장 기본이 되는 부분을 구성하는 것이라 생각하시면 됩니다. 그럼 시작하겠습니다. 가장 먼저 저번에 작업했던 프로젝트를 실행합니다. 그리고 순서대로 직접 해보며 따라오시면 됩니다. Hierarchy 패널에서 우측버튼을 클릭하여 UI - Canvas를 선택하여 생성해줍니다. (Canvas가 생성된 모습입니다. 밑에 EventSystem도 함..
유니티를 이용하여 스마트폰 게임을 만들고 있을 때 간혹 프레임이 떨어지는 현상(프레임 드랍)을 목격한 적이 있었습니다. 게임 진행 중 한번씩 그러니 거슬리더군요. 그래서 왜 그이러는 것일까 하고 처음엔 제대로 확인하기 위하여 게임 화면에 프레임을 출력시키는 소스를 작성했습니다. (현재 예상프레임과 최악일 때의 프레임 표시.) (아래가 제가 만들어서 썼던 소스입니다.) using UnityEngine; using System.Collections; public class FrameChecker : MonoBehaviour { float deltaTime = 0.0f; GUIStyle style; Rect rect; float msec; float fps; float worstFps=100f; string ..
따라하는 유니티 2D 프로젝트 강좌 네 번째 시간입니다. 이번에 다룰 내용은 저번에 구현했던 배경이동에 이어 장애물을 업그레이드(강화)하는 작업을 하겠습니다. 지금 그대로라면 게임이 너무 단순하고 루즈하죠. 이러한 부분을 해결하기 위해서는 플레이어가 집중하며 플레이할 수 있게끔 요소를 배치해줘야 합니다. 그럼 시작하겠습니다. 가장 먼저 저번에 작업했던 프로젝트를 실행합니다. 그리고 순서대로 직접 해보며 따라오시면 됩니다. 장애물이 다양한 크기로 등장할 수 있도록 셋팅하는 작업을 먼저 하겠습니다. (이전 프로젝트를 실행한 모습 - 콘솔창은 제가 테스트로 실행을 해봤기에 충돌 문구가 있습니다.) 기존의 스크립트를 변경하기 위하여 Scripts - Map - MoveMap을 더블클릭하여 실행시켜 줍니다. Mo..
따라하는 유니티 2D 프로젝트 강좌 세 번째 시간입니다. 이번에 다룰 내용은 저번에 배경이동에 이어 장애물을 구현하고 간단한 점프 기능을 구현하고 충돌체크를 해서 플레이어에게 알리는 처리까지 해보겠습니다. (현재는 점프-장애물 첫 번째 단계입니다. 장애물 업그레이드, 점프 업그레이드를 더욱 고퀄로 바꾸는 작업은 다음 강좌에서 다룰 예정입니다.) 그럼 시작하겠습니다. 가장 먼저 저번에 작업했던 프로젝트를 실행합니다. 그리고 순서대로 직접 해보며 따라오시면 됩니다. 포토샵을 이용하여 장애물을 만들어줬습니다.(256x256) 저번과 마찬가지로 드래그 앤 드랍하여 유니티 프로젝트에 Image를 추가해 줍니다. Generate Mip Map 체크 해제해주고, Sprite Editor로 들어가 피봇을 바닥에 맞춰줍..
따라하는 유니티 2D 프로젝트 강좌 두 번째 시간입니다. 이번에 다룰 내용은 저번에 만들었던 캐릭터 이동을 배경이동으로 전환시키고, 오브젝트 풀을 이용하여 정해진 수를 반복 사용하는 방법을 적용하여 해볼 것입니다. (중요 : 프리팹 만들기/사용, Instantiate 오브젝트 생성, 배열과 구조체 사용 ) 그럼 시작하겠습니다. 가장 먼저 저번에 작업했던 프로젝트를 실행합니다. 그리고 순서대로 직접 해보며 따라오시면 됩니다. Scripts 하위에 Map이라는 폴더를 생성한 후 MoveMap 스크립트를 추가합니다. MoveMap.cs에 소스를 작성하여 줍니다. 여기에서 Instantiate는 오브젝트 생성에 사용하는 함수입니다. Instantiate(생성할 오브젝트, 생성될 좌표, 각도) 정보를 입력합니다...
C#의 기능 중 코루틴이라는 기능에 대하여 알아보고 실제로 유니티의 C# 스크립트를 이용하여 어떻게 사용하는지 예제를 통하여 확인해보겠습니다. 개념적인 부분을 잡기 위하여 작성한 포스팅으로 이미 작업해두었던 '따라하는 유니티 2D 프로젝트ⓐ -1'에서 이동 부분을 수정하도록 하겠습니다. (실제로 구현해서 확인해보고 싶으시다면 위 프로젝트ⓐ 1번까지 따라하신 후 해보시는 것도 좋을 것 같습니다.) 그럼 먼저 C#의 코루틴이란 어떤 것이고, 어떻게 작동하는지 알아보겠습니다. 먼저 코루틴이란 무엇일까요? 코루틴이라는 것은 어떠한 작업을 처리할 때 필요에 따라 시간 간격을 두고 작업을 처리할 수 있도록 도와주는 함수 형식입니다. 코루틴과 Unity에서의 Update 혹은 FixedUpdate를 비교해본다면 - ..
Unity 2D 프로젝트ⓐ로 결정지은 게임은 볼(원)이 장애물을 피해가는 게임입니다. (런닝 게임 부류에 속한다고 봐도 무방합니다.) 단순한 게임이지만 특별한 시스템을 몇 가지 넣어 단순하지만은 않게 만들 예정이고, 가장 큰 기본 틀을 만든 후 -> 자세한 부분으로 진행할 예정입니다. 아주 기본적인 카메라 이동, 캐릭터 컨트롤(조작), 프리팹 생성 등 필요한 부분은 전반적으로 다룰 예정입니다. 완성본을 올리는 것이 아니라 차근차근 진행할 것이므로 따라하며 이해하기 수월할 것입니다. 아, 가능하면 원래 기획을 따라가겠지만, 진행 중간 중간 프로젝트 세부 내용이 바뀔 수는 있습니다. (중간에 이미 만들어둔 소스를 수정하는 부분이 있을 수도 있다는 말....) 몇 가지 우선 설명해드리자면 소스 코드는 제공하지..
Unity 3D는 원래 3D 엔진이지만 편리한 인터페이스와 에셋들로 많은 사람들이 2D 게임을 만들어 4.3버전부터 2D를 공식적으로 지원하게 되었습니다. (현재 최신 버전은 5.4이상) 오늘부터 시간날 때마다 천천히 간단한 프로젝트ⓐ의 강좌를 진행하도록 하겠습니다. 가능하면 따라하면서 기본적인 내용을 배울 수 있도록 사진과 스크립트를 이용하여 설명을 진행하도록 하겠습니다. 가장 먼저 유니티 2D 프로젝트를 생성해야 합니다. 생성 방법과 기본 기능 조차 잘 모르시는 분이라면 제 블로그에 있는 글을 링크해드릴 테니 참고하시길 바랍니다. -> http://prosto.tistory.com/56 오늘은 일단 따라하며 배우는 프로젝트로 계획한 프로젝트ⓐ는 어떠한 게임인지 설명하도록 하겠습니다. 1. 복잡한 기능..
Unity3D로 2D 프로젝트를 생성하는 방법과 간단한 기능을 보도록 하겠습니다. 먼저 유니티 프로젝트 생성 방법입니다. 가장 먼저 유니티3D 프로그램을 실행합니다. 실행하면 아래와 같은 창이 나오게 됩니다. 여기서부터 시작하겠습니다. Projects가 선택되어 있는 모습을 볼 수 있습니다. 여기 목록엔 최근에 작업한 프로젝트들이 나오게 됩니다. 우리는 여기서 우측 상단의 NEW를 누릅니다. Project name 항목에 프로젝트 이름을 입력합니다. 임시로 TestProject란 이름을 지정했습니다. 그리고 현재 만들고자한 게임이 3D인지 2D인지에 따라 선택합니다. 저는 2D를 선택했습니다. 마지막으로 Create project를 누르게 되면 프로젝트가 생성됩니다. 프로젝트가 생성되면 위와 같은 화면이..
유니티 4.2v 기준.. 현재 Unity에서 Active 제공해주는 함수 중에서 사용 하는 것... 일단은 Object의 현재 상태 확은 -> (현재 존재하는지 아닌지.. Active 활성 되있는지...) gameObject.activeInHierarchy // true의 경우 활성 ... 사용 예.. 특정 게임오브젝트 프리팹이 존재한다고 했을 때.. public GameObject bulletObj; //프리팹. GameObject bullet; .... bullet = Instantiate(bulletObj, Vector3.zero, Quaternion.identity); //실제 게임 오브젝트 생성.. zero = 0,0,0 position.. //Quaternion.identity = 0,0,0 ..