블루프린트 사용 시 단순 반복 기능을 좀 더 효율적으로 관리 가능, 비주얼 스크립팅을 통해 노드 기반 게임 개발 가능
블루프린트화 하고 싶은 액터 클릭 후 디테일 추가 버튼 오른쪽 노드 그림 클릭 시 액터 -> 블루프린트 생성 가능
블루프린트 편집 창에서 컴포넌트 부분에 구성 요소 추가 및 관리 가능, 스태틱 메시, 박스 콜리전 추가로 목표 지점 블루프린트화 가능, 볼륨은 없고 박스 콜리전으로 같은 기능 구현 가능
편집 완료한 블루프린트는 저장 말고도 컴파일 한 번 하는 게 좋음
블루프린트 생성 시 가장 먼저 고민할 것은 Movable한 BP인지 생각해서 Mobility 설정하기
블루 프린트에 Timeline 추가 후 BeginPlay이후 노드로 연결 시 게임 시작 후 시간에 따라 변화하는 값을 설정할 수 있음, 타임라인 더블클릭하여 편집, 시간에 따라 값이 어떻게 변할 지 편집 가능, 시퀀서랑 조작 비슷, 루프 선택 시 무한 반복 진행, 루프 없으면 한 번 타임 라인 돌고 끝남
Get Actor Location: 현재 액터 위치 가져와서 값 반환, 출력 값 변수로 승격하여 저장 가능
Multiply: 연산자, Timeline에 따른 값 (0~1)에 스칼라를 곱해 증폭시키기 가능
Get Forward Vector: 각 컴포넌트의 전방 벡터를 가져옴, 크기는 1인 단위 벡터
Add: 연산자, 시작 위치에 (증폭된 값 * 전방 벡터)를 더해 업데이트할 새로운 위치 계산 가능
Set Actor Location: 액터 위치 설정, 함수기 때문에 Timeline의 Update 흰 색 화살표에 연결해야 작동, New Location에 새로 계산된 위치 입력하여 완성
대각선으로 움직이는 발판은 발판에 배치한 화살표의 방향만 바꿔서 구현 가능!
완성한 움직이는 발판 BP는 이동 거리가 800으로 고정된 경우에만 완벽하게 작동, 변수로 승격시킨 뒤 디테일 -> 변수 -> Instance Editable 활성화 시 각 액터마다 값 변경 가능
Set Play Rate: target에 timeline component를 입력, 새로운 재생 속도를 주어 timeline의 속도 변경 가능
Delay: 정해진 시간 만큼 딜레이
V키 누르고 액터 움직이면 버택스 스냅핑 가능, 액터 기즈모 기준 흰 점을 다른 액터의 정점에 딱붙이기 가능
카메라 콜리전: 벽에 카메라가 충돌할 경우 카메라를 캐릭터 쪽으로 당겨서 벽을 뚫지 못하게 함, 하지만 카메라 릭에 액터가 닿으면 카메라가 왔다갔다할 수 있음, 릭에 닿을 것 같은 액터 -> 스태틱 메시 컴포넌트 디테일 -> 콜리전 프리셋을 Default -> Custom으로 변경 후 트레이스 반응 -> 카메라 무시로 설정 시 카메라 릭에 액터가 닿아도 카메라가 당겨지지 않는다
블루 프린트는 C++보다는 느리다. 스크립트로 동작하지 기계어로 동작하지 않기 때문. 빠른 것만을 보고 C++을 선택하기에는 블루프린트의 장점이 너무 많다.
틱 기반은 타임 코스트가 크다. 60프레임 게임에서 60번 실행되기 때문. 최적화 측면에선 틱을 최소화하는 게 맞지만 컨텐츠를 만드는 단계에선 일단 막 쓰고 나중에 문제가 발생한다 싶으면 교체하는 방법이 나을 것.
원 운동: 회전 이동 컴포넌트를 통해 배치한 물체를 돌릴 수 있음