[UE5] Crypt Raider (1)

2023. 11. 11. 17:13·Unreal 공부/UE5 GameDev

본 글은 영상 을 공부한후 이해하기 어려운 부분과 기록을 작성한 글입니다.

https://www.udemy.com/course/unrealcourse-korean/


AActor::

AActor::GetOwner

이 액터의 소유자를 가져옵니다.
Get the owner of this Actor, used primarily for network replication.

Module :  Engine
Header :  /Engine/Source/Runtime/Engine/Classes/GameFramework/Actor.h
Include :  #include "GameFramework/Actor.h"
Syntax :  AActor * GetOwner() const

AActor::GetActorNameOrLabel

해당 액터의 이름이나 레이블을 반환하는 기능을 가집니다.

Module :  Engine
Header :  /Engine/Source/Runtime/Engine/Classes/GameFramework/Actor.h
Include :  #include "GameFramework/Actor.h"
Syntax :  const FString GetActorNameOrLabel() const

AActor::GetActorLocation

이 액터의 RootComponent 위치를 반환합니다

Module :  Engine
Header :  /Engine/Source/Runtime/Engine/Classes/GameFramework/Actor.h
Include :  #include "GameFramework/Actor.h"
Syntax :  FVector GetActorLocation() const


Module :  Core

FVector::ToCompactString

압축적으로 읽을 수 있는 로깅을 위해 해당 벡터의 값을 FString 형태로 변환하여 반환합니다.

Module :  Core
Header :  /Engine/Source/Runtime/Core/Public/Math/Vector.h
Include :  #include "Math/Vector.h"
Syntax :  FString ToCompactString() const

FMath::VInterpConstantTo

한 벡터를 다른 벡터로 일정한 속도로 점진적으로 이동시키는 데 사용됩니다. 
이 함수는 특히 애니메이션, 움직임 처리, 오브젝트 간의 부드러운 이동 등에 유용하게 사용됩니다.

Module :  Core
Header :  /Engine/Source/Runtime/Core/Public/Math/UnrealMathUtility.h
Include :  #include "Math/UnrealMathUtility.h"
Source :  /Engine/Source/Runtime/Core/Private/Math/UnrealMath.cpp
Syntax : 
static FVector VInterpConstantTo
(
    const FVector & Current,
    const FVector & Target,
    float DeltaTime,
    float InterpSpeed
)

 

매개 변수

  • Current : 현재 벡터의 위치입니다.
  • Target : 목표 벡터의 위치입니다.
  • DeltaTime : 이전 프레임과 현재 프레임 사이의 시간 간격입니다. 일반적으로 게임 루프나 업데이트 함수에서 계산된 DeltaTime을 사용합니다.
  • InterpSpeed : 벡터가 이동할 속도입니다. 이 값이 높을수록 벡터는 더 빠르게 목표 위치로 이동합니다.

struct FHitResult

충돌 검사(예: 레이캐스팅) 결과의 정보를 담고 있는 구조체입니다. 이 구조체는 충돌이 발생했을 때 어떤 오브젝트와 충돌했는지, 충돌한 지점의 위치, 충돌한 표면의 방향(normal), 그리고 기타 관련 정보를 제공합니다.

Module :  Engine
Header :  /Engine/Source/Runtime/Engine/Classes/Engine/EngineTypes.h
Include :  #include "Engine/EngineTypes.h"
Syntax :  struct FHitResult

 

 멤버 변수

  • Actor : 충돌이 발생한 Actor에 대한 참조입니다. 만약 충돌이 발생하지 않았다면 nullptr일 수 있습니다.
  • Component : 충돌이 발생한 Actor의 구체적인 Component에 대한 참조입니다. 예를 들어, Actor의 StaticMeshComponent 또는 BoxComponent 등이 이에 해당할 수 있습니다.
  • ImpactPoint : 실제 충돌이 발생한 지점의 월드 공간 좌표입니다.
  • Normal : 충돌 지점에서의 충돌 표면의 법선(normal) 벡터입니다. 이 벡터는 충돌 표면에 수직이며, 충돌 처리나 반사 계산에 사용될 수 있습니다.
  • Distance : 레이캐스트의 시작점으로부터 충돌 지점까지의 거리입니다.
  • Location : 레이캐스트 라인 상에서 충돌이 감지된 지점입니다. ImpactPoint와 유사하지만, 충돌 처리에 따라 약간 다를 수 있습니다.
  • bBlockingHit : 충돌이 발생했는지 여부를 나타내는 불리언 값입니다. true는 충돌이 발생했음을 의미합니다.

 


