2024 언리얼 엔진 실무 기반 교육 과정 20일차
- Maya Game Export
- 언리얼 임포트
- 분리 매쉬 조합
- 캐릭터 물건 넣기
- 물건 토글
- Remote Control API
<마야 Game Export>
- file - game export
- 게임 익스포트가 없으면 플러그인에서 Game FBX Expoter켜주기
- 뼈랑 폴리곤을 잡아서 가져올것
- 블렌드 쉐잎 체크
- path를 미리 정하기 > 이름
* 언리얼 폴더 Source파일에 모든걸 넣는걸 추천
> Config, Content, Plugins는 중요하니 손대지 않는걸 추천
> 프로젝트 세팅 안에 있는 Plugins 폴더에 플러그인을 넣으면 알아서 임포트
<마야 애니메이션 Export>
- Game Export에서 Animation Clips를 선택 > Export selection을 선택하면 원하는 프레임을 각각 가져올 수 있다.
> ex) 0~20 팔 up / 20~40 팔 down = FBX파일이 2개 생성 (파일명은 CHㅁㅁ_Anim_로 설정시 CHㅁㅁ_anim_up으로 저장)
- 뼈만 선택해도 된다.
<언리얼 임포트>
스켈레탈메시 임포트
- 모프 타깃 임포트를 체크해준다.
> 체크 안하면 블랜드 쉐잎이 들어오지 않음
애니메이션 임포트
- 뼈만 Export했으므로 스켈레탈 메시 임포트가 아닌 애니메이션 임포트로 뜬다
> 폴리곤이 있어봤자 용량만 커짐
- 불러올때 스켈레톤을 꼭 지정해줄것
<분리되어있는 매쉬> - 모듈형
- 모두 스켈레탈 메쉬로 분리되어있음
- 각각 분리되어있지만 뼈는다 똑같이 있음 > 그래서 따라갈 수 있음
- 블루프린트 생성 후 스켈레탈 매쉬를 블루프린트에 드래그앤 드랍으로 불러옴
> 뭔가 쥐여주고 싶을시 추가에서 폴리곤을 추가해주거나 드래그앤 드랍 가능
- 보통 스켈레톤을 합칠때 하체를 중심으로 움직일 수 있도록 연결함
> 하체 아래 다 넣고 머리 아래 머리카락을 넣음
Construction Script
- 플레이를 하자마자, 캐릭터를 올려두자마자 실행되는 노드
- Construction Script에 set leader pose component (leg)를 생성
> 넣었던 스켈레탈 매쉬중 뭐가 중심이 될지 선택해주는 노드
- Leg만 New Leader Bone Component에 연결
- 블루프린트를 필드에 올리고 하체를 선택 (리더 매쉬)
- 애니메이션 모드를 Use Animation Asset으로 선택
- 애니메이션 선택
라이브용으로 쓰려면
- 플러그인 > live link 검색 > live link, live link Debug UI, live link Camera 켜주기
- 블루프린트 > 추가 > live link Skeletal Animation 넣어주기
> 플레이를 누르지 않아도 실시간으로 움직임
<캐릭터에게 물건 쥐여주기>
- 소켓이라는것을 넣어줘야함
- 손 매쉬에 들어가 스켈레톤 클릭
- 원하는 손 뼈를 찾아서 우클릭 > 소켓 추가
* 만약 소켓이 안보이면 캐릭터 > 본 그리기 > 소켓 활성화
- 손바닥 가운데 오도록 조정
- 뷰포트로 이동 > 디테일 > 부모소켓에 검색, 연결해주기
<세팅된 물건을 보였다 안보였다 하게하기>
- 블루프린트 > 디테일 > 렌더링 > 표시
> 켜고끄면 보였다 안보였다 함
> 하지만 불친절...
- Construction Script에 Branch노드 생성
Branch
- 조건에 따라 옳고 그름을 판단하고 해당 노드를 플레이함
- +버튼을 눌러 변수 생성
* 지금의 stick on의 상태는 기본 False상태 (맨아래)
- Set Visivility 생성 후 연결 (사라질 매쉬의 변수 연결)
* 둘중에 하나는 꼭 Visibility 활성화 할것
- 변수 > 디테일 > 인스턴스 편집 활성화
>BP 디테일창에서 설정 가능해짐
+) 옷 on off 추가하기
- 블루프린트에 옷 매쉬 추가(상체 하위로 넣기)
- Set Leader pose Component에 cloth 변수 연결
- Construction Script에 Sequence 추가
* 만약에 바로 안뜨면 창 > 팔레트 활성화 후 노드 찾기에서 찾기
Sequence
- 여러개의 노드를 동시에 할 수 있도록 해주는 노드
> 핀추가를 누르면 Then이 더 늘어남
- Cloth와 Stick의 Branch에 각각 연결
* 켜져있는게 더 좋은 경우 기본값을 on해주고 하는게 좋다
- 인스턴스 편집 활성화
<Remote Control API>
- 원격제어 > 리모트 컨트롤 프리셋 선택
- 리모트 컨트롤 프리셋에 들어가면 이런 창이 뜬다
- 창이 띄워져있을때 설정에 눈모양 표시가 생김
> 눈모양 버튼을 누르면 원격제어창에 뜬다.
* 블루프린트 뿐만 아니라 light의 밝기 같은것도 넣을 수 있음
* Construction에 노드를 연결하면 뷰포트를 플레이 했을때 리모트 컨트롤이 작동하지 않음
> 이벤트 그래프의 Event Tick을 사용하여 모두 복사해서 붙여준다.
> 플레이를 눌렀을때 작동 (플레이하지 않으면 작동 x)
<키보드를 누르면 발생하는 이벤트>
J를 누르면 입거나 벗는 자켓
- input j를 검색해 노드 불러오기
* input 노드는 input을 쓰고 원하는 키를 적으면 쉽게 찾을 수 있음
- Flip Flop 불러오기
> A와 B를 번갈아가며 실행해주는 노드 (토글)
- BP_SCK 선택 후
- 디테일 > 입력 > 입력 자동 수신 > Player 0
<이펙트 on/off >
- 원하는 위치에 이펙트 넣기
<Anim Blueprint를 이용하여 페이스 트래킹 하기>
GitHub - Rokoko/Unreal-Demo-Project: Rokoko Studio Unreal Virtual Production Sample Project
- 일단 모든 리더를 헤드로 바꿔준다
- 머리 스켈레탈 메시를 기반으로 한 애님 블루프린트 생성
* 스켈레톤 파일이 있는 폴더에 생성됨
- 기존 캐릭터 블루프린트에가서 애니메이션 모드를 연결해줌
- 애니메이션 블루프린트에 들어가 Live Link Pose 노드 연결
> 라이브링크는 가장 맨 처음에 넣어주는게 좋다
- 윈도우에 CMD검색
* 아이폰 어플 > 설정 > 스트리밍 > 라이브링크 > 타깃추가
- 나오는 창에 IPconfig 검색 후 ip주소 입력
<블랜드 쉐이프 없이도 페이스 트래킹 사용하기>
- Anim Blue Print에서 Modify Curve 생성
- 노드 우클릭 > 커브 핀 추가 > Anger 추가
- Anger가 추가됨
- 변수로 승격해줌
- 이벤트 그래프에서 Evaluate Live Link Frame 생성
- Get Property Value 생성, Evaluate Live Link Frame의 Data Resultd와 Basic Data를 연결
* Evaluate Live Link Frame에 카메라가 연결되어야 사용가능
- Print String 생성하고 Get Property Value의 Value와 Print String의 In string을 연결
- Anger 변수를 Set으로 가져오고 Get Property Value에 연결해준다.
+) Joy 연결
- AnimGraph > Modify Curve > 우클릭 > 커브 핀 추가 > Joy > 변수 승격
- Get Property Value 생성 > Joy 변수를 Set으로 불러옴
- Anger 변수의 Set과 Joy의 Set을 연결한다
* Get Property Value의 Bassic Data도 Evaluate Live Link Frame의 Data Resultd와 연결