inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해

6강 캐릭터 공격 판정

캡슐 드로우 관련 질문입니다.

147

dhqks6

작성한 질문수 5

0

수업 자료 중에 Half Height가 캡슐의 반구 부분을 제외한 몸통 부분의 절반 높이라고 표현되어있고, 수업 코드상 수치도 그렇게 계산 된 것으로 보입니다.
하지만 아무리 테스트해 봐도 판정 범위와 다른것 같아 테스트 결과와 함께 질문드립니다.

image.pngimage.png

위 사진은 수업 코드와 그 실행 결과입니다.
NonPlayer의 캡슐와 닿지 않아도 충돌 처리 된 모습입니다.
아래 사진은 Half Height에 캡슐의 반구 크기를 포함 시킨 수치를 적용한 코드와 그 실행 결과입니다. 그려진 캡슐과 정확히 겹칠 때 충돌 처리된 모습입니다.

image.pngimage.pngimage.png

그래서 아래의 자료에서 초록색으로 표기한 길이가 Half Height인지, 혹은 수업 자료의 Half Height는 맞지만 DrawDebugCapsule함수의 인자만 초록색 표기된 부분으로 사용하는 것인지 질문드립니다!!

image.png



unreal-engine ue-blueprint 언리얼-c++

답변 2

0

이득우

일반적인 캡슐 도형에서의 Half Height는 보통 반구(Hemisphere)가 시작되는 직전까지의 거리를 의미하는데, 언리얼 엔진은 이와 다르게 Half Height를 반구를 포함한 개념으로 정의해 사용하고 있습니다.
이 부분은 강의 노트에 반영해두겠습니다.

1

dhqks6

넵 감사드립니다!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. dhqks6님,

질문해주신 내용은 언리얼 엔진에서 캡슐의 Half Height와 충돌 범위에 관한 것입니다. 이 개념은 개발자들에게 혼동을 줄 수 있는데, 기본적으로 언리얼 엔진에서 “Capsule Half Height”는 캡슐의 전체 높이에서 반구 부분을 제외한 몸통 부분의 절반 높이를 의미합니다. 하지만 디버그 캡슐을 그릴 때 사용하는 DrawDebugCapsule 함수에서는 계산이 약간 달라질 수 있습니다.

캡슐의 Half Height

언리얼 엔진의 캡슐은 기본적으로 두 개의 반구와 하나의 원통으로 구성됩니다:
- Radius: 캡슐의 반구 부분의 반지름입니다.
- Half Height: 이 값은 원통의 중심에서 양쪽 반구의 중심까지의 거리로 정의됩니다. 캡슐의 반구를 포함하지 않는 원통 부분의 절반 높이를 의미하지만 실제 계산에서는 반구의 반지름 값이 포함되기도 합니다.

DrawDebugCapsule 함수의 사용

디버그 용도로 캡슐을 그릴 때 사용하는 DrawDebugCapsule 함수는 이 Half Height 계산을 다르게 해석할 수 있습니다. 정확한 충돌 범위를 시각적으로 확인하기 위해서는 반구의 반지름을 반영한 계산이 적절할 수 있습니다.

  • 기본 Half Height의 경우, 캡슐의 중심 기준으로 반구를 포함하지 않은 부분을 측정할 수 있습니다.
  • 디버그 캡슐을 그릴 때에는 필요한 경우 반구의 반지름을 포함하여 계산하여 충돌 영역이 정확히 반영되도록 합니다.

결론적으로, 두 번째 시도에서 반구의 반지름을 포함한 Capsule Half Height 설정이 더 정확한 결과를 제공합니다. 이는 게임에서의 충돌 판정을 보다 정확하게 반영하는 데 유리합니다.


[기존 질문과 답변에서의 유사한 내용]이 있습니다:

  • 입문에서 Lab 중…: 이 링크에서는 유사하게 디버그 캡슐의 Half Height 계산에 대해 다루고 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

무한맵 제작과정중에 GetWorld 가 Nullptr 을 반환합니다.

0

42

2

12강 행동트리에서 질문이 있습니다.

0

51

1

위젯 사이즈랑 위치 질문드려요.

0

81

3

행동트리의 데코레이션 관련하여 질문이 있습니다.

0

93

3

VS 2026 의 문제일까요?

0

479

2

에셋참조 블루프린트질문

0

67

2

애님 몽타주 콤보 관련질문

0

70

2

ThirdPerson CDO 에러가 생깁니다.

0

95

3

캐릭터가 움직이지 않습니다.

0

179

4

쿠킹 폴더 지정시 , Item 이외에는 지정하지 않는지 궁금합니다.

0

62

2

TSoftObjectPtr 를 사용했음에도, 메모리에 로드 됩니다.

0

94

2

7강에 나오는 생성자에 대해서 궁금합니다.

0

78

2

6강을 마무리하며 트레이스 채널 을 이해하지 못했습니다.

0

73

2

3강을 마무리 하며, 카메라가 움직이지 않습니다.

0

70

2

Use Controller Rotation 옵션값이 궁금합니다.

0

83

2

3강 입력 시스템 적용 중, 5.6 버전은 입력 매팅이 2개 입니다.

0

64

2

PlayerController 에 대헤 제가 잘못 이해한 것 같습니다.

0

78

2

13강 UpdateStat 부분에서 문제를 겪고 있습니다.

0

63

2

BP_PlayerController의 CustomEvent노드 이유가 궁금합니다.

0

64

1

콤포넌트 포인터 선언시 TObjectPtr<>과 UStaticMeshComponent* 차이점

0

72

2

CharacterMovementComponent의 RotationRate관련해서 질문이 있습니다.

0

114

2

언리얼 공부방법에 대해 질문드립니다.

0

86

2

4강 에서 이상한 그림자가 남습니다.

0

46

1

2강에서 카메라 회전안되시는분 참고

2

89

2