UWorld::~Channel

UWorld::LineTraceSingleByChannel

메서드는 세계(world) 내에서 단일 라인 트레이스(line trace)를 수행하여, 지정된 트레이스 채널(trace channel)을 사용하여 첫 번째 충돌을 감지하는 기능을 제공합니다. 
이 메서드는 물리적 충돌 검사에 자주 사용되며, 특정 경로를 따라 첫 번째로 만나는 오브젝트를 찾습니다.

Module :  Engine
Header :  /Engine/Source/Runtime/Engine/Classes/Engine/World.h
Include :  #include "Engine/World.h"
Source :  /Engine/Source/Runtime/Engine/Private/Collision/WorldCollision.cpp
Syntax

bool LineTraceSingleByChannel
(
    struct FHitResult & OutHit,
    const FVector & Start,
    const FVector & End,
    ECollisionChannel TraceChannel,
    const FCollisionQueryParams & Params,
    const FCollisionResponseParams & ResponseParam
) const

OutHit :  트레이스가 성공적으로 오브젝트와 충돌했을 때의 결과를 저장하는 FHitResult 구조체입니다.
Start :  트레이스의 시작점을 나타내는 FVector입니다.
End :  트레이스의 종료점을 나타내는 FVector입니다.
TraceChannel :  사용할 충돌 채널을 지정하는 ECollisionChannel 열거형 값입니다.
Params :  충돌 쿼리에 대한 추가 매개변수를 제공하는 FCollisionQueryParams 구조체입니다. 이를 통해 특정 액터를 무시하거나 트레이스의 정밀도를 설정할 수 있습니다.
ResponseParam :  충돌 응답에 대한 매개변수를 제공하는 FCollisionResponseParams 구조체입니다.


UWorld::LineTraceMultiByChannel

주어진 시작점과 종료점 사이에 있는 모든 오브젝트를 검출하는 레이캐스트(raycast)를 수행합니다. 이 함수는 특정 충돌 채널(Collision Channel)을 기준으로 레이캐스트를 실행하고, 해당 경로에 있는 모든 오브젝트와의 충돌을 감지합니다.

Module :  Engine
Header :  /Engine/Source/Runtime/Engine/Classes/Engine/World.h
Include :  #include "Engine/World.h"
Source :  /Engine/Source/Runtime/Engine/Private/Collision/WorldCollision.cpp
Syntax : 
bool LineTraceMultiByChannel
(
    TArray< struct FHitResult > & OutHits,
    const FVector & Start,
    const FVector & End,
    ECollisionChannel TraceChannel,
    const FCollisionQueryParams & Params,
    const FCollisionResponseParams & ResponseParam
) const

 

매개변수

  • OutHits :  충돌 결과를 저장하는 FHitResult 객체의 배열입니다. 여러 개의 충돌 결과가 이 배열에 저장됩니다.
  • Start :  레이캐스트의 시작점을 나타내는 FVector입니다.
  • End :  레이캐스트의 종료점을 나타내는 FVector입니다.
  • TraceChannel :  충돌 검사에 사용할 충돌 채널을 지정합니다. 예를 들어, ECC_Visibility 또는 ECC_PhysicsBody 등이 사용될 수 있습니다.
  • Params :  충돌 검사 시 사용할 추가적인 파라미터를 지정하는 FCollisionQueryParams 객체입니다. 특정 액터를 레이캐스트에서 제외하거나, 추가적인 옵션을 설정할 수 있습니다.
  • ResponseParam :  충돌 응답 매개변수를 지정하는 FCollisionResponseParams 객체입니다.

 

UWorld::SweepSingleByChannel

