본문 바로가기
프로그래밍

👨‍💻 [Unreal] 언리얼 엔진 5 에서 Collision Handling Override 항목은 무엇인가요?

by 밝음의기둥 2024. 10. 14.
반응형

👨‍💻 안녕하세요, 윌리 프로젝트의 윌리 입니다.

언리얼 엔진 5 에서 Collision Handling Override 항목은 무엇인지 물어봤습니다.


질문 >

언리얼 엔진 5 에서 Collision Handling Override 항목은 무엇인가요?

답변 >

언리얼 엔진 5에서 Collision Handling Override액터를 동적으로 생성할 때 충돌 처리 방식을 제어하는 옵션입니다. 이 항목은 주로 UWorld::SpawnActor 함수를 사용해 액터를 생성할 때 설정되며, 새로 생성된 액터가 이미 다른 물체와 충돌 상태에 있을 경우 어떻게 처리할지를 결정합니다. 즉, 스폰된 액터가 다른 오브젝트와 겹치는 경우 액터를 어떻게 처리할지를 정의하는 역할을 합니다.

주요 옵션들:

  1. AlwaysSpawn:
    • 충돌 여부와 상관없이 액터를 항상 생성합니다. 이 옵션을 사용하면 액터가 다른 오브젝트와 겹치더라도 생성이 강제되며, 게임 내에서 해당 액터를 물리적으로 처리할 때 나중에 충돌 문제를 수동으로 해결해야 할 수 있습니다.
  2. AdjustIfPossibleButAlwaysSpawn:
    • 스폰 시 가능한 충돌을 피하기 위해 위치를 조정하지만, 피할 수 없는 경우에도 항상 액터를 생성합니다. 즉, 충돌이 발생할 가능성이 있으면 충돌하지 않는 위치로 조정하지만, 만약 충돌을 피할 수 없다면 강제로 액터를 생성합니다.
  3. AdjustIfPossibleButDontSpawnIfColliding:
    • 충돌이 발생하지 않도록 위치를 조정하려고 시도하지만, 충돌이 완전히 피할 수 없으면 액터를 생성하지 않습니다. 이 옵션은 충돌을 피하는 것이 중요한 경우에 유용합니다.
  4. DontSpawnIfColliding:
    • 충돌이 발생하면 액터를 생성하지 않습니다. 이 옵션은 스폰된 액터가 다른 물체와 절대 겹치지 않도록 보장합니다. 충돌 문제가 발생할 경우 액터는 생성되지 않으며, 충돌이 없는 경우에만 생성됩니다.

사용 예시:

FActorSpawnParameters SpawnParams;
SpawnParams.SpawnCollisionHandlingOverride = ESpawnActorCollisionHandlingMethod::AlwaysSpawn;

AActor* NewActor = GetWorld()->SpawnActor<AActor>(ActorClass, SpawnLocation, SpawnRotation, SpawnParams);

이 예시에서는 AlwaysSpawn 옵션을 설정하여 액터가 충돌 여부와 상관없이 항상 생성되도록 합니다.

사용 시 유의점:

  • AlwaysSpawn이나 AdjustIfPossibleButAlwaysSpawn 옵션을 사용할 때는, 겹친 상태로 생성된 액터가 게임 내에서 물리적 문제를 일으킬 수 있으므로 추가적인 충돌 처리가 필요할 수 있습니다.
  • DontSpawnIfColliding 옵션은 충돌을 피하면서 액터를 생성하는 데 유용하지만, 스폰하려는 공간이 제한적일 경우 액터가 생성되지 않을 수 있으므로 주의해야 합니다.

이러한 옵션을 적절히 사용하면 게임 내 동적 액터 생성 시 충돌을 효과적으로 제어할 수 있습니다(Puget Systems)(Unreal Engine).


🎬 유튜브 채널 🎬

 

위로그@WiLog

📢 안녕하세요, 위로그@WiLog 시청자 여러분, 저는 윌리 입니다. 📢 위로그@WiLog 는 자기주도학습을 목적으로 라이브 스트리밍을 합니다. 📢 1인 게임 개발을 목표로 Unreal과 Blender를 학습 중입니

www.youtube.com

 

🎬 치지직 채널 🎬

 

위로그 채널 - CHZZK

지금, 스트리밍이 시작됩니다. 치지직-

chzzk.naver.com

 


반응형