Standard Template Library의 약자로 C++ 프로그래밍 언어의 표준 라이브러리
프로그래밍에 필요한 자료구조와 알고리즘을 템플릿 형태로 제공
다양한 데이터 타입에 대한 동일한 알고리즘 적용 가능
컴파일 타임 메커니즘 사용하므로 실행 시 효율 좋음
표준화되어 이식성과 확장성에 우수
고유 키 값을 저장하고 자동으로 정렬해주는 자료구조
☝
온라인 세션에서 오늘 캐릭터의 이동과 카메라 회전에 대해 배웠다|
이를 통해 헷깔리거나 몇몇 용어를 정리해 보았다|
카메라를 제어하는데 사용하는 컴포넌트로 캐릭터와 캐릭터 사이의 거리를 일정하게 유지 시켜준다
또한 카메라가 벽이나 장애물에 충돌할 때 자동으로 카메라의 위치를 조정할 수 있게 해줌으로 카메라가 벽이나 장애물을 통과하지 않고 캐릭터를 보여주게 해준다
플레이어가 회전하거나 빠르게 움직일 때 카메라가 자연스럽고 부드럽게 캐릭터를 따라 움직이게 해준다
bUsePawnControlRotation 옵션을 통해 플레이어 입력애 따라 카메라 회저을 제어할 수 있게 해준다
Socket Offset과 Target Ofsset을 통해 카메라의 정확한 위치를 미세 조정이 가능하다
캐릭터의 움직임은 카메라가 현재 바라보는 방향을 기준으로 움직인다
예를 들어 카메라가 플레이어의 오른쪽 방향을 바라보고 있을 때 캐릭터가 앞으로 움직인다 생각해보자
그러면 캐릭터는 카메라가 바라보는 방향을 기준으로 회전하여 움직일 것이다
이러한 기능을 위해 Controller Rotation을 가져와 사용하는 것이다
Forward Vector, Right Vector
Foward Vector
앞뒤 움직임에서 Controller의 회전 값 중 Z 값을 가져와 Forward Vector에 Z 값만 넣어 Vector 값으로 만들어주게 되는데 여기서 의문점이 생겼다
왜 Z 축 값이며 Forward Vector인가
Controller Rotation에서 설명한 내용을 가지고 생각해보자
일단 Forward Vector에 대해 알아야 한다
이는 X축이 1이고 나머지는 0인 Vector(1,0,0) 인 방향 벡터이다
그림을 보고 생각을 해보자 각각의 축을 기준으로 Forward Vector를 구한 뒤 앞으로 움직이게 되면 이동하게 될 방향을 그린 그림이다
이처럼 Z 축이 아닌 다른 축으로 Forward Vector를 만들어 연산하면 카메라 회전에 따라 땅에 박히거나 하늘로 날라가는 등 잘못된 움직임을 보일 것이기 때문에 Z 축 값을 넣은 것이다Right Vector
Right Vector는 Y축이 1인 Vector(0,1,0)인 방향 벡터이다
Forward Vector에서 설명한 것처럼 Z,X축을 기준으로 Right Vector를 만든 이유도 동일한 이유이다
그림 판으로 레벨 디자인 초안 만들기