지정된 형태(콜리전 쉐이프)를 사용하여 세계(World) 내에서 단일 스위핑(sweeping) 연산을 수행합니다. 이 메서드는 지정된 시작점에서 종료점까지 형태를 이동시키면서 첫 번째 충돌을 감지하는 데 사용됩니다

Module :  Engine
Header :  /Engine/Source/Runtime/Engine/Classes/Engine/World.h
Include :  #include "Engine/World.h"
Source :  /Engine/Source/Runtime/Engine/Private/Collision/WorldCollision.cpp
Syntax : 
bool SweepSingleByChannel
(
    struct FHitResult & OutHit,
    const FVector & Start,
    const FVector & End,
    const FQuat & Rot,
    ECollisionChannel TraceChannel,
    const FCollisionShape & CollisionShape,
    const FCollisionQueryParams & Params,
    const FCollisionResponseParams & ResponseParam
) const

 

매개변수

  • OutHit: 충돌 결과를 저장하는 FHitResult 객체입니다.
  • Start: 스위핑의 시작점을 나타내는 FVector입니다.
  • End: 스위핑의 종료점을 나타내는 FVector입니다.
  • Rot: 스위핑하는 동안의 형태의 회전을 나타내는 FQuat입니다.
  • TraceChannel: 사용할 충돌 채널을 지정합니다.
  • CollisionShape: 스위핑에 사용할 콜리전 쉐이프를 정의합니다.
  • Params: 충돌 쿼리에 대한 추가적인 파라미터를 지정하는 FCollisionQueryParams 객체입니다.
  • ResponseParam: 충돌 응답 매개변수를 지정하는 FCollisionResponseParams 객체입니다.

 

UWorld::SweepMultiByChannel

"스위핑(sweeping)" 연산을 수행하는 데 사용됩니다. 스위핑은 지정된 모양(보통 콜리전 쉐이프)을 시작점에서 종료점까지 이동시키면서, 그 경로 상에 있는 모든 오브젝트와의 충돌을 감지하는 과정입니다.

Module :  Engine
Header :  /Engine/Source/Runtime/Engine/Classes/Engine/World.h
Include :  #include "Engine/World.h"
Source :  /Engine/Source/Runtime/Engine/Private/Collision/WorldCollision.cpp
Syntax : 
bool SweepMultiByChannel
(
    TArray< struct FHitResult > & OutHits,
    const FVector & Start,
    const FVector & End,
    const FQuat & Rot,
    ECollisionChannel TraceChannel,
    const FCollisionShape & CollisionShape,
    const FCollisionQueryParams & Params,
    const FCollisionResponseParams & ResponseParam
) const

매개변수

  • OutHits :  검출된 충돌 결과를 저장하는 FHitResult 객체의 배열입니다.
  • Start :  스위핑의 시작점을 나타내는 FVector입니다.
  • End :  스위핑의 종료점을 나타내는 FVector입니다.
  • Rot :  스위핑하는 동안 사용할 모양의 회전을 나타내는 FQuat입니다.
  • TraceChannel :  사용할 충돌 채널을 지정합니다.
  • CollisionShape :  스위핑에 사용할 콜리전 쉐이프를 정의합니다.
  • Params :  충돌 쿼리에 대한 추가 파라미터입니다.
  • ResponseParam :  충돌 응답 매개변수입니다.

UWorld::

UWorld::GetWorld

현재 액터나 컴포넌트가 있는 게임 세계(World)의 인스턴스를 반환하는 함수입니다. 

Module :  Engine
Header :  /Engine/Source/Runtime/Engine/Classes/Engine/World.h
Include :  #include "Engine/World.h"
Source :  /Engine/Source/Runtime/Engine/Private/World.cpp
Syntax : virtual UWorld * GetWorld() const

UWorld::GetTimeSeconds(= GetWorld()->TimeSeconds)

게임 세계(World)에서 현재까지 경과한 시간을 초 단위로 반환합니다. 

Module :  Engine
Header :  /Engine/Source/Runtime/Engine/Classes/Engine/World.h
Include :  #include "Engine/World.h"
Syntax : float GetTimeSeconds() const


DrawDebug

DrawDebugLine()

