전체 글 101

Gazzlers 개발일지 - Zeppelin 생성

구현할 부분 아이템 열기구(?) 게임씬에 붙이기. https://lj9369.tistory.com/129 Gazzlers R&D - 아이템 비행체 구현 ▼ 구현할 부분 ▼ 구현할 것 - 비행체를 레이로 조준하여 3번 맞추기 --> 비행체 사라지고 아이템 생성 - 생성된 아이템이 player쪽으로 이동 - 스코어 UI에 닿으면 아이템이 사라지고 스코어 점수 lj9369.tistory.com 이 부분에 관해서 R&D를 진행해주신 고마운 팀원님❤의 포스팅을 참고하여 제작해보겠습니댯ㅎ (1) GameScene에 Zeppelin 생성 오브젝트 풀링 사용 ZeppelinPoolManager using System.Collections; using System.Collections.Generic; using Unit..

Gazzlers 개발일지 - WAVE 이후 보상(아이템) 선택 구현

오늘 구현하고자 하는 부분 => WAVE 이후 아이템 선택 및 WAVE 시작 1. 아이템 구조 설정 맨 상위 오브젝트로 RewardGroup을 두어 두 개의 Reward를 관리하도록 설정. Reward는 Reward의 내용을 서술하는 UI부분과 Reward의 내용을 직관적으로 알 수 있는 위의 오브젝트 두 부분으로 나뉘어 구현. 2. json 파일 생성 (1) Reward 내용 - 적 타격시 총알 되받기 - 탄창 소진 시 자동충전 - 총 공격력 상승 - 기본 총의 레이저 공격 범위 확대 - 플레이어 maxHp 증가 - 총기 변경 => 바주카포(긴 선딜, 넓은 범위 공격) (2) json 저장 data파일을 다음과 같은 구조로 작성. Mr. Data Converter를 통해 엑셀 파일의 내용을 json 형..

Gazzlers 개발일지 - Enemy 공격

기존에 R&D했던 Enemy 공격 부분을 구현하는 작업을 진행해보았다. (팀장님의 GameScene을 받아 제작해보았슴댯,,,,ㅎ) (1) Enemy 추가된 필드는 다음과 같다. muzzleTrans : 총알이 발사될 지점 muzzleGo : player를 향해 겨눌 총구의 object playerTrans : 적이 공격할 player의 transform attackCount : 공격 횟수(한 번 공격을 시작할 때 몇 번 쏠 것인지) dealLossTime : attackCount만큼 공격할 때 간격(주기) onAttackPlayer : enemy가 player 공격에 성공했을 때 main에게 알리는 대리자 onCompleteAttack : enemy가 attackCount만큼 공격을 다 하고 난 뒤 m..

Gazzlers 개발일지 - Enemy 관리

이번에는 Enemy의 생성 및 관리를 구현해보려고 한다. 원작에서는 한 화면 안에서 Enemy가 최대 2마리씩 나오며 각 웨이브마다 생성되는 최대 Enemy 수량이 존재한다. 이 수량을 다 채울 때까지 Enemy를 생성 및 spawn하는 부분을 구현하려고 한다. 구현계획 1. 일정 시간간격을 두고 enemy 2마리 생성 2. ui 버튼을 만들어서 버튼을 클릭할 때마다 enemy Die 3. enemy 최대 수량을 채우지 못했을 경우 enemy 생성, 그렇지 않을 경우 enemy 생성 중단. 1. 일정 시간간격을 두고 enemy 2마리 생성(기존 TestEnemy1MoveMain 스크립트 참고) using System.Collections; using System.Collections.Generic; us..

Gazzlers 개발일지 - 건물 설치

맵 대충 해결됐다 싶으니 맵꾸를 다시 해보는즁 건물 두 개를 통째로 하나의 object로 두어 레일 양 옆에 설치되게끔 설정하였다. 똑같은 건물 여러개는 재미없을 수 있으니 색변화도 살짝 주었다. (예쁘진 않은건 안비밀) 타입도 수정. 코드 using System.Collections; using System.Collections.Generic; using UnityEngine; public class StructureManager : MonoBehaviour { private Queue qStructures = new Queue(); private bool install; private bool uninstall; public void InstallStructure(Rail rail) { if (!(t..

Gazzlers 개발일지 - Map 수정(with CurvedWorld)

현재 map의 분위기가 단조롭고 평화로워 게임컨셉과는 다소 이질적이다는 피드백을 받아 이를 수정해보고자 한다. 우선 분위기를 저해하는 트리를 제거하였다. StructureManager 스크립트에서도 트리를 설치하는 메서드는 제거하였다. 대애애애충 건물이 따닥따닥 붙어있는 느낌을 내면 괜찮지 않을까 싶어 대충 만들어본 움짤. 다른 모양의 건물을 몇 개 더 새워서 요런식으로 설치되도록 구현하면 어떨까 싶댜. 건물은 대애충 크기별로 해놓고 구현해보려는즁... 1. 중간따리(?) 건물 따닥따닥 붙여 설치하기 나오기는 하다만 나무로만 박아놔서 미쳐 못느꼈었던 요 끄트머리 부분이 눈에 자꾸 거슬림,,,,,(특히 VR기기를 착용했을 때 더더욱,,,) 그래서 쓰게 된 CurvedWorld 먼저 CurvedWorld P..

Gazzlers 중간점검

기존 일정 - 발표 시점~12/8 : 적 이동 구현 ->발표시점~12/4 : 적이 player를 따라오는 부분 구현 12/5~12/8 : 적 장애물 회피 구현 - 12/11~12/15 : 게임로비씬 ui 구현 But,,,, 실제로는 적 이동 구현에만 2주가량을 써버리고 말았다... 실제 일정 - 적 단순 앞으로 이동 + 처음 생성 시 랜덤스폰 ->3일 - 왜 도전했는지 모를 휠콜라이더(결국 실패) ->3일 - 적의 장애물 회피 ->약 일주일 1. 적 이동 -url : https://made-myblog.tistory.com/61 2. 적 랜덤 스폰 -url : https://made-myblog.tistory.com/62 3. 휠 콜라이더(실패작) -url : https://made-myblog.tist..

Gazzlers 개발일지 - Enemy 장애물 회피

일단 wheel collider를 떼기로 결심하였으니 wheel collider를 제거하고 기존 스크립트도 수정해보쟈. WheelCollider Object를 제거 enemy에 부착된 RigidBody의 velocity와 rotation 값을 조절하는 방법으로 변경. using System.Collections; using System.Collections.Generic; using UnityEditor; using UnityEngine; public class Enemy1Move : MonoBehaviour { private KeyValuePair Target; private bool isReady; public float moveSpeed = 250f; public float rotSpeed = 25..

Gazzlers 개발일지 - wheel collider

https://coding-of-today.tistory.com/128 [레이싱게임] 휠 콜라이더(Wheel collider) 기본 세팅하기 레이싱게임이나 휠콜라이더를 다루기 위해서는 첫번째로, 차량 오브젝트에 휠콜라이더를 배치해야한다. 매우 기본적이지만 첫걸음을 잘 내딛어야 이후의 과정들이 매끄러워지므로 집중하도록 coding-of-today.tistory.com https://docs.unity3d.com/kr/current/Manual/class-WheelCollider.html 휠 콜라이더 - Unity 매뉴얼 휠 콜라이더(Wheel Collider) 는 지상 차량용 특수 콜라이더입니다. 충돌 검사, 휠 물리 효과 및 슬립 기반 타이어 마찰 모델이 포함되어 있습니다. 휠이 아닌 오브젝트에도 사용이..