위의 사진은 예시인데 저렇게 부채꼴 모양으로 화살이 나가도록 하는 로직을 강의에서 알려주셨다.
강의에서 처음에 그림으로 설명하시는데 이해가 안가서 질문드리러 갔더니
부채꼴 모양으로 나가도록 구현한 것이라 하셨다.
`부채꼴`이라고 하시니 이해가 됐다..
float minAngle = -(numberOfProjectilesPerShot / 2f) * projectilesAngleSpace + 0.5f * rangedAttackSO.multipleProjectilesAngle;
그런데 문제는 코드이다..
다른 사람들이랑 머리를 맞대고 고민을 해보다가 다같이 튜터님께 질문을 하러 갔다.
Q. `0.5`를 곱해서 보정한다고 하셨는데 정확히 무슨 의미인가요?
A. 화살이 부채꼴 모양으로 고르게 펼쳐져야하는데 중심선(캐릭터가 바라보는 방향)의 각도가 위아래 대칭이 되지 않아서 대칭이 되도록 보정한 것입니다.
그림으로 설명하자면 위와 같다.
개인적으로 이해한 코드 해석▼
`numberOfProjectilesPerShot / 2f` : 중간 나누기
`projectilesAngleSpace` : 얼만큼 간격을 띄울건지
`0.5f` : 중심선 보정치
`rangedAttackSO.multipleProjectilesAngle` : 위 아래 절반씩이니까
`projectilesAngleSpace + 0.5f` 이거 먼저 해야하는거 아닌가 헷갈렸는데
`0.5f * rangedAttackSO.multipleProjectilesAngle` 를 해야 전체 보정이 된다.
반응형
'스파르타 게임개발종합반(Unity) > TIL - 본캠프 매일 공부 기록' 카테고리의 다른 글
2024.05.13 TIL - 2D 정렬, 앞일 땐 앞이고, 뒤일 땐 뒤에 있기 (0) | 2024.05.13 |
---|---|
2024.05.10 TIL - event, Action, Func, Delegate (0) | 2024.05.10 |
2024.05.08 TIL - GravityScale, InputManger 설계 (0) | 2024.05.08 |
2024.05.07 TIL - 프로젝트 마무리 (0) | 2024.05.07 |
2024.05.03 TIL - 클래스 명시적 형변환, 포인터 (0) | 2024.05.03 |
댓글