변수 유형과 기본 활용법
변수는 블루프린트 프로그래밍의 핵심 요소로, 데이터를 저장하고 관리하는 데 사용됩니다.
이 절에서는 블루프린트에서 사용되는 다양한 변수 유형과 그 활용법을 살펴보겠습니다.
기본 변수 유형
1. 정수 (Integer)
- 설명 : 소수점이 없는 정수 값
- 범위 : -2,147,483,648 ~ 2,147,483,647
- 사용 예 : 점수, 레벨, 카운터
2. 실수 (Float)
- 설명 : 소수점이 있는 숫자
- 정밀도 : 소수점 이하 6-7자리
- 사용 예 : 속도, 거리, 시간
3. 불리언 (Boolean)
- 설명 : 참(true) 또는 거짓(false) 값
- 사용 예 : 스위치 상태, 조건 체크
4. 문자열 (String)
- 설명 : 텍스트 데이터
- 사용 예 : 플레이어 이름, 대화 내용
5. 벡터 (Vector)
- 설명 : 3D 공간의 위치나 방향
- 구성 : X, Y, Z 값
- 사용 예 : 오브젝트 위치, 이동 방향
6. 로테이터 (Rotator)
- 설명 : 3D 회전 정보
- 구성 : Pitch, Yaw, Roll
- 사용 예 : 오브젝트 회전, 카메라 방향
변수 생성 및 초기화
- 'My Blueprint' 패널에서 '+' 버튼 클릭
- 변수 이름과 유형 설정
- 필요에 따라 기본값 설정
예제 : 플레이어 체력 변수 생성
변수 값 설정 및 읽기
값 설정 (Set)
- 그래프에서 변수를 끌어다 놓고 'Set' 선택
- Set 노드의 입력에 원하는 값 연결
값 읽기 (Get)
- 그래프에서 변수를 끌어다 놓으면 자동으로 Get 노드 생성
- Get 노드의 출력을 다른 노드의 입력에 연결
변수 가시성 설정
- Private : 현재 블루프린트 내에서만 접근 가능
- Protected : 현재 블루프린트와 상속받은 블루프린트에서 접근 가능
- Public : 모든 곳에서 접근 가능
가시성은 변수의 'Details' 패널에서 설정할 수 있습니다.
변수 카테고리 구성
- 변수 선택 후 'Details' 패널에서 'Category' 설정
- 새 카테고리 이름 입력 또는 기존 카테고리 선택
카테고리를 사용하면 관련 변수들을 그룹화하여 관리할 수 있습니다.
고급 변수 유형
1. 구조체 (Struct)
- 설명 : 여러 변수를 하나의 단위로 그룹화
- 사용 예 : 플레이어 정보 (이름, 체력, 경험치 등)
2. 열거형 (Enum)
- 설명 : 미리 정의된 상수 집합
- 사용 예 : 게임 상태, 아이템 유형
3. 객체 참조 (Object Reference)
- 설명 : 다른 액터나 컴포넌트에 대한 참조
- 사용 예 : 플레이어 컨트롤러, 인벤토리 시스템
4. 배열 (Array)
- 설명 : 같은 유형의 변수들의 집합
- 사용 예 : 적 목록, 아이템 인벤토리
변수 활용 예제
- 플레이어 체력 시스템
- 아이템 획득 시스템
변수 관리 팁
1. 명명 규칙 준수
- 의미 있고 일관된 이름 사용
- 예 :
bIsJumping
(불리언),PlayerName
(문자열)
2. 기본값 설정
- 초기화 오류 방지를 위해 적절한 기본값 설정
3. 변수 설명 추가
- 'Details' 패널의 'Tooltip' 필드에 변수 설명 추가
4. 인스턴스 편집 가능 설정
- 레벨에 배치된 인스턴스에서 값을 수정할 수 있도록 설정
- 'Details' 패널에서 'Instance Editable' 체크
5. 변수 복제 설정
- 멀티플레이어 게임에서 변수를 네트워크로 동기화
- 'Details' 패널에서 'Replicated' 체크
효과적인 변수 사용을 위한 추가 팁
1. 타입 안전성 유지
- 가능한 한 정확한 타입 사용 (예 :
Integer
대신Float
사용 시 주의)
2. 변수 범위 최소화
- 전역 변수 사용을 최소화하고, 필요한 범위에서만 변수 사용
3. 상수 활용
- 변경되지 않는 값은 상수로 선언 (예 :
MaxHealth
)
4. 변수 그룹화
- 관련 변수들을 구조체나 열거형으로 그룹화하여 관리
5. 디버그 모드 변수 설정
- 개발 중에만 사용할 변수는 'Development Only' 옵션 활성화
변수는 블루프린트 프로그래밍의 기초이며 효과적인 변수 관리는 깔끔하고 유지보수가 쉬운 코드를 작성하는 데 핵심적입니다.
다양한 변수 유형을 적절히 활용하고 일관된 명명 규칙과 구조화된 관리 방법을 적용함으로써 복잡한 게임 로직도 명확하고 효율적으로 구현할 수 있습니다.