분류 전체보기 101

Gazzlers 개발일지 - Enemy생성

원작에 의하면 한 화면에서 Enemy가 최대 2마리 생성됨을 확인해볼 수 있다. 한 마리씩 텀을 두고 생성되며 enemy가 일정수량(wave 당 생성되는 enemy 수) 생성될 때까지 2마리씩 화면에 나타난다. 먼저 게임이 시작될 때 텀을 두고 enemy 2마리가 생성되는 부분을 구현해보쟈. TestEnemy1MoveMain의 Enemy1Move 필드를 arr로 바꾸어 2마리를 관리하도록 한다. Start method에서는 arrEnemys를 순회하면서 각각의 enemy에게 접근하여 onChangeTarget 대리자를 선언한다. 그 다음 처음 시작할 때 enemy들의 spawn 위치를 정해주는 CoStartSpawnEnemy를 호출한다. CoSpawnEnemy는 5초 간격으로 각 enemy마다 스폰 위치..

Gazzlers 개발일지 - Enemy 이동(Player 추적)

먼저 enemy가 player 이동 방향대로 움직이도록 구현하였다. 우선 enemy를 요로코롬 설정. Scene은 기존에 했던 MapScene에서 TestEnemy1MoveMain과 위의 enemy를 추가한 형태로 구성해보았다. 일단 enemy의 움직임을 구현하기 위해 SerializeField로 enemy와 enemy가 쫓아야 될 target의 transform을 할당하였다. 쫓는 위치를 랜덤하게 부여하기 위해 Random.Range를 사용하여 임의의 값으로 arrTargetPos에 접근하도록 한 뒤 enemy에게 target의 transform을 전달하였다. UpdateTargetPos에서는 Main으로부터 받은 transform을 자신의 target으로 할당하는 역할을 한다. isReady는 tar..

Gazzlers 개발일지 - Map생성(5)

먼저 나무 생성을 구현해보았다. structure를 따로 관리하기 위해 StructureManager.cs를 생성하여 이곳에 구현하였다. Structure들을 저장해놓은 List들을 Queue로 관리하기 위해 qStructures를 선언하였다. (Queue로 관리하는 이유는 앞선 코드들처럼 먼저 저장한 structure(시야에서 멀어진)를 제거하고 새로 생성하기 위함이다.) Structure를 설치하는 method이다. 현재 tree 설치만 구현한 상태로, tree가 rail을 따라 일정 간격으로 생성되게끔 구현하였다. offset은 position.z 간격(+ position.x 간격)을 xOffset은 LRail 혹은 RRail의 모양에 맞게끔 설치되기 위해 조정되어야 하는 position.x 간격을..

Gazzlers 개발일지 - Map생성(4)

현재 Map생성시 Floor과 Rail 두 가지의 GameObject가 생성되고 있다. 그러나 Map은 이 외에도 게임환경을 구성해줄 건물, 나무 등의 설치물들이 생성되어야 한다. 현재 Rail은 Random하게 생성되고 있으므로 Rail의 위치에 맞게 다른 GameObject들이 생성되도록 구현해야 한다. 우선 소규모의 Structure를 생성해보도록 하쟈. 먼저 Structure를 생산 및 관리해줄 StructurePoolManager 스크립트 및 Structure의 정보가 저장된 Structure 스크립트를 생성하였다. Structure.cs using System.Collections; using System.Collections.Generic; using UnityEngine; public cl..

Gazzlers 개발일지 - Map생성(3)

