[UE5 KDT2024] 2. 블루프린트 액터 생성 해보자.
1. 에셋 받기
EpicGames 언리얼엔진 - 라이브러리 탭 - 팹 라이브러리 가서 받은 에셋들을 확인할 수 있다.

팹 사이트 이동
- 에셋은 비상업적무료와 상업적 무료가 있음. 잘 확인하고 사용해야함
- 언리얼은 z축이 y축이다. (코드와 블루프린트간 차이가 있으니 확인하자)
- 언리얼 실행 후 커서 활성화 : shift + f1 (알탭해서 나와도 됨)
- 블루프린트 생성시 직접만든 클래스로 부모 클래스 선택하기
- 블루프린트 생성에서 ‘모든 클래스 ‘ 눌러서 부모클래스 선택
- 부모 블루프린트 - 오른쪽클릭 - 자손 블루프린트 생성
2. 행성 만들어서 돌려보자.



- DeltaSecons에서 * 검색하면 multiply나옴.
- Add World Rotation 검색후 돌리려는 오브젝트 이름 붙은걸로 연결
- 적용시킬 로테이션 한개만 적용할거면
- 로테이션 오른쪽 마우스 - 구조체 핀 분할 하면 한개씩 적용 가능함.
- 컴파일 -> 저장 하고 맵에 올려서 실행하면 Sun을 중심축으로 돈다
3. 블루프린트 액터를 상속받은 블루프린트 액터 만들기
1) 블루프린트 액터 생성
- 마우스 오른쪽 기본 에셋 생성 - 블루프린트 생성 - BP_Planet 생성 - 스태틱매쉬 하나 루트로 만들어서 저장
- 아래처럼 바로 자손 블루프린트 클래스 생성도 가능하다 : BP_Sun, BP_Earth, BP_Moon 넣고 매시, 머터리얼 생성해주기


2) 블루프린트 이벤트 그래프를 이용하여 다른 행성 생성하기
- (1) BP_Sun에서 다른 행성 생성해봅시다


(2)Spawn Actor from class
액터 스폰해주는 클래스
- class : 생성할 클래스 - BP_Earth 선택
- spawn Transform : 스폰할 트랜스폼 정보
- owner : 부모 -> this와 같은 self 검색해서 Get a reference to self 생성해서 연결
(3) 내 위치(Sun) 넣어야하니까 Get Actor Transfrom 추가해서
SpawnActor BP_Earth의 Spawn Transform 에 연결

(4) 변수 추가해서 get, set 함수도 만들기 가능
변수로 생성했던 클래스(액터)도 사용 가능
Earth 끌어서 Set으로 만들고 -> SpawnActor BP_Earth의 Return value 연결

(5) 액터간 부모자식 견결해주기
Attach Actor to Actor : 액터끼리 이어줌. 예제에서는 부모sun 자식earth 관계를 만들기 위해 사용용

(6) 생성 위치 변경 : 생성하면 부모와 같은 위치에 겹쳐서 생성될 테니까
Set Actor Location : actor의 로케이션 ( 포지션) 변경
타겟에 타겟클래스 넣어주고 원하는 위치 잡아주기. => 이렇게 하면 절대위치로 잡힘

(7) 상대위치로 다시 잡아주기 Set Relative Location으로 바꿔주기
(8) BP_Solor꺼 회전하는 이벤트 그래프 가져와서 수정

=> Sun만 올리고 실행하면 Sun주위로 Earth가 생성되고, Earth가 sun주변을 돌음음
▶️ ctrl+space하면 블루프린트 에디터에서 컨텐츠 브라우저 보여짐
▶️ 블루프린트에서 마우스 드래그로 여러 함수 선택 가능 / ctrl+c, v로 다른거 가져올 수 있다.
▶️ 함수설명
1) Begin Play
액터가 월드에 배치될 때 호출되는 함수
(dx의 init 과 같은 함수)
-> 초기화 작업
2) Tick
-> Update 함수
-> 매프레임 실행할 로직
3) print string, print text : 개발 로그 남기기용
(9) Earth에도 Moon 생성하는 블루프린트 이벤트그래프 생성해주기
▶️ Sequence : 한글로 ‘시퀀스’로 검색.
병렬처리용 작업을 처리한다.
순서대로 작동하지 않기 때문에 주의가 필요하다.
