TIL

26.02.12일자 - TIL

csh8696nb 2026. 2. 12. 21:23

ACK, 베이직 실전반(분반), 팀프로젝트


스킵한 영문을 배열로 모아서 출력하는 방법도 있고 이 방법이 성능을 요구하는 상위 난이도에서 활용된다.

 

vector<bool> 은 비트단위 압축이 되어서 일반적인 vector와 동작이 미묘하게 다르기 때문에 실전에서는 피하는 것이 권장되는 사용 방법이다.

어차피 배열처럼 사용하기 위해 사용된 구문이므로 그냥 원래대로인 배열 array<bool, 26> Skipped;로 사용할 수 있다.
==========
복?습 세션
따라하는 것이 아니라 보고 응용할 수 있게 정리하면 좋겠다.

gamemode <-> gamemodebase

build.cs에서 #include의 경로를 축약시키기 위해서 정리를 해둘 수 있다.
publicIncludePaths.~라는 내용으로 여기에 경로가 있다 라는 느낌으로 사용한다.

(써봐야 알듯? ㅁ/ㅁ/분류/이름 에서   ㅁ/ㅁ/부분을 줄여서 만들 수 있다. 

위의 작업을 했다면 경로가 제대로 잡혔는지 다음 또는 이미 생성한 cpp를 보면서 검수를 할 수 있어야 한다.

gamemode <-> gamemodebase

하드 참조로 만들어서 gamemode가 생성되려면 contorller와 pawn이 둘 다 로드가 되어야하게 만들어졌다.
이것이 하드 참조. 소프트 참조는 생성되어도 로드가 즉시 따라오지 않는 구조가 될 수 있다.

4이전의 인풋은 프로젝트 세팅에 존재하는데 당연히 이를 사용하지 말아 달라고 명시되어있다.
(이를 사용한 구 에셋을 가져오면 컴파일 불가는 아니고 세모 모양으로 경고 표시가 뜰 수 있다.)

VS만 사용하는 게 아니라 어시스트 프로그램도 같이 사용하게 되는데 부족한 부분은 보통 어시스트가 잡아주기 때문에 귀찮은(?) 부분을 많이 메꿔준다.

인텔리센스가 망가져서 동작한 것인지 실수가 맞던 건지 스스로 알 수 있는 것이 중요하다. 

카테고리 뒤의 값을 공부해 보면 좋을 것 같다.

괄호에 넣고 싶은 범위를 지정해서 괄호를 만들면 알아서 괄호 안에 넣어준다.(기본 VS 포함)

// @TODO_이름 : 생각해뒀던 앞으로 추가 해야 할 내용
-> 이런 식으로 주석을 활용하는 것이 중요하다.

스폰을 균등하게 하기 위해 값을 가져오는 과정

FMath::sin(라디안); 이 유력한데 이건 추가 공부가 필요하다.(라디안이 뭐지...) / 라디안 <-> 각도
X*cos / Y*sin 이건 외워두는 것이 좋다.

아크 탄젠트 라는 놈도 있다.
tan -> radian to tan  (radian - 각 도 흔히 표현하는 X도)
arctan -> tan to radian
arctan2 -> y, x -> tan(x/y) ->radian

위의 내용은 평면 원
구(3차원)는 구면 좌표계를 사용한다.

anim notify

레벨 지오레퍼런싱 이라는 UE공식 설명 문서가 있다. (공식 문서엔 이상한게 많이 있음)
CRS

세슘(?) (CESIUM)

==========

Event Graph
Event Blueprint Initialize Animation -> cast To character ->Set the value of variable Character ->Set the value of variable CharacterMovement

Event Blueprint Update Animation -> Get Variable Character -> Sequence
1 Ground Speed
Set the value of variable Velocity(CharacterMovement->Read the value of variable Velocity Current velocity of updated component.) -> Setthe value of variable GroundSpeed(Returns the length of the vector's XY Components. Target is Kismet Math Libary)

2 Should Move
GroundSpeed > 3.0      AND    CharacterMovement.GetCurrentAcceleration(Returns true if vector A is not equal to vector B within a specified error tolerance) ->Set bSouldMove

3 Is Falling
IsFalling (CharacterMovement.Get()) -> Set bIsFalling

 

붉은 색 시작점으로 사용되는 함수들은

주로 Native~ 로 구현되어있는 것으로 보인다.

(마찬가지로 이미 선언되어있는 엔진의 함수를 활용하기 위해서는 Super:: 를 사용해서 호출해줘야한다.(BeginPlay / Tick등과 유사함)

TSubclassOf<..> ...; 는 클래스를 보관하는 용도다.
어떤 객체(인스턴스)를 가져오려면 포인터를 활용해야 함.

EventGraph에서 Components에 대한 정보는 필요 없고 하위 데이터 값을 가져오는 데에 필요할 뿐이므로 C++에서 해당 4개의 변수들을 가져올 수 있다면 포인터로 보관할 필요가 없어진다.

=====

위의 내용과 약간은 상충될 수 있는 조언
멀티스래드에서 동작하는 녀석들은 따로 캐싱해두는 것이 안정성이 좋다. - 따로 더 찾아보면 좋을 듯 하다.

(이미 캐싱될 녀석들을 호출을 자주하느냐 같이 캐싱해서 보관해서 쓰느냐의 차이로 보인다.)

 

Show Inherited Variables - C++에서 만든 변수들을 BP에서 생성한 녀석들처럼 보이려면 이 설정을 켜줘야 한다.

(안 해도 노드에서 우클릭 ->get 만들어둔 변수 하면 기본적으로 불러와진다[여긴 또 기본적으로 찾아짐;])
===

'TIL' 카테고리의 다른 글

26.02.19일자 - TIL  (0) 2026.02.19
26.02.13일자 - TIL  (1) 2026.02.13
26.02.11일자 - TIL  (0) 2026.02.11
26.02.10일자 - TIL  (0) 2026.02.10
26.02.09일자 - TIL  (0) 2026.02.09