반응형
FHitResult의 Actor는 GetActor()로 변경 되었습니다.
UE4 코드
UE4에서는 WeakPointer를 기반 하였습니다. (TWeakObjectPtrBase::Get(), TWeakObjectPtrBase::IsValid())
TArray<AActor*> collidedActors;
for (auto& hitResult : HitResults)
{
if (!hitResult.bBlockingHit && hitResult.Actor.IsValid())
{
collidedActors.Add(hitResult.Actor.Get());
}
}
UE5 코드
WeakPointer에서 FActorInstanceHandle로 구현이 변경 되었습니다.
TArray<AActor*> collidedActors;
for (auto& hitResult : HitResults)
{
if (!hitResult.bBlockingHit && hitResult.GetActor())
{
collidedActors.Add(hitResult.GetActor());
}
}
// UE5
FORCEINLINE AActor* GetActor() const
{
return HitObjectHandle.FetchActor();
}
FActorInstanceHandle의 설명은 다음과 같습니다.
Handle to a unique object. This may specify a full weigh actor or it may only specify the light weight instance that represents the same object.
내부 구현을 보면 FActorInstanceHandle역시 WeakPointer에 기반 하는 것을 알 수 있습니다.
USTRUCT(BlueprintType)
struct ENGINE_API FActorInstanceHandle
{
...
/** this is cached here for convenience */
UPROPERTY()
mutable TWeakObjectPtr<AActor> Actor;
/** Identifies the light weight instance manager to use */
TWeakObjectPtr<ALightWeightInstanceManager> Manager;
...
};
'게임 개발 > Unreal Engine' 카테고리의 다른 글
[UE5] 모션 워핑으로 회전과 대시 구현 (0) | 2022.03.14 |
---|---|
[UE5] Cannot open include file: 'CommonAnimationTypes.generated.h' 해결 (0) | 2022.03.13 |
[UE4] TSet의 KeyFuncs 사용하여 구조체 키를 사용는 방법 (0) | 2022.02.21 |
[UE4] TMap의 KeyFuncs 사용하여 구조체 키를 사용는 방법 (0) | 2022.02.21 |
[UE4] TMap, TSet의 Key 값으로서 구조체를 사용 방법 (0) | 2022.02.21 |