Unreal

5. Actor Class & Debug(2)

Kelvin의 게임개발 2023. 12. 5. 22:29
728x90
반응형

1. Drawing Debug Sphere

 

Draw Debug Sphere : 디버그용 구체를 그릴 수 있다

 

구체의 중심 위치 (FVector), 반지름 (float), 분할개수 (int32), 선 색 (FColor), 지속시간 (float), 구체 선 두께 (float) 들로 인자가 이루어져 있다

 

Get Actor Location : 원하는 Actor의 RootComponent위치를 (FVector) 가져온다

 

모든 Actor들이 가지고 있는 함수이다

 

#include "DrawDebugHelpers.h" //Debug 관련 함수 사용시 필요한 헤더파일

void AItems::BeginPlay()
{
	Super::BeginPlay();
	
	UWorld* World = GetWorld(); //Actor가 이 Level에 생성되지 않으면 nullptr을 반환한다 UWorld* 타입의 월드를 반환한다
	
	if (World)
	{
		FVector Location = GetActorLocation();

		DrawDebugSphere(World, Location, 25.f, 24, FColor::Red, false, 30.f);
	}
}

DrawDebugSphere() : 디버그용 구체를 그릴 수 있다

 

현재 월드 (UWorld*), 구체의 중심 위치 (FVector), 반지름 (float), Segment (int32), 선 색 (FColor), 디버그 영역을 계속 유지할것인가 (bool), 지속 시간 (float)를 인자로 가진다

 

 

2. Drawing Debug Line

 

Draw Debug Line : 디버그용 라인을 그릴 수 있다

 

선이 시작하는 위치 (FVector), 선이 끝나는 위치 (FVector), 선 색 (FColor), 지속 시간 (float), 선 두께 (float)를 인자로 가진다

 

대부분 끝나는 위치는 시작 위치 Vector + 방향 Vector * 원하는 길이값으로 처리한다 (Vector의 덧셈)

 

Get Actor Forward Vector : Actor의 정면 방향 Vector를 (FVector) 반환한다 (Normalized 되었기 때문에 길이는 1)

 

FVector Location = GetActorLocation();
FVector ForwardVec = GetActorForwardVector();

FVector EndVector = Location + ForwardVec * 100.f;

DrawDebugLine(World, Location, EndVector, FColor::Blue, false, 30.f, 1.f);

DrawDebugLine() : 디버그용 라인을 그릴 수 있다

 

현재 월드 (UWorld*), 선 시작 위치 (FVector), 선 끝나는 위치 (float), 선 색 (FColor), 디버그 선을 계속 유지할것인가 (bool), 지속 시간 (float), 선 두께 (float)를 인자로 가진다

 

 

3. Drawing Debug Point

 

Draw Debug Point : 디버그용 포인트를 찍을 수 있다

 

포인트 위치 (FVector), 포인트 사이즈 (float), 포인트 색 (FColor), 포인트 지속 시간 (float)을 인자로 가진다

 

FVector Location = GetActorLocation();

DrawDebugPoint(World, Location, 15.f, FColor::Blue, false, 50.f);

DrawDebugPoint() : 디버그용 포인트를 찍을 수 있다

 

현재 월드 (UWorld*), 포인트 위치 (FVector), 포인트 사이즈 (float), 포인트 색 (FColor), 디버그 포인트를 계속 유지할것인가 (bool), 포인트 지속 시간 (float)을 인자로 가진다

 

 

 

728x90
반응형

'Unreal' 카테고리의 다른 글

7. Expose Variable & Function, Template Function, Components  (137) 2023.12.14
6. Moving Object & Trig Function(삼각함수)  (131) 2023.12.08
4. Actor Class & Debug(1)  (1) 2023.12.05
3. Reflection System  (1) 2023.11.18
2. Vector & Rotator & Trigonometry  (0) 2023.11.18