게임 세계에 시각적인 선을 그려 디버깅을 도와줍니다. 

Module :  Engine
Header :  /Engine/Source/Runtime/Engine/Public/DrawDebugHelpers.h
Include :  #include "DrawDebugHelpers.h"
Source :  /Engine/Source/Runtime/Engine/Private/DrawDebugHelpers.cpp
Syntax : 
void DrawDebugLine
(
    const UWorld * InWorld,
    FVector const & LineStart,
    FVector const & LineEnd,
    FColor const & Color,
    bool bPersistentLines,
    float LifeTime,
    uint8 DepthPriority,
    float Thickness
)

 

매개변수

  • InWorld :  선을 그릴 월드의 참조입니다.
  • LineStart :  선의 시작점을 나타내는 FVector입니다.
  • LineEnd :  선의 끝점을 나타내는 FVector입니다.
  • Color :  선의 색상을 나타내는 FColor입니다.
  • bPersistentLines :  선이 일시적인지 영구적인지를 나타내는 부울 값입니다. 기본값은 false로, 선이 일시적임을 의미합니다.
  • LifeTime :  선이 화면에 남아있는 시간(초)입니다. 기본값은 -1.f로, 이는 한 프레임 동안만 선이 표시됨을 의미합니다.
  • DepthPriority :  렌더링 시 깊이 우선순위를 나타내는 값입니다.
  • Thickness :  선의 두께입니다.

 

DrawDebugSphere()

게임 세계에 시각적인 구체(스피어)를 그려 디버깅을 도와줍니다.


Module :  Engine
Header :  /Engine/Source/Runtime/Engine/Public/DrawDebugHelpers.h
Include :  #include "DrawDebugHelpers.h"
Source :  /Engine/Source/Runtime/Engine/Private/DrawDebugHelpers.cpp
Syntax : 
void DrawDebugSphere
(
    const UWorld * InWorld,
    FVector const & Center,
    float Radius,
    int32 Segments,
    FColor const & Color,
    bool bPersistentLines,
    float LifeTime,
    uint8 DepthPriority,
    float Thickness
)

 

매개변수

  • InWorld :  구체를 그릴 월드의 참조입니다.
  • Center :  구체의 중심점을 나타내는 FVector입니다.
  • Radius :  구체의 반지름입니다.
  • Segments :  구체의 표면을 구성하는 세그먼트의 수입니다. 세그먼트 수가 많을수록 구체는 더 매끄럽게 보이지만, 더 많은 계산이 필요합니다.
  • Color :  구체의 색상을 나타내는 FColor입니다.
  • bPersistentLines :  구체가 일시적인지 영구적인지를 나타내는 부울 값입니다. 기본값은 false로, 구체가 일시적임을 의미합니다.
  • LifeTime :  구체가 화면에 남아있는 시간(초)입니다. 기본값은 -1.f로, 이는 한 프레임 동안만 구체가 표시됨을 의미합니다.
  • DepthPriority :  렌더링 시 깊이 우선순위를 나타내는 값입니다.

UPhysicsHandleComponent

UPhysicsHandleComponent

Unreal Engine에서 제공하는 컴포넌트로, 물리 기반의 오브젝트를 잡고(manipulate) 움직이는 기능을 제공합니다. 
이 컴포넌트는 주로 드래그 앤 드롭 작업, 오브젝트의 물리적 상호작용, 또는 레버와 같은 메커니즘의 조작 등에 사용됩니다.

주요 기능:

  1. 잡기 및 놓기: UPhysicsHandleComponent는 물리 오브젝트를 잡고, 이동시키며, 놓을 수 있는 기능을 제공합니다.
  2. 대상 조작: 지정된 대상(예: UPrimitiveComponent)을 물리적으로 잡아서 조작할 수 있습니다.
  3. 위치 및 회전 제어: 잡은 오브젝트의 위치와 회전을 프로그래밍적으로 제어할 수 있습니다.

