본문 바로가기
[ Unreal5 ]/- 언리얼엔진5 실습

언리얼엔진5 c++ GetLocation() 함수들 차이

by MRG 2024. 9. 16.
728x90
반응형

 

▣ GetComponentLocation()
설명: SceneComponent의 월드 좌표를 반환합니다. 

즉, 현재 게임 세계에서 해당 컴포넌트가 위치한 절대적인 좌표를 의미합니다.


언제 사용해야 하는가?
다른 객체와의 거리나 방향을 구할 때.
물리적 계산이나 충돌 판정 등에서 정확한 월드 위치가 필요할 때.

▣ GetActorLocation()
설명: Actor의 월드 좌표를 반환합니다. 

Actor의 루트 컴포넌트(Root Component)의 위치를 기반으로, 월드에서의 절대 좌표를 제공합니다.


언제 사용해야 하는가?
특정 Actor의 전체 위치를 얻고 싶을 때.
다른 Actor와의 상대적 위치나 방향을 계산할 때.

▣ GetRelativeLocation()
설명: SceneComponent의 상대 좌표(로컬 좌표)를 반환합니다. 

즉, 이 컴포넌트가 부모 컴포넌트에 대해 어느 위치에 있는지를 나타냅니다.


언제 사용해야 하는가?
부모와의 상대적인 위치를 계산할 때.
복잡한 구조(부모-자식 관계)를 갖는 객체에서 부모 객체를 기준으로 위치를 설정할 때.

▣ SetComponentLocation()
설명: SceneComponent의 월드 좌표를 설정하는 함수입니다. 

이를 통해 컴포넌트의 위치를 게임 월드 내의 특정 위치로 이동시킬 수 있습니다.


언제 사용해야 하는가?
컴포넌트의 위치를 직접 설정하고 싶을 때.
물리적 움직임을 구현하거나 특정 위치로 이동시키는 등의 작업에 사용.

▣ SetActorLocation()
설명: Actor의 월드 좌표를 설정하는 함수입니다. 

이를 통해 액터를 게임 월드 내의 특정 위치로 이동시킬 수 있습니다.


언제 사용해야 하는가?
특정 Actor를 지정된 위치로 즉시 이동시키고 싶을 때.
플레이어 캐릭터나 NPC의 위치를 재설정할 때.

▣ SetRelativeLocation()
설명: SceneComponent의 상대 좌표를 설정하는 함수입니다. 

부모 객체에 대해 상대적으로 이동시키고 싶을 때 사용합니다.


언제 사용해야 하는가?
부모 객체에 대해 특정 위치로 상대적으로 이동시키고 싶을 때.
예를 들어, 차량의 부품이 부모인 차량에 대해 상대적인 위치에서 움직이도록 설정할 때.

▣ AddActorWorldOffset()
설명: Actor의 현재 위치에서 주어진 벡터만큼 상대적으로 이동시키는 함수입니다. 

SetActorLocation과는 다르게, 현재 위치에 오프셋만큼 더하여 이동시킵니다.


언제 사용해야 하는가?
현재 위치에서 특정 값만큼 이동시키고 싶을 때.
물리적 힘에 의해 이동되거나, 특정 거리를 일정하게 이동시키고자 할 때.

▣ AddRelativeLocation()
설명: 컴포넌트의 현재 상대 위치에서 주어진 벡터만큼 상대적으로 이동시키는 함수입니다. 

부모 컴포넌트 기준으로 상대적인 이동을 처리할 때 유용합니다.


언제 사용해야 하는가?
부모에 대해 현재 상대 위치에서 특정 값만큼 이동시키고 싶을 때.

▣ K2_GetActorLocation()
설명: 블루프린트에서 주로 사용되는 함수로, GetActorLocation()과 동일하게 액터의 월드 좌표를 반환합니다.
언제 사용해야 하는가?
블루프린트에서 액터의 월드 위치를 가져올 때.

▣ 결론: 언제 어떤 함수를 사용해야 하는가?
월드 좌표가 필요할 때: GetComponentLocation(), GetActorLocation(), SetComponentLocation(), SetActorLocation()을 사용합니다. 월드 좌표는 객체가 실제로 게임 월드에서 위치하는 절대적인 좌표입니다.


상대 좌표가 필요할 때: GetRelativeLocation(), SetRelativeLocation(), AddRelativeLocation()을 사용합니다. 

이는 부모 컴포넌트를 기준으로 한 상대적인 좌표를 반환하거나 설정할 때 유용합니다.


위치를 오프셋으로 이동시킬 때: AddActorWorldOffset(), AddRelativeLocation()을 사용합니다. 이는 현재 위치에 상대적인 값을 더해 이동할 때 사용됩니다.

 

 

▣ 관련 API

 

https://docs.unrealengine.com/5.0/en-US/API/Runtime/Engine/Components/USceneComponent/GetComponentLocation/

https://docs.unrealengine.com/5.0/en-US/API/Runtime/Engine/GameFramework/AActor/GetActorLocation/

https://docs.unrealengine.com/5.0/en-US/API/Runtime/Engine/Components/USceneComponent/GetRelativeLocation/

https://docs.unrealengine.com/5.0/en-US/API/Runtime/Engine/Components/USceneComponent/SetWorldLocation/

https://docs.unrealengine.com/5.0/en-US/API/Runtime/Engine/GameFramework/AActor/SetActorLocation/

https://docs.unrealengine.com/5.0/en-US/API/Runtime/Engine/Components/USceneComponent/SetRelativeLocation/

https://docs.unrealengine.com/5.0/en-US/API/Runtime/Engine/GameFramework/AActor/AddActorWorldOffset/

https://docs.unrealengine.com/5.0/en-US/API/Runtime/Engine/Components/USceneComponent/AddRelativeLocation/

https://docs.unrealengine.com/5.0/en-US/API/Runtime/Engine/GameFramework/AActor/K2_GetActorLocation/

 

728x90
반응형

댓글