DEG-55-플레이어-피격-구현 #5

Merged
jay merged 2 commits from DEG-55-플레이어-피격-구현 into main 2025-04-29 07:54:32 +00:00
Owner

목표

플레이어 피격 이펙트 구현 : CharacterBase의 OnGetHit에 이벤트 추가 형태로 구현

내용

  • JAY/Script/Effect 폴더 추가
  • CameraShake.cs, PlayerHitEffectController.cs 추가
  • PlayerController.cs 수정
    • TakeDamage, PlayerHitEffect 추가
  • PlayerControllerEditor.cs 수정
    • Player의 Hit 버튼 클릭 시 피격 이벤트 테스트 가능

현재 플레이어 피격 시 화면에 표시, 카메라 흔들림, 애니메이션이 있습니다.
단, 공격 시에 피격 당했을 시엔 피격 애니메이션은 없습니다(계속 공격을 막지 않기 위함)

테스트

JAY/Character Test Scene에서 확인 가능

## 목표 플레이어 피격 이펙트 구현 : CharacterBase의 OnGetHit에 이벤트 추가 형태로 구현 ## 내용 - JAY/Script/Effect 폴더 추가 - CameraShake.cs, PlayerHitEffectController.cs 추가 - PlayerController.cs 수정 - TakeDamage, PlayerHitEffect 추가 - PlayerControllerEditor.cs 수정 - Player의 Hit 버튼 클릭 시 피격 이벤트 테스트 가능 현재 플레이어 피격 시 화면에 표시, 카메라 흔들림, 애니메이션이 있습니다. 단, 공격 시에 피격 당했을 시엔 피격 애니메이션은 없습니다(계속 공격을 막지 않기 위함) ## 테스트 JAY/Character Test Scene에서 확인 가능
jay added 2 commits 2025-04-29 07:24:24 +00:00
FioreFlower approved these changes 2025-04-29 07:37:03 +00:00
FioreFlower left a comment
Owner

확인했습니다.

using문에 의문의 경고가 표시되고 있어요.
한번 확인해주세요.

확인했습니다. using문에 의문의 경고가 표시되고 있어요. 한번 확인해주세요.
@ -0,0 +1,48 @@
using UnityEngine;
Owner

이 줄에 뭔가 경고가 표시되는데 문자 이상한게 들어갔을 수 있으니 한번 확인해 주세용

이 줄에 뭔가 경고가 표시되는데 문자 이상한게 들어갔을 수 있으니 한번 확인해 주세용
Author
Owner

using UnityEngine;
using UnityEngine.UI;
using System.Collections;
확인해보니 딱히 뭐가 있진 않은데 이유를 잘 모르겠네요

using UnityEngine; using UnityEngine.UI; using System.Collections; 확인해보니 딱히 뭐가 있진 않은데 이유를 잘 모르겠네요
Owner

흠... 별 문제는 없을 것 같은데 해당 라인을 지우고 새로 타이핑을 하면 사라질까요?

흠... 별 문제는 없을 것 같은데 해당 라인을 지우고 새로 타이핑을 하면 사라질까요?
jay marked this conversation as resolved
Sehyeon approved these changes 2025-04-29 07:37:33 +00:00
Sehyeon left a comment
Owner

수고하셨습니다!
그러고보니 '공격 시에 피격 당했을 시엔 피격 애니메이션은 없습니다(계속 공격을 막지 않기 위함)' 라고 작성하셨는데, 저희 그러면 난이도가 쉬워지지 않을까하는 생각이 듭니다
현재도 애니메이션이 없어서 맞으면서 계속 공격 -> 한 자리에 서서 계속 공격하면 승리
의 패턴인데 이렇게 가도 괜찮을지... 약간 걱정이 들긴 하네요
고생하셨습니다!

수고하셨습니다! 그러고보니 '공격 시에 피격 당했을 시엔 피격 애니메이션은 없습니다(계속 공격을 막지 않기 위함)' 라고 작성하셨는데, 저희 그러면 난이도가 쉬워지지 않을까하는 생각이 듭니다 현재도 애니메이션이 없어서 맞으면서 계속 공격 -> 한 자리에 서서 계속 공격하면 승리 의 패턴인데 이렇게 가도 괜찮을지... 약간 걱정이 들긴 하네요 고생하셨습니다!
@ -109,0 +115,4 @@
_actionDash = new PlayerActionDash();
OnGetHit -= TakeDamage;
OnGetHit += TakeDamage;
Owner

