전체 글 56

프로젝트 생성 및 깃허브 연결

1. 깃허브 사이트에서 레포지토리 생성 (readme 와 git ignore 설정) 2. 깃허브 데스크톱 앱에서 클론 레포지토리 (Clone repository) 생성 (사이트에서 만든 레포지토리 를 이용하여 생성) 3. 유니티 프로젝트를 생성 4. 생성된 클론레포지토리 폴더에 생성한 유니티 프로젝트를 옮기고 유니티허브에서 유니티 옮겨진 폴더로 경로 재설정

TIL 프로젝트세팅(게임해상도설정)

게임 해상도 설정Edit ==> Project Setting PlayerResolution and Presntation - FullscreenMode ㄴFullscreen Window (기본값) : 꽉찬 전체화면, 창없음 ㄴExclusive Fullscreen : 꽉찬 전체화면, 창없음, FullscreenWindow 랑 유사 (성능높음/호환성 낮음) ㄴMaximized Window : 전체 꽉찬 창모드 (해상도에 비율고정, 남는부분 검은색) ㄴWindow : 창모드, 게임해상도에 맞는 크기의 창으로 실행 Default is Native Resolution (기본 체크o) :기본값 해상도로 설정 (1920 x 1080) ㄴ체크 해제시 해상도 직접 입력가능 Resizable Window (기본 체크..

Unity 최종프로젝트 TIL 19일차 25/04/30 [중간발표 자]

제네릭클래스를 이용한 통합 오브젝트풀 매니저 시스템목적하나의 오브젝트풀 스크립트와 오브젝트풀 매니저 스크립트로 여러가지 종류의 오브젝트풀을 생성, 이용할 수 있게 합니다오브젝트풀 메서드를 싱글톤으로 설계하여 오브젝트풀 관리하에 있는 오브젝트들을 전역적으로 호출가능하게 합니다오브젝트풀로 관리되는 각각의 오브젝트들의 Init(공통적으로 가지는 초기화 메서드)메서드가 서로 다른 종류의 매개변수를 받을 수 있게 합니다(제가 만든 파트는 아니지만 같은 영역이라 추가) 시작시 Resouces/ObjectPool 폴더의 프리펩오브젝트들을 자동으로 오브젝트풀로 관리하게끔 만듦니다.결과물더보기오브젝트풀로 관리할 오브젝트를 추가하는 방법BasePoolable을 상속받는 클래스를 가진 오브젝트 프리펩을 Resouces/Ob..

Unity 최종프로젝트 TIL 15일차 25/04/24 [보스 스프라이트 도트추가, 추가 패턴 구현]

오늘 한 일보스 도트 스프라이트 추가(기절 모션)보스 분신 패턴 추가 보스 도트 스프라이트 추가(기절 모션) 보스 분신 패턴 추가 - 본체 사라짐, 분신과 함께 등장 - 분신은 공격 받을 시 폭발(데미지 존재) - 모든 분신 제거시 그로기상태 - 분신 제거 전 본체 공격시 즉시 분신 큰 폭발 - 일정시간 지나도 분신 큰폭발 트러블 슈팅애니메이션에서 스프라이트의 색,크기 등을 건드리면 해당 조작이 남아있음해당 분신은 오브젝트풀로 관리하므로 완전 삭제되지않으며 따라서 이전 색,크기 조작흔적이 남아버림때문에 2번째 이후패턴부터는 분신의 색이 변해있다던가, 이펙트 크기가 달라진다던가 하는 문제가생김 해결분신이 가지는 애니메이션 시작프레임에 초기 값을 지정하여 해결

Unity 최종프로젝트 TIL 14일차 25/04/23 [보스 스프라이트 도트수정, 추가 패턴 구상]

오늘 한 일 보스 스프라이트 도트 수정, 추가추가 공격 패턴 구상 보스 스프라이트 도트 수정 및 추가특정 공격에만 사용될 수 있는 스프라이트를 범용성 있게끔 수정공격 모션 수정 달리기 모션 수정 신규 공격패턴 구상구상한 공격 - 불꽃이펙트와 함께 사라짐 - 같은 불꽃이펙트로 여러 분신과 함께 출현 - 분신은 공격할시 보스 크기만큼의 폭발피해 - 일정시간 지난 후 본체가 스킬모션시전 - 본체의 스킬모션과 함께 남아있는 분신들은 커다란 폭발현재 애니메이션 작업중

Unity 최종프로젝트 TIL 13일차 25/04/22 [보스 공격 이펙트 스프라이트 팔레트스왑, 도트수정, 추가 패턴 구상]

보스 공격 이펙트 스프라이트 팔레트스왑어제 시도했다가 팀원에게 부탁한 일붉은색, 주황, 노랑색 계열의 불꽃 이펙트를 푸른색 계열로 변경 스프라이트 도트수정해당 스프라이트를 직접적인 공격이 아닌 이펙트로 사용하기 위해 불꽃 파트를 삭제 - 챗지피티에 붉은색, 주황, 노란색, 흰색 부분을 삭제요청 - 불이 아닌 부분의 흰색도 삭제되므로 그림그리기툴(클립스튜디오)를 통해 흰색부분만 수작업으로 다시 그림 해당 이펙트는 다른 공격의 전조모션으로 활용 예정 추가 공격 패턴 구상 여우구슬 패턴 - lol의 아리 캐릭터 스킬에서 착안 - 해당 스프라이트로 여우구슬을 생성 - 정해진 거리만큼 감속운동으로 발사 - 정해진 거리에서 속도가 0 이 된후 다시 돌아오는 탄으로 구상 - 보스 난이도에 맞춰 여러 각도, 다..

카테고리 없음 2025.04.22

Unity 최종프로젝트 TIL 12일차 25/04/21 [보스 공격 이펙트용 애니메이션, 이펙트 스프라이트 팔레트스왑]

오늘 한 일보스용 공격,스킬 이펙트 스프라이트 애니메이션 제작이펙트 스프라이트 팔레트 스왑 (색 바꾸기) 보스용 공격,스킬 이펙트 스프라이트 애니메이션 제작 - 보스의 컨셉에 맞는 공격 이펙트를 구한 에셋에서 선별 - 선별한 스프라이트를 에디트로 분할 (이펙트의 크기, 중심이 제각각임) - 애니메이션으로 제작, 속도 조절 선별하여 애니메이션화 한 이펙트들 이펙트 스프라이트 팔레트 스왑 (색 바꾸기) 보스의 컨셉에 따라 대표적 색상을 정함 (해당 보스 컨셉은 푸른 불)그에따라 폭발 이펙트 (붉은색, 노란색 계열)를 푸른색으로 바꿀 필요가 있음 스프라이트 팔레트 스왑 방법 탐색 - 클립스튜디오 프로그램 내 기능 탐색 (적절한 기능 못찾음) - 포토샵 (프로그램 미소지, 방법 모름) - chat g..

Unity 최종프로젝트 TIL 11일차 25/04/18 [보스 사망 이벤트 추가, 기능 임시 병합]

오늘 한 일보스 사망 이벤트 추가각자 구현한 기능 임시로 병합 보스 사망 이벤트 추가결과물 목표 기능 - 보스 체력 0 으로 감소 - 보스가 진행하던 공격 패턴(코루틴) 중지 - 사망 직후 보스 사망 애니메이션 재생 - 사망 직후 보스를 중앙에두는 위치로 카메라 이동 - 사망 직후 잠시동안 게임 진행 시간 감속 - 일정시간 지난후 카메라, 게임시간 초기화 구현 방법 - BossController에서 모든 패턴(코루틴)을 진행중이므로 사망시 BossController스크립트에서 StopAllCoroutines()호출 - 모든 공격(코루틴) 중지 후 Death코루틴 시작 - Time.timeScale = 0.2f; , 사망 애니메이션 재생, 소유한 virtualCamera의 Priority 증가 - 일정..

Unity 최종프로젝트 TIL 10일차 25/04/17 [보스 공격 추가, 보스 스프라이트, 사이즈 지정]

오늘 한 일보스 레이저 박스 패턴 완성보스 스프라이트, 보스,캐릭터,맵,플랫폼 높이 사이즈 정함 보스 레이저 박스 패턴 결과물 구현목표 - 박스생성 (크기 확대 효과로 생성) - 박스 지정된 장소로 이동 ( 지정 장소 + 랜덤 범위 / 곡석 궤도 / 이동 중 회전 효과 ) - 지정 장소 도착 후 타겟 플레이어 위치에 따라 회전 ( right방향이 플레이어 추적 ) - 붉은 선 으로 경고 - 일정 시간 후 추적 중단, 시간 차 발사 - 지정된 횟수 만큼 추적, 발사 - 박스 소멸 구현 과정박스 투사체에 단계별 코루틴 생성곡선궤도 이동은 AnimationCurve를 이용해 구현이동중 회전효과는 lerp를 통해 이동시간 동안 360도 회전하도록 구현도착후 일정시간동안, Quaternion.RotateTowa..

카테고리 없음 2025.04.17

Unity 최종프로젝트 TIL 9일차 25/04/16 [보스 공격 추가]

오늘 한 일레이저 패턴 추가(미완성) 구현목표 - 다이아 모양의 오브젝트 생성 - 지정한 위치로 이동 - 다이아 한쪽 모서리가 지정된 타겟을 추적 - 각각의 모서리 방향으로 경고 후 레이저 발사 - 지정된 횟수만큼 추적, 경고, 레이저 발사 - 다이아 오브젝트 제거 단계별 복합적인 움직임을 가지기에 코루틴으로 동작중간에 이동 시 곡선적 움직임, 회전도 추가 예정 아직 완성안된 다이아오브젝트 스크립트(코루틴) 사진/텍스트더보기 IEnumerator BoxStart(){ while ( transform.localScale.x ().Init(_damage,transform.position,target) } time = 0f; while(time 아직 제작 중