언리얼에는 문자열에 관련한 자료형이 3개 : Name, String, Text
- String : 제일 범용적.
- Name : 만들어지고 나서 수정이 불가능
- Text : 텍스트의 현지화 기능을 제공
이중에서 Name, String이 자주 쓰인다.
TIP! Ctrl + W : 내 블루프린트 - PureFunction 함수 선택 후, Ctrl + W하면 바로 복제가 됨(노드도 됨)
언리얼의 자동저장기능은 꺼놔도 무방하다.
따라서 편집 - 에디터 개인설정 - 로드/저장 - 자동저장활성화 기능을 꺼도 된다.
블루프린트 함수
저번 시간에 만들었던 BP_Practice에서 이어서 이번에는 함수를 추가해볼 것이다.
내 블루프린트 - 함수 + 추가 - TestFunction을 하나 만들어주었다.
함수 디테일
- 설명 : ToolTip (함수의 메모같은 것)
- 카테고리 : 함수 카테고리 추가
- 키워드 : 노드 추가할 때, 검색에서 정한 키워드만 적어도 바로 나옴
※ 키워드 예시 : C++에서 쓰던 if가 여기서는 Branch로 역할을 대체할 수 있음.
그래서 노드 검색에 if만 치면 Branch로 연결되는 것을 볼 수 있다.
- 간단 노드 제목 : 노드 추가 시, 간단노드제목에 지정한 제목만 노드에 나온다. 키워드의 상위호환임
보기만해도 이해할 수 있는 정도의 노드여야 함
- 에디터에서 호출 : 에디터 상에서도 버튼으로 바로 호출 가능
- 퓨어 : 실행핀의 유무. 실행핀이 없으면 출력에 의존하여 출력이 필요할 때 실행이 되도록 바뀜.
퓨어 함수로 바뀌면 실행핀이 사라지게 되어 출력에 의존하게 바뀐다.
즉, 출력이 필요할 때에만 불린다는 뜻이다.
※ 함수 디테일에서 입력 파라미터, 출력 파라미터 추가 시, 이름 정하는 규칙이 있다.
꼭 이름 앞에 소문자 b를 붙여서 bIn / bOut과 같이 작명하는 것.
순수(pure)함수의 조건
1. 함수 외부의 값을 변경하지 않을 것(함수 외부의 값이 변경되야한다면 호출 시점이 매우 중요해지기 때문)
- 따라서 호출 시점과 무관해야 함
2. 같은 입력에 대해서 같은 출력을 낼 것(자료형이 달라지거나 그러면 안됨)
PureFunction은 연결된 출력 핀 갯수만큼 호출이 되고, ImpureFunction은 여러 출력 핀이 연결되도 한번만 호출이 된다.
- Const : 멤버변수에 대한 변경이 불가함(완벽한건 아님. 그래도 Const 사용이 좀 더 안전하긴 함)
- 폐기됨(Deprecated) : 함수의 사용을 막는다. 폐기 메세지를 추가하여 왜 폐기됬는지 사유작성이 가능하다.
따라서 컴파일 시에 경고를 나타낼 수 있음.
※ 왜 함수를 삭제하지않고 폐기함을 사용했을까?
배포되는 엔진, 프레임워크와 같이 규모가 커진다면, 함수를 함부로 지울 시 여러 부작용이 나타날 수 있다.
따라서 폐기함을 선택하여 함수의 사용을 막고, 폐기 메세지를 출력하여 안내가 가능하다.
이렇게 함수를 폐기하고 좀 더 나중에가 되어서야 그때 함수를 삭제하는 편이다.
'언리얼엔진' 카테고리의 다른 글
6. Asset / Character 살펴보기 (0) | 2023.05.06 |
---|---|
5. Construction Script / 이벤트 / 함수 / 매크로 / 와일드카드 (0) | 2023.05.03 |
3. 블루프린트 변수 / 함수 / 구조체 (0) | 2023.05.02 |
2. 블루프린트 클래스 계층구조 / Static Mesh Actor 생성하기 (0) | 2023.05.01 |
1. 언리얼엔진 설치 및 기능 알아보기 (0) | 2023.04.30 |