PCG(2) - Spline(숲 / 길)
*언리얼엔진5를 배우는 과정을 기록하는 포스팅입니다.
아직 미숙하고 처음 글을 작성하는 만큼 미흡한 부분이 많은데 댓글로 피드백 부탁드립니다! 감사합니다.
https://www.youtube.com/watch?v=zp1pvaZraGM&list=PLA03OHAaHgYpo0enf8p-2oEpja3grLOKZ&index=3
숲과 같은 구역을 생성하는 PCG이다.
Spline을 통하여 닫힌 곡선을 만들 것이고, 그 안쪽으로 형성이 되도록 하는 구조이다.
PCG에 "Get Spline Data" 라는 노드가 있는데,
Actor Filter, Actor Selection, Actor Selection Tag 설정이 있는데,
Actor Filter는 해당 PCG가 적용될 액터들을 1차적으로 선별하고(All World Actors는 월드 내 모든 스플라인 액터에 대해서),
Actor Selection에서 Tag 나 Class를 통해 선택할 수 있는 것 같다.
다음으로
Spline Data에 대해 Spline Sampler를 연결해주고 디버깅해보면,
외각에 선이 생기는 모습을 볼 수 있는데,
Dimention을 Spline이 아니라 내부에 적용되도록도 설정할 수 있다. (포인트의 크기를 줄이면 우측 사진처럼 보인다)
Spline Sampler의 옵션에서
Interior Density Falloff Curve에 커브 값을 설정해주면 밀도에 맞게 설정되는데,
중앙은 빽뺵하지만 주변으로 갈 수록 적어지는 형태의 숲과 같은 PCG에서를 위한 방법으로는
Distance 노드를 활용하여 외각선과의 거리를 계산해 생성하도록 하는 것이다.
Distance의 값에 따라 중앙에 밀집된 형태로 Point들이 만들어진다.
이제 나온 Point 들에 어느정도 처리 후 Static Mesh 를 연결해주면 숲과 같은 형태로 만들어 질 것이다.
다음으로 숲 사이에 있는 길을 만들기 위해
숲의 Spline과 똑같이 컴퍼넌트로 넣어주고, Tag를 설정해준 뒤,
이번엔 Bounds Modifier를 활용할 것이다.
Spline Sampler를 통해 나온 스플라인 데이터를 Bounds Modifier의 값을 조정해주면, 외각의 Bound 두께가 변경되는 것 같으며,
Difference 노드를 통해 숲
으로 만들어진 Spline Data에서 Path Spline Data를 뺄 수 있다.
(후에 영상을 더 본 뒤 직접 숲 PCG와 길 PCG에 적절한 에셋을 첨가해 수정할 예정이다.)