진행한 것들
구글 비공개 테스트
- 비공개 테스트 진행 (본격적인 프로덕션을 출시하기 전 비공개 테스트가 필수적임)


오늘의 이슈 / 내일 할 것
오늘 이슈
- Web 빌드 시 플레이어 공격이 여러 번 되는 버그
<기존 코드>
protected override void OnAttack()
{
HealthSO targetSO = null;
IDamageable damageable = null;
Vector3 offsetVec = UpdateRayOffset();
RaycastHit[] middle = Physics.RaycastAll(offsetVec, modelTrans.forward, _playerSO.AttackRange, layer);
List<RaycastHit> hits = new List<RaycastHit>(middle);
Vector3 topVec = offsetVec + new Vector3(0f, rayOffsetYMod, 0f);
RaycastHit[] top = Physics.RaycastAll(topVec, modelTrans.forward, _playerSO.AttackRange, layer);
hits.AddRange(top);
Vector3 bottomVec = offsetVec + new Vector3(0f, -rayOffsetYMod, 0f);
RaycastHit[] bottom = Physics.RaycastAll(bottomVec, modelTrans.forward, _playerSO.AttackRange, layer);
hits.AddRange(bottom);
hits.Distinct();
}
원인 : RaycastHit이 ValueType이라 Distinct를 하더라도 중복값 체크가 되지 않음
해결 : RaycastHit의 ReferenceType인 Collider에 접근하여 중복을 허용하지 않는 HashSet을 통해 해결
<해결 코드>
protected override void OnAttack()
{
HealthSO targetSO = null;
IDamageable damageable = null;
Vector3 offsetVec = UpdateRayOffset();
HashSet<Collider> hits = new HashSet<Collider>();
RaycastHit[] middle = Physics.RaycastAll(offsetVec, modelTrans.forward, _playerSO.AttackRange, layer);
AddNewRaycastHit(hits, middle);
Vector3 topVec = offsetVec + new Vector3(0f, rayOffsetYMod, 0f);
RaycastHit[] top = Physics.RaycastAll(topVec, modelTrans.forward, _playerSO.AttackRange, layer);
AddNewRaycastHit(hits, top);
Vector3 bottomVec = offsetVec + new Vector3(0f, -rayOffsetYMod, 0f);
RaycastHit[] bottom = Physics.RaycastAll(bottomVec, modelTrans.forward, _playerSO.AttackRange, layer);
AddNewRaycastHit(hits, bottom);
}
private void AddNewRaycastHit(HashSet<Collider> hits, RaycastHit[] middle)
{
foreach (var item in middle)
{
Collider collider = item.collider;
if (!hits.Contains(collider))
hits.Add(collider);
}
}

내일 할 것
- 웹 QA 피드백 반영하기
오늘의 회고
오늘은 구글 플레이 스토어에 앱 정보를 등록했다. 우리가 개발한 프로젝트에 해당되지 않는 질문들이 많았고 그거 보는 재미도 있었던 것 같다. 그리고 생각보다 이미지 규격이 까다로웠는데 아마 모바일에서 해상도를 맞추느라 제한이 있는가보다 하고 생각했다. 내일은 웹 배포 한 것을 바탕으로 유저 피드백을 반영할 생각이다. 내일도 파이팅!
'스파르타 Unity 1기' 카테고리의 다른 글
DevLog - 이그라엘(IGRAL) 유저 피드백 반영(2) (0) | 2023.12.08 |
---|---|
DevLog - 이그라엘(IGRAL) 유저 피드백 반영 (1) | 2023.12.07 |
DevLog - 이그라엘(IGRAL) Web 빌드 및 배포 (1) | 2023.12.05 |
DevLog - 이그라엘(IGRAL) 본 씬에 보스 적용 (0) | 2023.12.04 |
DevLog - 이그라엘(IGRAL) 근접 공격, 보스 UI 적용 (0) | 2023.12.01 |