주요 메서드:

  • GrabComponent: 오브젝트를 잡는 데 사용됩니다. 이 메서드는 잡을 컴포넌트, 잡는 위치 등의 파라미터를 받습니다.
  • ReleaseComponent: 잡고 있는 오브젝트를 놓는 데 사용됩니다.
  • SetTargetLocation: 잡고 있는 오브젝트의 목표 위치를 설정합니다.
  • SetTargetRotation: 잡고 있는 오브젝트의 목표 회전을 설정합니다.

사용 예시

// cpp
UPhysicsHandleComponent* PhysicsHandle = CreateDefaultSubobject<UPhysicsHandleComponent>(TEXT("PhysicsHandle"));
...
// 오브젝트를 잡는 코드
PhysicsHandle->GrabComponentAtLocationWithRotation(
    HitComponent, 
    NAME_None, 
    HitComponent->GetOwner()->GetActorLocation(), 
    FRotator::ZeroRotator
);

// 오브젝트를 이동시키는 코드
PhysicsHandle->SetTargetLocation(NewLocation);

// 오브젝트를 놓는 코드
PhysicsHandle->ReleaseComponent();

 

주의사항

  • UPhysicsHandleComponent를 사용하기 위해서는 대상 오브젝트가 물리적 상호작용을 지원해야 합니다(예: UPrimitiveComponent에 물리 활성화).
  • 물리 시뮬레이션을 정확하고 안정적으로 처리하기 위해서는 적절한 물리 설정과 파라미터 조정이 필요합니다.

Inheritance Hierarchy
UObjectBase
UObjectBaseUtility
UObject
UActorComponent
UPhysicsHandleComponent

Module :  Engine
Header :  /Engine/Source/Runtime/Engine/Classes/PhysicsEngine/PhysicsHandleComponent.h
Include :  #include "PhysicsEngine/PhysicsHandleComponent.h"
Syntax :  class UPhysicsHandleComponent : public UActorComponent

 

UPhysicsHandleComponent::GrabComponentAtLocationWithRotation

Unreal Engine에서 제공하는 UPhysicsHandleComponent의 메서드입니다. 이 메서드는 특정 위치와 회전으로 물리 기반의 컴포넌트를 잡아(manipulate) 조작하는 데 사용됩니다.

Module Engine
Header :  /Engine/Source/Runtime/Engine/Classes/PhysicsEngine/PhysicsHandleComponent.h
Include :  #include "PhysicsEngine/PhysicsHandleComponent.h"
Source :  /Engine/Source/Runtime/Engine/Private/PhysicsEngine/PhysicsHandleComponent.cpp
Syntax : 
void GrabComponentAtLocationWithRotation
(
    class UPrimitiveComponent * Component,
    FName InBoneName,
    FVector Location,
    FRotator Rotation
)

 

매개변수:

  • ComponentToGrab :  잡을 대상 컴포넌트로, UPrimitiveComponent의 인스턴스입니다.
  • InBoneName :  특히 스켈레탈 메시에서 특정 뼈를 지정할 때 사용됩니다. 물리 컴포넌트가 스켈레탈 메시가 아닌 경우, 보통 NAME_None을 사용합니다.
  • Location :  컴포넌트를 잡을 위치입니다.
  • Rotation :  컴포넌트를 잡을 때 적용할 회전입니다.

 

UPhysicsHandleComponent::SetTargetLocationAndRotation

Unreal Engine에서 UPhysicsHandleComponent의 메서드로, 물리적으로 잡고 있는 오브젝트의 목표 위치와 회전을 설정하는 데 사용됩니다. 이 메서드는 일반적으로 플레이어가 오브젝트를 들어 올려 이동시키는 상호작용을 구현할 때 사용됩니다.

 

사용 방법

SetTargetLocationAndRotation 메서드는 물리 오브젝트를 사용자 정의 위치와 방향으로 부드럽게 이동시키는 데 사용됩니다. 이 메서드는 UPhysicsHandleComponent가 이미 어떤 오브젝트를 잡고 있을 때 효과적으로 작동합니다.

예를 들어, 플레이어가 오브젝트를 들어 올려 다른 위치로 이동시키고, 특정 방향으로 회전시키고 싶을 때 이 메서드를 사용할 수 있습니다.

