2024 언리얼 엔진 실무 기반 교육 과정 37일차
- 랜덤 불빛
- Get All Actors Of Class with Tag
- 랜덤 불빛 색상
- 랜덤 위치
- 다중 액터 제어
- AI특강
* 블루프린트에서 값을 주는 것 보다 액터에서 값을 주는게 더 우선순위
Get all Actors of Class
- 블루프린트가 속해있는 액터를 모두 불러와 설정해줄 수 있는 노드
액터 변수
- 액터를 넣을 수 있는 변수
* 배열 = 하나의 변수에 하나 이상의 값을 넣을 수 있다.
* +를 눌러 값을 추가해줄 수 있음
> 코딩 숫자는 0부터 시작하므로 값을 가져올때 주의
<랜덤 밝기 가로등>
- 블루프린트 생성 후 뷰포트에서 가로등 생성
- Custom Event를 생성하고 Get All Actors Of Class 생성
- Actor Class에 가로등을 만든 블루프린트를 연결한다.
* Get all Acotrs Of Class와 Get Actor Of class는 변수 연결 모양이 다르다
- For Each Loop 노드를 생성하여 Out Actors와 Array를 연결한다
- For Each Loop의 Array Element에 Get Component by Class를 연결하고 Loop Body에 Set Intensity를 연결한다
> Get Component by Class의 Component Class에 가로등에 추가한 Spot light를 꼭 연결해줄것
> Get Component by Class는 Actor 변수값을 받아 Component값으로 변형해주는 노드
= 여기까진 Intensity의 값에 따라 모든 밝기가 조절됨
- 불빛의 변수에 인덱스를 추가해준다
- Get으로 변수를 불러온다
- 배열 Get변수는 바로 연결할 수 없으므로 Get (a ref)를 추가 생성
- Get (a ref)가 생성됨
> 아래 값은 변수의 인덱스 값을 지정해줄 수 있다 (ex. 0 = 인덱스 0)
> 하지만 하나의 값만 연결해줄 수 있음
- Random Interget in range를 불러와 Get(a ref)의 인덱스 값에 연결해준다
> Min과 Max사이에 있는 인덱스의 값을 랜덤하게 출력
- Get(a ref)를 Set Intensity의 New Intensity에 연결해준다
- Custom Event > 디테일 > 에디터에서 호출을 활성화
= 버튼을 누를때마다 깜빡거림
Get All Actors Of Class with Tag
- Actor Class로 한번 구분하고 아래 Tag로 한번 더 구분하는 노드
* 액터 선택 > 디테일 > 액터 > 고급 > 태그에서 태그를 추가해줄 수 있음
- Tag에 가로등을 적어주면 가로등이 태그된 액터만 반응
> 여기선 위에 있는 랜덤 노드들을 그대로 복사해서 사용
- 1길과 2길 태그를 각각 분리해서도 사용할 수 있다.
* 알아서 깜빡거리게 하기
> Tick에 Delay를 달아 1초에 한번씩 밝기가 바뀌게 함
<색상 랜덤하게 바꾸기>
* 편의상 위에 랜덤 밝기 뒤에 붙인다
- Get Component by Class의 Return Value에서 핀을 뽑아 Set Light Color를 생성한다.
- Set Light Color와 Set intensity를 연결
- Set Light Color의 New Light Color에서 핀을 뽑아 Mkae Linear Color를 생성한다.
- RGB값에 각각 Random Float In range를 연결해준다.
> Max를 1, Min을 0으로 설정하여 다양한 값이 나올 수 있도록 한다
위치를 랜덤하게 하기
- Set Actor Location 노드 생성
> Target엔 Actor를 연결해줘야 함으로 For Each Loop의 Array Element에서 연결
- Random Float In Range를 XYZ에 각각 연결
> 하나의 Random 노드를 XYZ에 연결하게되면 다 같은값의 위치로 이동함으로 주의
<랜덤한 위치에 생기는 가로등>
- 커스텀 이벤트를 생성하고 Spawn Actor 생성
> Class에 기존에 만든 BP_가로등 연결
- Spawn Transform을 구조체 핀 분할
- Spawn Transform Location을 핀 분할 한 후 Random Float in Range 연결
* For Loop를 넣어줌으로써 몇개의 오브젝트를 생성할건지 설정 가능
* Loop Count 변수를 생성하고 인스턴스 편집 가능 활성화하면 레벨 디테일에서도 Loop Count의 값을 변경해줄 수 있다.
- For Loop에 변수 연결
* 추후 알아보기 쉽게하기 위해 노드들을 변수로 변환해두고 빼놓으면 편함
<다중액터제어>
- 라이트 Intensity 노드 그대로 가져온다
- For Each Loop의 Array에 액터 다수 변수를 만들어 연결 > 인스턴스 편집 가능 활성화
- 블루프린트 > 디테일 > 디폴트
> 인덱스에 원하는 레벨 위 오브젝트를 연결할 수 있음
> 라이트 밝기로 밝기 변경 가능
<AI 특강>
언리얼로 제작한 애니메이션
https://youtu.be/qknmOlc90ho?si=p9_854NLXOPSZWxL
https://youtu.be/tEUTEDqAN90?si=l7QaLk8IkYJY_D6Q
https://youtu.be/QBCwvdvCeeE?si=_hXLcEkaImd0SvHu
언리얼을 도입한 3D 파이프라인의 장점
- 디렉터 중심으로 소규모 인력만으로도 제작이 가능. 비용을 획기적으로 절감
- 협업의 과정이 줄어들어 납득과 의사 결정이 신속함
- 비선형적 진행으로 수정이 용이
- 원래의 연출 의도를 최대한 반영
언리얼을 도입한 3D 파이프라인의 단점
- 소규모 인력들만의 의사결정으로 개인적 취향이 과하게 반영되거나 생각하지 못했던 치명적 오류에 빠질 수 있음
- 전통적 파이프라인보다 상대적으로 미장센이나 퀄리티의 저하, QC관련 문제가 발생할 가능성 있음
- 에셋과 데이터들의 옵티마이징이 어려움
스토리보드 제작 ai
Storyboarder.ai – Revolutionize Your Storyboarding Process
영상을 보고 애니메이션을 만들어주는 ai
행동을 입력하면 그에 맞는 애니메이팅을 해주는 ai
Motorica — The Generative AI Mocap Actor
Cascadeur - the easiest way to animate AI-assisted keyframe animation software
음악 생성 ai
사진 입체감 만들어주는 ai