현재 구현상태에서는 아직 player가 깔아놓은 rail을 따라가지 못하고 있다. player의 경로 이동을 구현하기 위해 각각의 railPrefab에 경로를 지정한 뒤 그 경로를 player에게 전달하여 player가 이를 따라가는 방식으로 구현해보고자 한다. rail 경로 지정 Rail.cs를 새로 작성하고 기존 Script 중의 일부를 수정하는 작업을 거쳤다. +수정 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Rail : MonoBehaviour { public enum eType { Left = 0, Middle = 1, Right = 2 } private int value; ..

Gazzlers 개발일지 - Map 생성(2)

바닥 + 레일을 생성하는 코드를 작성해보았다. 바닥은 기존 작성한 코드를 토대로 생성되게 하였고 레일은 objectpooling을 활용하여 생성되도록 구현하였다. TestMapMain.cs using System.Collections; using System.Collections.Generic; using UnityEngine; public class TestMapMain : MonoBehaviour { [SerializeField] private MapController mapController; [SerializeField] private CamMove camMove; // Start is called before the first frame update void Start() { Vector3 ca..

Gazzlers 개발일지 - Map 생성

Gazzlers Map 자동생성에 관하여 R&D를 시도(?)해보았다. GameScene을 보면 Player는 쭉 뒤로 이동하면서 Player 이동에 따라 Map이 화면에 같이 보여진다. Map을 끝까지 길이 이어 만든 상태로 Player만 이동하게 할 수도 있으나 Map의 크기가 크면 게임에 과부하가 올 수도 있기에 Player 주변부에만 Map이 생성되도록 구현해보고자 한다. 일단 땅같지도 않은 땅 하나를 만들고 TestMapMain도 생성하였다. 이 아이가 player의 위치에 따라 Map을 관리할 것이다. TestMapMain.cs using System.Collections; using System.Collections.Generic; using UnityEngine; namespace SJY {..

Gazzlers 개발일지 - Enemy1 GetHit 구현(1)

enemy1이 총에 맞았을 때를 구현해보쟈 enemy1은(다른 적도 마찬가지이겠지만) 차량과 차량에 탑승한 각각의 적 캐릭터들이 독립적으로 데미지를 입는다. 캐릭터가 총에 맞았을 때는 UI에 데미지만 표시되는 반면 차량이 총에 맞았을 때는 차량의 hp 게이지가 UI로 표시되는 것을 알 수 있다. 우선 캐릭터와 차량을 구분해둘 필요가 있으므로 Enemy1의 구조를 수정해보도록 하쟈. - GameObject 구조 Enemy1(빈 오브젝트) - car - muzzle - character1 - character2 - character3 - character4 - Scripts Enemy1 - car, character => Enemy1이 Car와 Character를 관리하도록 설정.

Gazzlers 개발일지 - Enemy1 공격 구현

(1) 총구가 Player를 향하도록 조준하는 부분 *Enemy1가 실시간으로 Player를 향해 LookAt을 하는 방식으로 구현 TestEnemy1Main.cs using System.Collections; using System.Collections.Generic; using UnityEngine; public class TestEnemy1Main : MonoBehaviour { [SerializeField] private Enemy1 enemy1; [SerializeField] private Transform Player; void Update() { this.enemy1.AimPlayer(this.Player); } } Enemy1.cs using System.Collections; using ..

Gazzlers 개발일지 - R&D 목록

내가 구현해야 되는 부분 : 적 한 웨이브를 통과할 때마다 적의 종류가 늘어남. => 그 중에서 3종류의 적을 구현할 예정 적들은 가시적으로 이동수단의 종류 및 타고 있는 인원수를 통해 구분할 수 있음. 1.1라 적 적1 - 자동차 이동수단 : 사륜차 - 인원 : 4마리 - 공격 방식 : player를 향해 총구를 겨눈뒤 총구의 앞 방향으로 총알을 3번 발사 대략 한 4초마다 씬에 있는 애들 중 한 놈들이 쏘는듯 적이 공격하기 전에 UI로 표시됨 - 데미지 입는 방식 : (1) player의 총에 맞는 경우 (2) 주변 사물에 부딪히는 경우 (3) 폭탄이 터지면서 같이 피해 입는 경우 적 한명씩도 공격 가능 자동차도 공격 가능(자동차가 부서지면 그 위에 탄 적들이 한 방에 날아감) 총알에 맞는 자동차의 ..