액터 블루프린트를 카메라 LookAt에 사용할 수 있다.
<무비 렌더 큐>
- 장점 : 무비 씬 캡처(레거시)보다는 높은 퀄리티 출력 가능.
- 단점 : AVI로 바로 출력 불가.
무비 렌더 큐를 이용해서 고화질 동영상으로 뽑는 방법
*해당 기능을 사용하기 위해서는 프로젝트 단위로 적용해주어야한다.
https://ffmpeg.org/download.html#build-windows
https://www.gyan.dev/ffmpeg/builds/#release-builds
두 번째 사이트에서 Release builds 섹션에 들어가
ffmpeg-release-full.7z을 받아서 압축을 풀어준다.
압축해제 후 bin 폴더 안까지 들어가서 주소 복사
(*경로에 한글없게 하기)
다시 언리얼로 와서 무비렌더큐 플러그인 활성화
무비렌더큐 활성화 상태에서
프로젝트 세팅 - 플러그인 - 무비 파이프라인 CLI 인코더
명령줄 인코더에서 실행 가능 경로에 아까 복사한 주소 + \ffmpeg.exe 를 추가로 입력 후 적어준다.
비디오 코덱 : libx264
오디오 코덱 : aac
출력 파일 확장명 mp4
무비렌더큐의 Config
게임 오버라이드
안티 에일리어싱
공간 샘플 수는 약간의 차이가 나는 카메라 몇 대로 찍어서 평균을 낼 것인가
템포럴 샘플 수는 시간차에 얼마나 많은 캡쳐를 해서 평균을 낼 것인가
안티 에일리어싱 오버라이드도 체크해주고, 엔진 웜업수를 128정도는 주는게 좋다.
아까 프로젝트 세팅했기 때문에 뜨는 기능 : 명령줄 인코더
이걸 넣어주면 이제 렌더 시 마지막에 시퀀스가 합쳐진 버전의 동영상도 같이 추출할 수 있다.
Clothing Simulation
언리얼 모델링 기능으로 간단하게 면수가 많은 사각형을 제작해준다.
Clothing 기능의 경우 면수가 충분해야 자연스러운 표현이 가능하다.
*스태틱메시를 스켈레탈메시로 바꾸는 법은
스태틱메시를 익스포트한 후 다시 불러올 때 스켈레탈메시로 불러와서 쓰면된다.
스켈레탈메시로 바꾼 평면을 더블클릭, 스켈레탈 메시 에디터에 들어가서
창 - 클로딩 메뉴를 선택해준다.
(*클로딩 메뉴는 스태틱메시에는 사용할 수 없다.)
메시를 선택 - 우클릭 - 섹션에서 클로딩 데이터 생성을 눌러 생성해준다.
*캐릭터 작업 시 바디와 옷 메시가 나누어져있다면 메시별 부분 생성이 가능하다.
클로딩 창 - 클로딩 데이터 부분에 리스트가 생기게 되고
리스트 선택 상태에서 다시 메시 우클릭 - 클로딩 데이터 적용을 눌러 생성한 데이터를 적용해준다.
이번에는 시뮬레이션 될 영역을 페인팅하기 위해 상단 메뉴바 - 클로스 페인트 활성화를 눌러준다.
핑크 부분이 고정되는 부분, 흰 부분은 페브릭 시뮬레이션 될 부분이다.
브러시 세팅은 클로딩 창의 스크롤바를 내리면 밑에 쪽에 있다.
페인트 후 클로스페인트비활성화를 눌러보면 뷰포트에서 바로 결과를 확인할 수 있다.
스켈레탈메시 에디터 창을 나와 레벨에서 Clothing 효과를 확인할 때는 플레이 모드가 시뮬레이트 상태여야한다.
Cloth가 적용된 스켈레탈메시를 레벨에 배치한 후 시뮬레이트 눌러준다.
바람 시뮬레이션 적용
바람 방향 소스를 꺼내면 하늘색 화살표가 바람의 방향을 의미한다.
디테일 창에서 속도, 강도 등을 조절할 수 있다.
Cloth 시뮬레이션 캐릭터 적용
피직스어셋에서 Colider를 추가하는 것이 중요!
ex > 망토 입은 캐릭터면
망토는 Clothing 적용해주고,
바디는 Colider를 심어준다. Colider가 너무 작으면 적용이 잘 안될 수도 있다.
군중 시뮬레이션 ( 스켈레탈 메시 렌더 )
Empty 이미터 세팅으로 나이아가라 생성.
이미터 업데이트 탭 - Spawn Rate를 추가
Spawn Rate 값을 적절히 주고
프로퍼티에서 로컬 스페이스 체크
스켈레탈 메시를 파티클처럼 사용하기 위해 컴포넌트 렌더러를 추가하고 컴포넌트 타입을 SkeletalMeshComponent로 바꾸어준다. 그럼 컴포넌트 렌더러 이름이 스켈레탈 메시 컴포넌트 렌더러로 변한다.
Mesh부분에 원하는 스켈레탈 메시를 적용하고, Animation부분에 Use Animation Asset 을 불러와 플레이할 애님을 적용해준다.
다음으로 방향성을 가지고 움직이기 위해 파티클 스폰에서 Add Velocity를 추가해주고,
Velocity Mode는 Linear, Velocity 방향은 원하는 방향으로 설정해준다.( X, Y, Z 중 하나의 축에만 값을 주면 일렬로 달리는 효과를 만들 수 있다)
*레벨에 나이아가라를 배치하고 확인하려면 플레이를 해야 애니메이션 동작까지 반영되어서 보여짐.
추가적으로 Add Velocity를 수정.
Mode를 From Point로 바꾸고 Speed 지정.
파티클 스폰에 Shape Location을 추가하여 Add Velocity위에 위치시켜주고,
모양과 크기를 지정해준다.
파티클 스폰 - Initial Mesh Orientation 추가
Mesh Orientation Mode를 Orient to Vector로 수정.
Orientation Vector를 '파티클 Velocity'로 바꾸어준다.
스켈레탈 메시 컴포넌트 렌더러 - Transform - 상대적 회전을 Particles.MeshOrientation으로 바꾸어주면 Mesh의 방향대로 이동하게 된다.
추가적으로 회전 방향 조절을 위해 Initial Mesh Orientation에서 Rotaion을 활성화해서 추가 수치값을 넣어줄 수 있다.
[이미터 연동하여 사용하는 방법 : 파티클을 이미터로 사용]
Fountain 이미터 기반으로 나이아가라 생성
이미터 업데이트 탭 - Spawn Rate를 삭제하고 Spawn Burst Instantaneous로 변경
Spawn Rate는 파티클 하나씩 생기는 느낌이라면
Spawn Burst Intantaneous는 펑 터지는 느낌으로 뿜어져나온다.
Emitter state - Life Cycle - Loop Behavior를 once로 변경 (실행 시 한번 만 반복된다.)
파티클 업데이트 - Particle State에서
Kill Particles When Lifetime Has Elaspsed 체크해제
파티클 생성 후 안없어지게 설정하는 것.
파티클 업데이트에서 Update Mesh Reproduction Sprite를 추가
오류 뜨면 이슈 고침 눌러주기 ( 파티클 스폰에 Initialize Mesh Reproduction Sprite 생성하라는 경고)
Update Mesh Reproduction Sprite와 Initialize Mesh Reproduction Sprite
프리뷰 메시에 원하는 스켈레탈 메시를 넣어준다. 두 모듈 프리뷰 메시 동일한 것 사용하기!
3인칭 게임 시점 기본 마네퀸으로 테스트 하기 위해서 Quinn_Simple사용
파티클의 크기는 Update Mesh Reproduction Sprite - Sprite Size에서 조절가능하다.
파티클 스폰- Shape Location과 Add velocity는 삭제해준다.
각 모듈 순서 맞춰줄 것!
Fountain1 결과
Fountain1을 복제하여 Fountain2 이미터 추가 생성
파티클 스폰 - Add Velocity 추가
Add velocity는 velocity Speed를 Random Range Float로 바꿔주고 min 600/ max 900 넣어준다.
파티클 스폰에서 Shape Location 추가
모듈 순서 중요!
핵심 모듈!
기존에 만든 파티클을 이미터처럼 사용하여 그 위치에서 새로운 파티클을 내뿜는 역할
이미터 업데이트 - Spawn Particles from Other Emitter 추가
이미터 이름에 앞서 만든 Fountain1 이름을 입력해주면 자동으로 연동된다.
그 아래 Spawn Rate를 조절하면 Fountain 1에서 만들어지는 파티클 하나당 생성되는 파티클의 수가 된다.
파티클 업데이트 - Collision 추가로 충돌이 가능하게 해주고,
파티클 업데이트 - Kill Particles를 추가하여
어디 부딪히면 파티클이 없어지도록 Kill Particles를 Stackcontext HasCoilded로 바꾸어준다.
마지막으로 파티클 업데이트 - Generate Death Event를 Kill Particles 위에 추가해주면
파티클이 없어질 때 실행할 수 있는 이벤트로 지정이 된다.
프로퍼티 - 퍼시스턴트 ID 필요를 체크해준다.
Fountain2번을 복제해서 Fountain3 이미터 생성
불필요한 모듈을 삭제하고 정리해준다.
프로퍼티 옆 스테이지에서 이벤트 핸들러를 추가해준다.
스테이지란 일련의 사건을 추가하는 것이라고 할 수 있다.
이미터 업데이트 - Emitter State를 Infinite로 바꾸어준다.
이벤트 핸들러 - 소스에서 목록을 보면 Fountain2의 DeathEvent를 설정할 수 있다.
( 앞서 Fountain2에서 프로퍼티 - 퍼시스턴트 ID 필요를 체크해주어야 선택가능)
이벤트 핸들러에 Receive Death Event를 추가해준다.
렌더에 메시 렌더러를 추가하고 원하는 메시를 넣어준다.
메시의 크기는 Initialize Particle - mesh attributes - mesh scale mode를 Uniform 으로 바꾸고 조절해 줄 수 있다.
최종적으로 모든 세팅이 끝났다면
Emitter State를 모두 Infinite로 바꾸어준다. ( 초기 작업은 과부하를 막기 위해 Once로 작업 후 마지막에 필요 시 Infinite로 변경한 것)
추가 디테일을 위해
파티클 업데이트 - Scale Mesh Size를 추가해줄 수 있다.
Vector from Float, Float from Curve로 설정하여 조절.
파티클 업데이트 Update Mesh Orientation 추가
Orient to Postion 으로 Method 설정.
Facing Origin은 파티클 Postion으로 해준다.
최종 결과물
파란 파티클 (Fountain1)에서
핑크 파티클(Fountain2)이 뿜어져 나옴
*Fountain3는 확인 불가 수정 필요.
Flocks : 파티클 무리를 만드는 Volume 사용
*Flocks 플러그인 사용 필요
플러그인을 설치하면 액터 배치에서 검색 가능.
Flocks Volume Actor와 Flocks World 둘 다 사용.
Flocks World가 Flocks Volume Actor안에 위치해있어야한다.
레벨에 배치한 FlocksVolumeActor 디테일창에서
Info - Type을 지정 ( Goal : 목적지를 향해 이동, Restriction : 안보이는 벽처럼 사용)
Info - Shape (Sphere와 Box 중 하나 선택 가능)
밑에 옵션을 통해 크기 조절 가능.
FlockWorld에서는 Mesh를 넣고, 메터리얼을 넣는 것이 가능.
Default Num Boids로 갯수 지정.
Min/Max Scale로 크기 지정 가능.
볼륨을 여러 개 생성해서 사용할 수 있다.
외부 볼륨Type - Restriction
내부 볼륨Type - Goal
게임 플레이하면 작동하는 것을 볼 수 있다.
'Unreal Engine' 카테고리의 다른 글
Unreal VFX - 05 (0) | 2024.06.21 |
---|---|
Unreal Lighting - 07 (0) | 2024.06.17 |
Unreal Material - 09 (0) | 2024.06.13 |
Unreal Blueprint Class, LOD, Streaming Pool (0) | 2024.06.10 |
Unreal Animation Mode - 01 (0) | 2024.06.05 |