2026-02-26(목)

조범근·2026년 2월 26일

TIL

목록 보기
4/25

궁금했던 점 & 해결

Blueprint Q&A

Q1. 캐릭터가 자꾸 공중에 떠요

A1.

저거를 바닥이 Grid라고 생각하고 맞췄더니 계속 뜬거였음. 분홍색 타원형 공 가장 밑을 바닥이라 생각하고 맞춰줘야함

Q2. 왜 예제에서는 Return Value X (Roll)을 Get Right Vector에 연결했는데 이걸 연결 안 해도 잘 움직이는데요?

A1. 이걸 알려면 X(Roll), Y(Pitch), Z(Yaw)를 알아야함

X(Rolling)은 내 몸을 관통하는 세로축, Y(Pitching) 가로축, Z(Yawing)은 몸통축이라고 생각하면 된다
축으로 돈다고 하면 Y는 위/아래, Z는 왼쪽/오른쪽 이다.
그럼 X는 뭐냐? 고개를 갸우뚱 거릴때 회전이다.
그럼 결국 X를 Get Right Vector에 연결 할 이유가 없는거 아니냐? 라고 할 수 있지만.
여기까지 게임 개발하고 끝낼게 아니기 때문에 나중에 X값이 필요할때 쉽게 찾아 쓸 수 있다. 그 때를 위한 습관을 들인다 생각하고 예제에서 연결해 두신 것 같음.

개념 복기

Blueprint

Camera

Camera는 SpringArm 이랑 같이 다녀야함

Enhanced Input System - Move

  • UE5에서 새롭게 제공되는 입력 시스템으로, 키보드, 마우스, 게임패드 등을 더 유연하게 지원하고, 복잡한 컨트롤 매핑도 쉽게 설정할 수 있게 도와주는 시스템입니다.
    • 기존보다 더 명확한 입력 분기 가능
    • 코드 없이도 시각적으로 입력 제어 가능
    • 다양한 장치 지원 (패드, 터치 등)
  • 이 시스템을 통해 캐릭터의 이동과 시점을 훨씬 직관적으로 구현할 수 있습니다.



IMC_NBC_DefaultMappingContext를 이렇게 세팅을 해줘야함 MappingContext에서 키를 액션에 Mapping해주는 개념

X축 방향을 보고 있기때문에 전진하는 W 에는 모디파이어가 없음.
S는 뒤쪽으로 이동하기때문에 X축의 부정
D는 오른쪽으로 이동하기때문에 Y축 방향인 스위즐 입력 측 값
A는 왼쪽으로 이동하기떄문에 Y축 방향 스위즐 입력 측 값과 부정

게임을 시작하면 DefaultMappingContext에 있는걸 가져온다는 뜻임

Get Actor Forwad, Right Vector로 방향을 지정해주고 Action Value X를 입력받아야지 방향키를 눌렀을때 뭘 눌렀는지를 알음 아니면 앞으로만가고 오른쪽으로만감.

Enhanced Input System - Look

Move 때와 같이 구조체 핀 분할하여 X 는 Yaw (좌우), Y 는 Pitch (상하) 에 연결해줍니다.
이 때 사용하는 노드들은 ‘Add Controller Yaw Input’‘Add Controller Pitch Input’ 입니다.



이거 안하면 위아래 볼때 캐릭터도 같이 돎

그리고 이건 좀 헷갈렸는데

평소 하는 게임들은 밑으로 내리면 위를 보여주고 위로 올리면 아래를 보여줌.
아닌게임들도 있는데 그건 옛날게임이다.

Enhanced Input System - Move 2

컨트롤러 기준으로 움직이게 해줌. Roll, Pitch, Yaw 설명은 위에서 했다.

점프도 있음

레벨디자인하기


C

배열(Array)

자료구조 중 가장 기초가 되는 자료구조.
사용할 메모리 크기를 고정해서 선언하는 것이 특징입니다.
선언된 후에는 절대 그 크기를 변경 불가합니다.
그래서 정적인 자료구조라고도 합니다. 선언된 메모리는 연속적으로 할당됩니다.

배열의 index는 항상 0부터 시작함
int Array[4] = { 0, };
이렇게 쓰면 나머지 3자리를 0으로 할당함.

2차원배열

	int Array2D[4][3] = { { 1,  2,  3, },
						  { 4,  5,  6, },
						  { 7,  8,  9, },
						  {10, 11, 12, } };

4개의 배열 안에 3개씩 들어가있음
Array2D[0][0]이 1임 0부터 시작함

함수

printf()도 함수, main()도 함수

입력으로 문자열을 받아서 화면에 출력해주는 printf()도 함수입니다.
프로그램의 시작점 역할을 하는 main()도 함수였습니다.

반환자료형 함수명(매개변수자료형 매개변수명) // 함수 선언(Declaration)이자, 정의(Definition)
{


	return 반환값;
}

int main(void)
{
	int num = 10;  // 자료형 변수명 = 값;

	함수명(인자값); // 함수 호출(Call)

	return 0;
}

이거 중요하다고 여러번 깜지 쓰라고 하셔서 여러번 보고 외워야할듯

0개의 댓글