반응형
데이터구조 타입
구조체
- 여러 변수를 하나로 묶은 사용자 정의 데이터 타입
- 블루프린트에서 Make Struct로 생성 가능
열거형
- 미리 정의된 상수값들의 집합
- 예: EPlayerState = {Idle, Walking, Running, Jumping}
필자가 만드려는 데이터 테이블에는 각 캐릭터에 사용될 플립북(애니메이션) 이 들어갈 예정
데이터 만들기
블루프린트의 Structure를 만들어주고 값을 설정해 주었다
데이터 테이블 생성 방법
- Content Browser에서 우클릭
- Data Asset > Data Table 선택
- Row Structure 선택 (사용할 구조체 지정)
데이터 입력 방법
- 데이터 테이블 더블클릭
- Add 버튼으로 새 행 추가
- 각 열에 데이터 입력
데이터테이블 활용 예시
아이템 정보 관리
ID, 이름, 설명, 아이콘, 가격 등
캐릭터 스탯
레벨별 체력, 공격력, 방어력 등
스킬 정보
스킬ID, 이름, 데미지, 쿨타임, 이펙트 등
퀘스트 데이터
퀘스트ID, 제목, 설명, 보상 등
실제 개발 과정에선?
기획자
- 엑셀에서 게임 데이터 작성/관리
- 시트별로 아이템, 스킬, 퀘스트 등 분류
- CSV 형식으로 추출
프로그래머
- 데이터 구조(Struct) 설계
- CSV 임포트 기능 구현
- 데이터 검증 로직 구현
예시
아이템 데이터 구조:
ID(int) | 이름(string) | 설명(string) | 가격(int) | 아이콘(string) | 효과(float)
001 | 빨간포션 | 체력회복 | 100 | potion_red | 50.0
002 | 파란포션 | 마나회복 | 150 | potion_blue | 30.0
위와 같이 만들어진 csv파일을 데이터 테이블에 넣으면 자동으로 변환되어 그 값을 사용
캐릭터 무브먼트(Character Movement)
리얼 엔진에서 제공하는 캐릭터의 물리적 이동을 담당하는 핵심 컴포넌트
Character Movement Component의 주요 기능
- 걷기/달리기 이동
- 중력 적용
- 점프/낙하
- 충돌 처리
- 경사면 이동
- 수영/비행
기본 설정값들
- Max Walk Speed: 기본 이동 속도
- Max Acceleration: 가속도
- Braking Deceleration: 감속도
- Ground Friction: 지면 마찰력
- Air Control: 공중에서의 조작성
- Fall Damage Threshold: 낙하 데미지 기준치
Movement Mode
- Walking: 기본 걷기 모드
- NavmeshWalking: 내비게이션 이동
- Falling: 공중/낙하 상태
- Swimming: 수영 모드
- Flying: 비행 모드
- Custom: 사용자 정의 모드
각 모드들의 특징
Walking
- Z축 이동 제한 (중력 영향)
- 지면과의 충돌 검사
- 경사면 자동 처리
- 계단 자동 처리
Falling
- Z축 음의 방향으로 자동 이동 (중력)
- 공중에서 제한된 이동 조작
- 충돌 시 Walking 모드로 전환
Swimming
- 3축 자유 이동 가능
- 부력 적용
- 물 저항력 적용
- 수면 위아래 전환 가능
Flying
- 완전한 3축 자유 이동
- 중력 영향 없음
- 모든 방향 동일한 이동 속도
Custom
- 완전히 커스텀 가능한 이동 방식
- 물리 법칙 직접 정의 가능
- 특수한 이동 메커닉 구현에 사용
NavWalking
- NavMesh 기반 이동
- AI 캐릭터 이동에 주로 사용
- 자동 경로 탐색
예시
실행부
Get Data Table Row 노드
데이터 테이블에서 특정 행(row)의 데이터를 가져오는 노드이다
기본 사용법
- 입력:
- Data Table: 참조할 데이터 테이블
- Row Name: 찾을 행의 이름
- 출력:
- Return Value: 찾은 행의 데이터 (구조체 형태)
- Success: 성공/실패 여부 (bool)
공격 이벤트
입력 이벤트
이동 이벤트
플립북 이벤트 사전설정
결과
반응형
'언리얼 > 문법' 카테고리의 다른 글
[Unreal5] 블루프린트 FSM, Controller, GameMode (1) | 2024.11.22 |
---|---|
[Unreal5] 블루프린트 피격, UI (1) | 2024.11.21 |
[Unreal5] 블루프린트 키입력, 애니메이션, Select, 매크로 (2) | 2024.11.19 |
[Unreal5] Collision (3) | 2024.11.08 |
[Unreal5] 블루프린트 Structure(구조체),Vector, Location, Rotate (0) | 2024.11.07 |