2026-04-09 TIL (33일차)
2026-04-09 TIL (33일차)
Unreal
SetupPlayerInputComponent
CustomTick 계산공식
Input Mapping Context에 값이 들어오는 원리
입력값 x 속도 x 시간 = 거리
언리얼 엔진의 PITCH와 현실 Pitch
마우스 좌표 입력
현실 pitch의 행동
언리얼에서의 pitch의 행동
그러면 왜 캐릭터 movement를 이용할때 negate를 사용하나 (PlayerController::AddPitchInput에서 -를 곱해기 때문에 그렇다)
그냥 우리가 구현하면 마우스가 -값을 받으니 그대로 똑같이 값을 받으면 언리얼에서 적용이된다.
AddActorLocalOffset과 AddActorLocalRotation 매개변수
첫 번째 매개변수: DeltaLocation / NewRotation (변화량)
의미: “현재 상태에서 얼마나 더 움직이거나 회전할 것인가?”입니다.
예를 들어 현재 위치가 (100, 0, 0)일 때 DeltaLocation에 (5, 0, 0)을 넣으면 (105, 0, 0)으로 갑니다.
Local의 특징: 드론이 90도 꺾여 있다면, 월드의 X축이 아니라 드론이 바라보는 앞방향으로 5만큼 전진합니다.
두 번째 매개변수: bSweep (true / false)
이것이 질문하신 핵심 스위치입니다. 한 문장으로 정의하면 “가는 길에 장애물이 있는지 검사(Sweep)할 것인가?”입니다.
true (충돌 감지 모드):
캐릭터가 벽을 향해 이동할 때, 벽에 닿으면 더 이상 가지 못하고 멈춥니다.
CustomPhysicsTick에서 구현한 물리적 일관성을 유지하려면 반드시 true여야 합니다.
false (유령/텔레포트 모드):
벽이 있든 말든 상관하지 않고 계산된 좌표로 위치를 고정해버립니다.
결과적으로 벽을 뚫고 들어가는 ‘터널링’ 현상이 발생합니다.
This post is licensed under CC BY 4.0 by the author.