Module :  Engine
Header :  /Engine/Source/Runtime/Engine/Classes/PhysicsEngine/PhysicsHandleComponent.h
Include :  #include "PhysicsEngine/PhysicsHandleComponent.h"
Source :  /Engine/Source/Runtime/Engine/Private/PhysicsEngine/PhysicsHandleComponent.cpp
Syntax : 
void SetTargetLocationAndRotation
(
    FVector NewLocation,
    FRotator NewRotation
)

 

매개변수

  • NewLocation :  잡고 있는 오브젝트가 이동할 새로운 위치를 나타내는 FVector입니다.
  • NewRotation :  잡고 있는 오브젝트가 적용받을 새로운 회전을 나타내는 FRotator입니다.

주의사항

  • UPhysicsHandleComponent를 사용하기 전에, 대상 오브젝트가 물리 시뮬레이션을 지원하도록 설정되어 있어야 합니다.
  • GrabComponent 또는 GrabComponentAtLocationWithRotation 등을 사용하여 먼저 오브젝트를 잡고 난 후에 SetTargetLocationAndRotation을 호출해야 합니다.

UPrimitiveComponent

UPrimitiveComponent

`UPrimitiveComponent`는 Unreal Engine에서 제공하는 기본 컴포넌트 클래스 중 하나로, 모든 "기본적인" 렌더링 가능 컴포넌트의 기반이 됩니다. 이 클래스는 시각적 표현과 물리적 상호작용을 모두 처리할 수 있는 기능을 제공합니다.

 

주요 특징과 기능

  1. 시각적 표현: UPrimitiveComponent는 3D 모델, 라이트, 카메라 등 시각적 요소를 게임 세계에 표현하는 데 사용됩니다.
  2. 충돌 처리: 이 컴포넌트는 충돌 검출 및 처리 기능을 제공합니다. 개발자는 이를 사용하여 오브젝트 간의 물리적 상호작용을 구현할 수 있습니다.
  3. 물리 시뮬레이션: UPrimitiveComponent는 물리 시뮬레이션을 지원하며, 물리 엔진과 연동하여 오브젝트의 동적인 움직임을 처리할 수 있습니다.
  4. 위치, 회전, 크기: 이 컴포넌트는 위치, 회전, 크기 등의 공간적 속성을 가지며, 이를 통해 게임 세계 내에서 오브젝트의 배치를 결정합니다.
  5. 다양한 파생 클래스: UStaticMeshComponent, USkeletalMeshComponent, UParticleSystemComponent 등은 UPrimitiveComponent를 상속받은 클래스들로, 특정 유형의 시각적 요소를 표현합니다.

사용 예시

  • 정적 메시(Static Mesh) 표현: UStaticMeshComponent는 정적인 3D 오브젝트를 표현하는 데 사용되며, 건물, 가구 등의 비동적인 환경 요소를 구현하는 데 주로 사용됩니다.
  • 스켈레탈 메시(Skeletal Mesh) 표현: USkeletalMeshComponent는 복잡한 애니메이션을 가진 캐릭터나 동적인 오브젝트를 표현하는 데 사용됩니다.
  • 파티클 시스템: UParticleSystemComponent는 특수 효과, 화재, 연기 등의 파티클 기반 효과를 표현하는 데 사용됩니다.

주의사항

  • UPrimitiveComponent는 추상 클래스이므로 직접 인스턴스를 생성할 수 없으며, 구체적인 기능을 제공하는 파생 클래스를 사용해야 합니다.
  • 게임의 성능과 상호작용을 고려하여 적절한 충돌, 물리, 렌더링 설정을 적용하는 것이 중요합니다.

 

UPrimitiveComponent::WakeAllRigidBodies

UPrimitiveComponent 클래스의 일부로 제공됩니다. 이 메서드는 컴포넌트에 속한 모든 강체 물리 시뮬레이션(rigid body physics simulation)을 활성화합니다.

Override Hierarchy
UPrimitiveComponent::WakeAllRigidBodies()
USkeletalMeshComponent::WakeAllRigidBodies()