이건 궁금해서 물어보는 건데 OnGetHit -= TakeDamage; 다음에 OnGetHit += TakeDamage; 하시는 이유가 있을까요..? 초기화라면 OnGetHit = null 로 해도 괜찮을 듯 한데 이렇게 하신 이유가 궁금합니다~!

이건 궁금해서 물어보는 건데 OnGetHit -= TakeDamage; 다음에 OnGetHit += TakeDamage; 하시는 이유가 있을까요..? 초기화라면 OnGetHit = null 로 해도 괜찮을 듯 한데 이렇게 하신 이유가 궁금합니다~!
Author
Owner
  1. 한자리에서 계속 공격 시 플레이어가 압도적으로 피가 적기 때문에 승리보다 사망이 먼저일거라 판단했습니다.
  2. OnGetHit를 다른 곳에서도 구독하고 있더라구요(DungeonLogic.cs) null로 가면 모든 구독이 초기화되는 걸로 압니다. 따라서 -=로 해당 함수만 중첩구독을 막았습니다.
1. 한자리에서 계속 공격 시 플레이어가 압도적으로 피가 적기 때문에 승리보다 사망이 먼저일거라 판단했습니다. 2. OnGetHit를 다른 곳에서도 구독하고 있더라구요(DungeonLogic.cs) null로 가면 모든 구독이 초기화되는 걸로 압니다. 따라서 -=로 해당 함수만 중첩구독을 막았습니다.
Owner

아하..

  1. 제가 현재 플레이어 체력 3칸 + 보스 체력 100으로 해서 간단하게 던전을 구현하였는데 한 자리에 서서 계속 공격만 하는 경우 플레이어의 피는 1~2칸이 깎이며 승리하게 됩니다. (https://github.com/Degulleo/Degulleo3D/pull/25 에서 확인 가능합니다)
    보스 공격 사이에 대기 시간이 있어서 생각보다 쉽게 승리가 가능합니다!

  2. 그런 이유였군요, 이해했습니다! 감사합니다~

아하.. 1. 제가 현재 플레이어 체력 3칸 + 보스 체력 100으로 해서 간단하게 던전을 구현하였는데 한 자리에 서서 계속 공격만 하는 경우 플레이어의 피는 1~2칸이 깎이며 승리하게 됩니다. (https://github.com/Degulleo/Degulleo3D/pull/25 에서 확인 가능합니다) 보스 공격 사이에 대기 시간이 있어서 생각보다 쉽게 승리가 가능합니다! 2. 그런 이유였군요, 이해했습니다! 감사합니다~
Author
Owner

제 생각엔 보스 피가 더 늘어나는 쪽이 맞을 것 같긴 한데...세현님은 플레이어 공격이 끊기고 피격 애니메이션 재생이 더 낫다고 생각하시나요? 요건 제가 혼자 답을 내리기보단 다른 분들 의견이 궁금하긴 하네요 한번 디코에 여쭤보는걸로...결론에 따라 추후 수정하는걸로 하겠습니다.

제 생각엔 보스 피가 더 늘어나는 쪽이 맞을 것 같긴 한데...세현님은 플레이어 공격이 끊기고 피격 애니메이션 재생이 더 낫다고 생각하시나요? 요건 제가 혼자 답을 내리기보단 다른 분들 의견이 궁금하긴 하네요 한번 디코에 여쭤보는걸로...결론에 따라 추후 수정하는걸로 하겠습니다.
jay marked this conversation as resolved
jay merged commit be0193573a into main 2025-04-29 07:54:32 +00:00
jay deleted branch DEG-55-플레이어-피격-구현 2025-04-29 07:54:53 +00:00
Sign in to join this conversation.
No Reviewers
No Label
No Milestone
3 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Degulleo/Degulleo3D#5
No description provided.