언리얼엔진5 공부

2026-03-11 TIL

Client Side 2026. 3. 11. 23:00

1. [Unreal Engine 5] 도사 스킬 시스템 고도화 및 최적화

  • 스폰 로직 정교화: FActorSpawnParameters의 Owner 설정을 통해 데미지 인스턴스의 주체를 명확히 함. (버그 수정 및 로그 추적 용이성 확보)
  • 공간 벡터 연산: GetActorRightVector()를 활용해 좌우 ±60 오프셋을 적용한 부적 투척 로직 구현.
  • 상태 머신 보강: 분신 스폰 시 공중 상태를 고려한 Fall & Land 애니메이션 연동으로 비주얼 퀄리티 향상.
  • 물리 및 레이캐스팅: LineTraceSingleByChannel을 이용해 지형 고저차를 무시하고 바닥에 정확히 호랑이를 스폰시키는 로직 구현.
  • 설계 분리(Decoupling): 분신 클래스가 호랑이를 직접 관리하지 않고, 부적 액터가 스폰 매개체 역할을 수행하도록 설계 변경. (유지보수성 향상)
  • 콜리전 마찰 해소: 불필요한 메시 콜리전(NoCollision) 설정을 통해 액터 간 간섭 제거.

2. [C++ 기초 및 모의 면접 대비]

  • std::vector 심화:
    • size: 실제 담긴 원소 개수.
    • capacity: 할당된 메모리 공간의 크기.
    • reserve: 공간 선점(재할당 방지), resize: 크기 변경(원소 생성).
    • shrink_to_fit: 남는 capacity 반납.
  • 검색 알고리즘 비교:
    • std::find: 선형 탐색, O(N). 정렬 불필요.
    • std::binary_search: 이진 탐색, O(log N). 반드시 정렬 선행.
    • Tip: 위치(Iterator)를 반환받고 싶다면 std::lower_bound 혹은 std::upper_bound를 사용해야 함.
  • Inline & Enum:
    • inline: 함수 호출 오버헤드 감소를 위한 코드 치환. 본체가 헤더에 있어야 함.
    • enum: 정수형 상수에 이름을 부여해 가독성 향상. enum class를 통한 이름 충돌 방지.