Module :  Engine
Header :  /Engine/Source/Runtime/Engine/Classes/Components/PrimitiveComponent.h
Include :  #include "Components/PrimitiveComponent.h"
Source :  /Engine/Source/Runtime/Engine/Private/PrimitiveComponentPhysics.cpp
Syntax :  virtual void WakeAllRigidBodies()

 

주요 기능

  1. 물리 시뮬레이션 활성화: 게임 내에서 물리적으로 비활성화되거나 "잠든(sleeping)" 상태의 물리 객체들을 깨워서 다시 활성화합니다. 물리 객체가 "잠든" 상태는 물리 시뮬레이션이 필요 없을 때 성능을 최적화하기 위해 사용됩니다.
  2. 동적 상호작용: 이 메서드를 호출하면 해당 컴포넌트의 모든 강체가 다시 동적으로 반응하기 시작합니다. 예를 들어, 오브젝트가 다른 오브젝트와 충돌하거나 중력의 영향을 받게 됩니다.

사용 예시

  • 잠든 물리 객체 깨우기: 오브젝트가 일정 시간 동안 움직이지 않아 물리 시뮬레이션이 중단된 상태에서, 플레이어의 상호작용이나 특정 게임 이벤트에 의해 다시 활성화되어야 할 때 사용할 수 있습니다.
  • 게임 로직에 의한 활성화: 특정 조건이 충족될 때 물리 시뮬레이션을 재개하여 오브젝트가 움직이거나 반응하도록 하는 데 사용됩니다.

주의사항

  • 이 메서드는 UPrimitiveComponent가 강체 물리 시뮬레이션을 지원하는 경우에만 유효합니다.
  • 강체가 없거나 물리 시뮬레이션이 적용되지 않은 컴포넌트에 대해서는 영향을 주지 않습니다.
  • 물리 시뮬레이션의 불필요한 활성화는 성능에 영향을 줄 수 있으므로, 게임의 특정 상황과 요구에 맞게 사용해야 합니다.

'Unreal 공부 > UE5 GameDev' 카테고리의 다른 글

[UE5] ToonTank (1)  (0) 2023.11.17
[UE5][개념편] ToonTank  (0) 2023.11.17
[UE5] Crypt Raider (2)  (0) 2023.11.13
HitResult.Location 과 HitResult.ImpactPoint의 차이  (0) 2023.11.11
LineTraceMultiByChannel의 정의 그리고 SingleByChannel과의 차이점  (0) 2023.11.11
'Unreal 공부/UE5 GameDev' 카테고리의 다른 글
  • [UE5][개념편] ToonTank
  • [UE5] Crypt Raider (2)
  • HitResult.Location 과 HitResult.ImpactPoint의 차이
  • LineTraceMultiByChannel의 정의 그리고 SingleByChannel과의 차이점
메카인
메카인
  • 메카인
    메카인의 지식창고
    메카인
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 코딩 공부
        • TIL(Today I Learn)
        • TIL
        • 백준(C++)
        • Python
        • 알고리즘
        • 프로젝트 회고
      • C++
        • C++
        • C++ STL
        • C,C++ mCoding yotube
      • 게임개발
        • 언데드서바이벌_골드메탈_클론코딩
        • 3D_골드메탈_클론코딩
        • 유니티_문제해결
        • 게임 수학
      • Unreal 공부
        • UE5 GameDev
        • Unreal Engine 4 C++ The Ult..
      • 교재 문제 풀이
        • 운영체제
      • 정보처리기사
        • 정처기 요약
        • 정처기 오답노트
      • 학교수업
        • 데이터베이스
        • 프로그래밍 언어론
        • 리눅스 시스템
        • 네트워크
      • 일상
        • 주식
        • 독서
        • 일기
      • (비공개 전용)
        • memory
        • Build
        • OOP
        • Smart Pointer
        • lamda
        • 게임 수학
        • 모던 C++
        • 모던 C++ STL
        • 모던 C++ Concurrency, Paralle..
        • 책
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 글쓰기
    • 블로그 관리
  • 링크

  • 공지사항

    • 공지사항 - 인생과 블로그의 목표
  • 인기 글

  • 태그

    ~
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
메카인
[UE5] Crypt Raider (1)
상단으로

티스토리툴바