[Unreal Engine 4 C++] DrawDebugLine의 InWorld인자 주의점

2022. 3. 4. 20:20· Unreal Engine/C++
void UAN_PRFootStep::Notify(USkeletalMeshComponent* MeshComp, UAnimSequenceBase* Animation)
{
	Super::Notify(MeshComp, Animation);

	APRBaseCharacter* PROwner = Cast<APRBaseCharacter>(MeshComp->GetOwner());
	if(IsValid(PROwner) == true)
	{
		FHitResult HitResult;
		bool bIsHit = false;
		FVector TraceStart = PROwner->GetActorLocation();
		FVector TraceEnd = TraceStart + FVector(0.0f, 0.0f, 150.0f);
        
		DrawDebugLine(GetWorld(), TraceStart, TraceEnd, FColor::Green, false, 5.0f, 0, 2.0f);
	}
}

 AnimNotify에서 LineTrace를 쏴서 바닥의 재질에 따른 소리 출력을 구현하려다가 생긴 문제점이다.

 LineTrace에 부딪힌게 없다고 나와서 DrawDebugLine으로 확인하려고 했는데 DebugLine이 생기질 않았다.

 오늘 하루동안 이것저것 알아보니 DrawDebugLine의 InWorld인자 부분을 GetWorld()가 아닌 MeshComp의 Owner에서 GetWorld()를 넣어야 출력이 되었다.

 액터들의 경우 자신이 있는 월드를 가져올 수 있지만 AnimNotify같은 월드에 존재하지 않는 것들은 GetWorld()로 월드를 가져올 수 없는 것 같다.

 

void UAN_PRFootStep::Notify(USkeletalMeshComponent* MeshComp, UAnimSequenceBase* Animation)
{
	Super::Notify(MeshComp, Animation);

	APRBaseCharacter* PROwner = Cast<APRBaseCharacter>(MeshComp->GetOwner());
	if(IsValid(PROwner) == true)
	{
		FHitResult HitResult;
		bool bIsHit = false;
		FVector TraceStart = PROwner->GetActorLocation();
		FVector TraceEnd = TraceStart + FVector(0.0f, 0.0f, 150.0f);
        
		DrawDebugLine(PROwner()->GetWorld(), TraceStart, TraceEnd, FColor::Green, false, 5.0f, 0, 2.0f);
	}
}

<수정한 코드>

저작자표시 (새창열림)

'Unreal Engine > C++' 카테고리의 다른 글

[Unreal Engine 4 C++] SetTimer를 활용한 Delay구현  (0) 2022.12.08
[Unreal Engine 4 C++] C++에서 구현한 정적 함수와 일반 함수의 블루프린트에서 사용시 차이점  (0) 2022.09.26
[Unreal Engine 4 C++] FRotator로 ForwardVector와 RightVector 구하기  (0) 2022.02.07
[Unreal Engine 4 C++] 약 포인터(TWeakObjectPtr)  (0) 2021.10.14
[Unreal Engine 4 C++] 델리게이트에서 AddUObject, AddUFunction  (0) 2021.10.14
'Unreal Engine/C++' 카테고리의 다른 글
  • [Unreal Engine 4 C++] SetTimer를 활용한 Delay구현
  • [Unreal Engine 4 C++] C++에서 구현한 정적 함수와 일반 함수의 블루프린트에서 사용시 차이점
  • [Unreal Engine 4 C++] FRotator로 ForwardVector와 RightVector 구하기
  • [Unreal Engine 4 C++] 약 포인터(TWeakObjectPtr)
한돌이
한돌이
GameProgramer 취업준비 중 onestone3647@gmail.com
한돌이
Lykan Studio
한돌이
전체
오늘
어제
  • 분류 전체보기 (102)
    • Daily Life (0)
    • Project (15)
      • Replica (10)
      • CE (1)
      • T (4)
    • Unreal Engine (74)
      • C++ (40)
      • Blueprint (5)
      • AI (5)
      • Effect (3)
      • UMG (2)
      • Error (2)
      • etc. (16)
    • Study (8)
      • C++ (2)
      • Algorithm (0)
      • API (4)
      • Git (2)
    • etc. (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • project
  • threadsafe
  • Study
  • error
  • Project Replica
  • etc.
  • 자소서
  • UnrealEngine4
  • ProjectReplica
  • ADB
  • Unreal Engine
  • ETC
  • GIT
  • c++
  • Unreal Engine 4 C++
  • Project T
  • daily life
  • Unreal Engine etc.
  • Unreal Engine4 Effect
  • Unreal Engine 4
  • .etc
  • API
  • Unreal Engine 4 Error
  • ProjectT
  • Unreal Engine4
  • Unreal Engine 5
  • 오류

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
한돌이
[Unreal Engine 4 C++] DrawDebugLine의 InWorld인자 주의점
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.