최종 프로젝트 7/28 작업 일지
·
스파르타코딩클럽_Unity개발과정
1. 차저의 레이저가 건물에 색칠하지 못하는 에러 > 레이캐스트 이원화(건물, 상대 팀 플레이어 각각 다른 방법으로 검출)로 해결 > 맞은 지점이 필요한 건물은 RayCastAll로 뚫고 지나가는 모든 건물들에 검출 > 색칠 > 단, 한 건물에 한번만 맞는다는 점이 있어서 자연스럽게 보이지 않음 > 맞았는지 여부만 필요한 상대 플레이어는 CapsuleCastAll로 뚫고 지나가는 모든 상대 플레이어들을 검출 > 대미지 2. 훅의 머리가 이상한 각도로 꽂혀 물감 흡수가 안되는 에러 > 캐릭터가 화면 밖 방향(실제 플레이어 방향)을 바라본 상태로 건물 쪽에 훅을 발사할 경우 자주 발생 3. 훅의 머리가 건물을 통과하는 에러 > 원래 있던 에러 > 레이를 방사형으로 여러 발 발사하여 훅을 꽂은 지점 인근의 색..
7/25 최종 프로젝트 작업 일지
·
스파르타코딩클럽_Unity개발과정
1. 범위 탄환 물감이 특정 오브젝트에 색칠되지 않는 문제접점으로부터 수직 방향으로 레이캐스트 시작 위치의 이격을 더 크게 주어(레이캐스트가 해당 물체 안으로 빛을 쏘지 않도록 하기 위함) 테스트 > 해결 2. 각 픽셀 UV에 색상 대신 팀 ID 값을 저장>> 기존의 색상을 비교해 물감 흡수, 점유율 판정하던 방식을 변경할 필요가 있음1) 구조 개편이 된다면 예상되는 결과 > 완료!(1) 물감 인접한 색칠되지 않은 영역에 훅을 꽂았을 때 충전되던 문제 해결(2) 다양한 팀 컬러를 사용할 수 있어 게임의 다채로움을 더할 수 있음(3) 게임 중 연산 빈도가 잦은 부분의 연산량 감소로 성능 개선 2) 해결 과정(1) 셰이더 코드 중 색칠한 부분을 누적하는 마스크에 해당 영역들에 색상 대신 팀 값을 부여하게끔 ..
7/23 최종 프로젝트 작업 일지
·
스파르타코딩클럽_Unity개발과정
1. RPG - 기본 총과 구조는 비슷한데 좀 더 묵직 + 포격어떻게 만들어야 하나?1) 기본 총, 탄환, 이펙트들 프리팹 복사 + 무기, 탄환 데이터들 복사 2) 탄환 (일반 탄환 대비) 중력 가속도 증가, 속도 감소, 라이프타임 증가, 물감 색칠 범위 증가, 대미지 증가 스크립트 상에서 착탄 '범위' 에 딜+색칠 3) 이펙트 (1) 착탄 이펙트 : 폭발이라는 느낌이 들게 크게 + 공격 범위에 맞게 > 나선환처럼 파티클이 회전 > 파티클의 velocity에 회전을 주는 것이 있어 이를 통해 표현(2) 발사 이펙트는 rpg 발사할 때 연기처럼 물감이 총 옆+뒤쪽으로 살짝 뿌려지게 (3) 트레일도 일반 총알보다 좀 더 과하게 표현해보기 4) 무기 : 외형만 바꾸기 + firePos 조정 // 테스..
최종 프로젝트 7/21 작업일지
·
스파르타코딩클럽_Unity개발과정
7/17 작업 노트 1. 저격총 - 스플래툰 차저와 유사 어떻게 만들 것인가? (1) 마우스를 짧게 눌렀다 떼면 : 일반 총처럼 동작. 하지만 성능이 그것보단 좋지 않음. 적이 근접했을 때 전투용 (2) 마우스를 길게 누르면 : 차지 시작 + 레이저로 타겟까지 표시(타겟도 자신이 조준당함을 인지할 수 있게끔) > 차지가 끝나면 히트 스캔 발사 (적을 한방에 처치할 수 있는 100 대미지) + 레이저 표시 off차지 시간 파라미터 필요. 두 유형의 공격에 대응하기 위해 기존에 만들어 둔 탄환, 히트스캔형 무기 데이터 둘을 모두 보유 (3) 색칠 범위는 좁음. 스플래툰 처럼 경로 아래에 색칠하게 하는 건 가능하긴 하나 바닥 색칠이 따로 안되기에 효용성은 적다 생각 1번과 2번의 2가지 공격 방식을 구분하기 ..
최종 프로젝트 7/18 작업노트
·
스파르타코딩클럽_Unity개발과정
1. 탄환 개선 > 기본 무기의 탄이 잘 맞지 않아 탄속 증가, 탄환 크기 증가로 플레이 중 더 적극적인 교전이 발생하도록 개선하려 함 1) 탄속 빠르게, 탄환 라이프타임 감소 Gun 탄환 스케일 증가 2. 무기 추가 1) 샷건 (아마도 분무기)> 히트스캔 방식으로 공격 범위 내 적 모두 타격 + 색칠 가능한 오브젝트 색칠 > 이렇게 하면 샷건같이 범위에 전체 색칠하는 느낌이 들지 않을까? // 샷건의 탄환은 근거리에서 퍼지는 이펙트만 보여주지 실제 물리 충돌로 대미지를 주지 않음 // 물리적인 탄을 여러발 발사하는 것의 부하가 큼 + 여러발 맞거나 맞지 않는 등 무기 성능의 밸런싱이 어려움 // > 대미지는 발사할 때 샷건 무기에서 공격 범위 히트 스캔으로 처리 // ..
최종 프로젝트 7/17 작업노트
·
스파르타코딩클럽_Unity개발과정
1. PunRPC를 통해 모든 클라이언트에 이펙트(vfx, sfx) 호출의 관리 최적화 > vfx 오브젝트 풀링을 이용한 생성/파괴 최소화 > sfx 사운드 매니저를 이용하여 클립 하나로 사용 최소화 > vfx+sfx 동시 호출, vfx, sfx 각각 필요한 것만 호출 등 상황에 맞는 + 패킷을 여러번 만들어 보내고 푸는 과정을 줄여 통신 성능 최적화 2. 색칠할 오브젝트의 기존 물성이 들어가지 않는 버그 > 게임 시작 시 셰이더 그래프의 프로퍼티 Metallic, Smoothness에 기존 머티리얼의 물성값을 넣어줘서 해결 3. 플레이어 잉크 잔량 표시 UI를 해당 팀 물감 색으로 변경 > Start()에서 변경하여 문제가 없을 것으로 생각했으나, 한 플레이어가 사망 후 리스폰 시 해당 팀 물감색으로..
최종 프로젝트 7/16 작업노트
·
스파르타코딩클럽_Unity개발과정
총알 이펙트 색상을 팀 색상으로 변경+ 총알에 모든 이펙트와 관련 데이터를 붙여두는 방식에서 오브젝트 풀링으로 이펙트를 호출하게끔 구조 개편1. 어떤 색상들을 바꿔야 하는가?발사/자취/착탄 이펙트 에셋에 색상을 표현하는 요소들 뜯어보기 1) muzzle (발사) (0) Particle System > Renderer > Material > Emission 자식 (1) Light > Emission > Color (2) Particle System > Start Color (3) Particle System > Renderer > Material > Emission (4) Particle System > Start Color 2) Impact (착탄) (0) Parti..
최종 프로젝트 7/15 작업 노트
·
스파르타코딩클럽_Unity개발과정
어제 머지 이후 멀티 테스트에서 나온 문제를 해결하였습니다. 1. 물감 색이 다른 팀 색으로 들어갈 때가 있음 > 총알 오브젝트 풀(로컬)의 상태가 모든 클라이언트에서 동일하지 않음 > A, B팀 총알들, 이펙트들에 대해 종류, 팀별로 오브젝트 풀을 각각 나누어 관리 (완) > 기존의 메서드를 타입별로 내용을 쪼개어 따로 둠 > 매개변수 휴먼 에러 방지 > 진행하면서 리팩토링 및 최적화 > 결과: 다른 팀의 물감을 색칠하지 않게 됨. 문제 해결 2. 대미지가 2번 들어가는 에러 발생1) 상황 관찰1P가 2P를 때렸을 때, 2p에게 맞았다는 로그가 먼저 뜸 (?)이후에 1P에게서 맞았다는 정상적인 메시지가 뜸해당 로그 둘의 시간은 동시간하이어라키 확인 결과 1발만 발사 > 여러발이 동시에 발사되는 ..
최종 프로젝트 7/14 작업 노트
·
스파르타코딩클럽_Unity개발과정
> 1. PunRPC Attribute를 이용한 메서드 내용 다른 클라이언트에 전달할 때 발생한 에러 1) 에러 발생 상황탄환, 이펙트는 자주 호출> 로컬 오브젝트 풀에서 관리> 로컬 오브젝트 풀에서 호출할 때, 다른 클라이언트에서도 풀에서 꺼내서 초기화하라고 요청 보내기 (RPC 메서드)> (에러!) 2) 에러 원인: RPC 메서드의 매개변수로는 유니티 API 자료형은 들어갈 수 없습니다.(GameObject, Transform, Color 등)3) 현재 구조대기방에서 입장 전 팀을 나누어 각 플레이어에 팀 색상을 뿌려주는 방식 4) 해결 (1) DataManager 싱글톤 추가 지금의 구조를 크게 바꾸지 않으면서도 어디서나 참조할 데이터들을 넣어둘 수 있는 장점이후에도 동일한 접근을 해야할 데이터들...
7/11 작업노트
·
스파르타코딩클럽_Unity개발과정
주말에 정리1. 총 여러개 생성 (완) > 다른 클라이언트의 총이 해당 플레이어에게 장착되지 않은 것으로 보임 > 원인: transform.parent를 통해 상속을 해주면 로컬에서만 적용 > 해결: PhotonNetwork.RaiseEvent를 통해 모든 클라이언트에 상속 변화를 송신하는 이벤트 생성 > 정상 동작 확인 2. 총알의 탄환이 발사하는 플레이어 자신한테 맞지 않게 + 총이 색칠할 구조물을 뚫지 않도록 > 무기 콜라이더 넣었음 > 스폰 지점의 배리어에 걸려서 움직이지 못함 총: 콜라이더 줬고 > 생성될 때 팀A,B 레이어 부여 총알: 발사할 때 탄A,B 레이어 알맞게 부여 프로젝트 설정에서 같은 팀끼리는 안맞게 하기 > + 스폰 지점의 배리어를 트리거로 바꿈 이런데도 탄이 발사할 때 다른 ..