11.12 - TIL

김혁·2025년 11월 12일

TIL

목록 보기
55/84

오늘의 코드카타

  • 가장 긴 팰린드롬
    • 앞뒤를 뒤집어도 똑같은 문자열의 최대 길이 찾기
    • 특정 문자를 기준으로 홀수만큼 동일하려면 앞뒤로 늘려나가는 식으로 비교
    • 특정 문자를 기준으로 짝수만큼 동일하려면 앞이나 뒤의 인덱스와 비교한 후에 앞뒤로 늘려가는 식으로 비교
    • https://school.programmers.co.kr/learn/courses/30/lessons/12904
  • 연속 펄스 부분 수열의 합

오늘의 공부

팀 프로젝트 진행 내용

1. 블루프린트로 작성한 내용 C++로 전환

  • BP_PlayerCharacter에서 작성한 캐릭터의 상태 전환 및 변수를 c++ 파일에 구현
  • ABP에서 다양한 Enum 값을 활용해서 Chooser Table을 선택하는데 활용하기 때문에 다양한 상태를 Enum으로 c++ 파일에 구현
// MovementEnums.h

UENUM(BlueprintType)
enum class EGait : uint8
{
	Walk		UMETA(DisplayName = "Walk"),
	Run			UMETA(DisplayName = "Run"),
	Sprint		UMETA(DisplayName = "Sprint")
};

UENUM(BlueprintType)
enum class ECustomMovementMode : uint8
{
	OnGround	UMETA(DisplayName = "OnGround"),
	InAir		UMETA(DisplayName = "InAir")
};

UENUM(BlueprintType)
enum class EMovementState : uint8
{
	Idle		UMETA(DisplayName = "Idle"),
	Moving		UMETA(DisplayName = "Moving")
};

UENUM(BlueprintType)
enum class EStance : uint8
{
	Stand		UMETA(DisplayName = "Stand"),
	Crouch		UMETA(DisplayName = "Crouch")
};

알게 된 점

코드 함수 주석 오류?

  • Blueprint 노드로 Pose Search Generate Trajectory를 통해 궤적 정보를 생성하게 되는데, 해당 노드를 c++로 옮기기 위해서 같은 이름의 함수를 먼저 찾아보았다.
  • PoseSearchTrajectoryLibrary.h 파일에 PoseSearchGenerateTrajectory() 함수는 아래와 같이 선언되어 있었다.
  • 5.6버전을 기준으로 해당 함수는 deprecated 되었으니 쓰지 말라고 되어있다. 그럼 이 함수 대신 어떤 함수를 써야할까?
    -> 주석에는 FTransformTrajectory를 사용하는 PoseSearchGenerateTrajectory()을 사용하라고 한다.
    -> 그래서 같은 이름으로 오버로딩을 통해서 구현되어 있는가 했는데, 아무리 찾아봐도 없었다.
    -> 이 헤더파일을 훑어보니 deprecated된 함수가 정의되어 있는 부분 말고, 사용되는 함수가 정의되어 있는 부분을 보니 아래와 같은 함수가 있었다.
  • 위에 선언되어있는 함수가 실질적으로 블루프린트 노드에서 사용하고 있는 함수임을 확인했다.
  • 블루프린트 노드를 찾아볼 때는 DisplayName을 통해 찾아보는 것이 상당히 효과적일 것으로 보인다.

profile
게임 개발자를 향해..

0개의 댓글