Unity

⚓ 문제유저가 영역 밖에서 영역 안으로 들어왔을 때 흔적과 영역의 경계가 만드는 닫힌 경계을 추출한다.정점 정보를 가지고 평면을 생성한다.⚓ 접근1. 흔적과 영역의 경계가 만드는 닫힌 경계영역 밖으로 나갔을 때/들어왔을 때는 bool flag를 통해 판별한다.Creature의 현재 밟고 있는 위치가 Area 오브젝트가 아닐 때 흔적 좌표를 List에 저장하기 시작한다.다시 영역 안으로 들어왔을 때 흔적과 기존 영역의 경계가 이루는 폐구간을 새로운 영역의 경계로 정의한다.이 때, 새로운 영역은 이루는 정점들은 시계방향으로 나열된 List여야 한다.(Mesh 정점, 삼각형 규칙 때문)Creature가 흔적을 남기는 방향은 2가지 경우가 있다. a) 시계방향 b) 반시계방향a) 시계방향의 경우 흔적 배열의 처..
⚓문제paper.io 2에서는 유저가 맵 위를 이동한 궤적을 고유의 색으로 흔적으로 남기는 요소가 있다.그리고 이 흔적에 다른 유저 또는 자기 자신이 닿을 경우 흔적의 주인은 파괴된다.⚓접근1. 고유의 색으로 흔적으로 남기는 요소단색뿐만 아니라 이미지가 흔적에 그려질 수 있기 때문에 텍스처를 넣을 수 있는 컴포넌트를 사용객체의 매프레임 이동에 따라 부드러운 선을 그려야 하기 때문에 LineRenderer 사용한다.(좀 더 화려한 옵션을 위해서 파티클도 고려할 수 있겠지만 빠른 구현을 위해 LineRenderer로 진행)2. 흔적에 닿을 때 흔적의 주인이 파괴2.1) 방법 1(폐기)유저가 밟고 있는 현재 위치가 점유된 좌표인지 점유되지 않은 좌표인지 확인하는 법이 관건이다.유저들은 모두 동일한 맵 위를 이..
⚓문제Creature 객체가 맵 위에 남기는 흔적의 픽셀이 연속되지 않는다.uv 좌표상 (0, 0) -> (0, 1) 이 아니라 (0, 2) 같은 형식으로 건너뛰는 상황따라서, (0, 1)에 공백이 생기기 때문에 흔적을 밟았을 때 파괴되는 로직이 실행되지 않을 수 있다.⚓접근Creature는 자신의 위치와 매칭되는 맵의 uv 좌표에 자신의 데이터로 흔적을 남긴다.(예.픽셀 색깔)Creature는 Update()에서 매 프레임마다 자신의 위치를 갱신한다.Update()는 불규칙한 프레임으로 작동. FixedUpdate()는 일정한 간격으로 호출.두 Update() 함수 모두 프레임 사이에 Creature 객체가 이동하기 때문에 speed가 빠르다면 공백도 커지게 된다. transform.position +..
⚓ 페이지 소개땅 따먹기를 주제로 게임을 모작해 보는 Unity 프로젝트.대상은 모바일 게임의 Paper.io 2 와 Dye Hard 의 로직을 분석해서 모작.티니핑 캐릭터의 특성을 적용한 로직을 추가.(추가 프로젝트)⚓ 목차프로젝트 개요기술 스택구현 단계3.1. Paper.io 2 모작3.2. Dye Hard 모작개발 일정⚓ 프로젝트 개요Paper.io 2player가 이동하며 영역을 확장하는 게임.닫힌 영역이 되기 전에 흔적을 밟으면 밟힌 대상이 사망.(자기 자신도 포함)자신의 영역 안에서는 흔적이 생기지 않음.   Dye Hardplayer가 물감 총을 쏘면서 영역을 확장.적의 물감에 맞으면 데미지를 입음.닌텐도 Splatoon과 같이 자신의 영역에선 물감 밑으로 은신을 하거나 빠르게 이동할 수 있..
0. 프레임워크    1. UI 객체 구성요소1.1) UI 예시  (구성요소 : 객체타입)Title : TextObject : GameObjectListArea : GameObectClick : Button   1.2) 데이터 구조화a. UI를 구성하는 타입은 대체로 Text, Button, Image, GameObject로 구성되어 있다.b. UI 구성요소들을 타입별로 묶어서 관리한다.c. 따라서 enum 타입을 사용한다.(->관련된 데이터를 묶어서 관리할 수 있고 리플렉션을 통해 특정 타입에 해당하는 UI 구성요소들을 파악할 수 있다)private enum GameObjects{ Object, ListArea}private enum Texts{ Title}private enum But..
nauticalmile
'Unity' 카테고리의 글 목록