무작위 생성 폴리지

폴리지 블루프린트 개요입니다.

Windows
MacOS
Linux

Foliage.png

Foliage Blueprint (폴리지 블루프린트)는 블루프린트를 사용해서 표면에 어울리게 자동 배치되는 임의 생성 폴리지( 또는 기타 구조)를 만드는 법을 선보입니다. 사용자는 이펙트의 정도나 시스템에서 스폰 시도할 메시의 개수 등을 제어할 수 있습니다. 블루프린트의 이동에 따라 새로운 환경에 맞게 다시 어울리도록 메시가 업데이트됩니다.

전체적으로 보면, 시스템은 세트 반경을 받은 다음, 해당 반경 내에서 잠재적인 스폰 지점으로 사용할 임의 생성 지점을 선택합니다. 그런 다음 각 지점 아래 표면이 어디쯤 있는지 하향 트레이스 검사를 하여, 그 지점을 후보지로 사용합니다. 또한 메시가 너무 심하게 겹치지 않도록 각 메시의 개별 반경을 검사하여, 메시의 현재 지점에 공간이 없을 때는 임의 위치를 새로 선택합니다.

블루프린트 셋업

이 블루프린트의 컴포넌트 리스트, 컨스트럭션 스크립트, 이벤트 그래프는 다음과 같은 작업을 합니다:

블루프린트 측면

목적

컴포넌트 리스트

중심을 나타내는 '빌보드 컴포넌트'와 생성 반경 확인 보조용 박스 컴포넌트를 추가합니다.

컨스트럭션 스크립트

컨스트럭션 스크립트 가 하는 일은 다음과 같습니다:

  • 확인 보조용 박스 컴포넌트의 규모를 조절합니다.

  • 루프를 사용하여 반경 내 임의의 위치에 폴리지 메시를 생성, 지정된 메시 개수만큼 반복합니다.

  • 메시를 스폰시킬지, 어떻게 스폰시킬지, 여러가지 상황에 대해 확인합니다.

이벤트 그래프

이 블루프린트에는 이벤트 그래프 가 없습니다. 즉 프로퍼티가 설정되면 게임플레이 내내 그대로 남아있는다는 뜻입니다.

편집가능 변수

예측하시듯이 이 블루프린트 대부분의 작업은 컨스트럭션 스크립트 안에서 이루어지기에 확장성이 좋습니다. 아래는 노출된 주요 프로퍼티와 그 용도입니다.

MyBlueprintNoVar.jpg Properties_Foliage.png

프로퍼티

용도

Number of Meshes

메시 개수 - 블루프린트가 스폰을 시도할 메시 개수를 나타내는 정수 값입니다. 컨스트럭션 스크립트 에서 이 값은 ForLoop 노드가 트리거되는 횟수를 결정합니다. ForLoop 를 나오는 실행은 스태틱 메시 생성을 담당하는 스크립트 부분을 통과합니다.

Radius

반경 - 이펙트의 반경, 즉 폴리지가 임의로 흩어지는 범위를 조절합니다.

Collision Trace Range

콜리전 트레이스 범위 - 폴리지를 스폰시킬 수 있는 표면을 찾기 위한 세로 거리(시스템이 얼마나 찾아 내려갈 지)입니다.

Meshes To Spawn

스폰할 메시 - 콘텐츠 브라우저에서 메시를 추가시킬 수 있는 배열 변수입니다. 컨스트럭션 스크립트 가 메시 컴포넌트를 스폰시킨 이후, 이 배열에서 선택된 임의의 메시로 바뀝니다.

Vertical Offset

세로 오프셋 - 메시를 표면 속으로 얼마나 더 집어넣어 스폰시킬지 조절합니다. 메시가 더욱 땅에 붙은 것처럼 보이게 하는데 도움이 됩니다.

Align To Surface

표면에 정렬 - 이 부울 변수는 블루프린트에 의해 스폰된 메시가 그 아래의 표면 각도에 일치하도록 자체 정렬되도록 만듭니다. 내부적으로 이 변수는 폴리지 메시의 위치를 잡는 데 사용되는 메서드를 결정하는 컨스트럭션 스크립트 분기에 영향을 끼칩니다. 켜면, 스크립트는 각 메시를 스폰 시도하기 전마다 라인 트레이스를 그립니다. 트레이스가 표면에 걸리면, 접점의 각도와 높이를 구해 스폰중인 메시의 각도와 높이를 결정하는 데 사용합니다.

Scale Max

스케일 최대 - 스폰되는 메시에 허용된 최대 스케일입니다. 0.0-1.0 퍼센트 값으로, 1.0 은 100% 를 나타냅니다.

Scale Min

스케일 최소 - 스폰되는 메시에 허용된 최소 스케일입니다. 0.0-1.0 퍼센트 값으로, 1.0 은 100% 를 나타냅니다.

Cluster Around Center

중앙에 밀집 - 이 부울 변수는 메시의 임의 위치가 반경의 중앙에 주로 오도록 할 것인지를 나타냅니다. 이 옵션을 켜면 메시를 스폰시킬 수 있는 거리를 중심점에서 임의의 양만큼 감소시켜, 먼 쪽에 스폰되는 메시가 줄어들도록 만듭니다.

Scale Falloff

스케일 감쇠 - 이 부울 값은 중심점 멀리에서 스폰된 메시의 크기를 작아지게 만들 것인지를 결정합니다. 메시의 스케일과 중심에서 메시까지의 거리에서 파생된 값을 곱하는 식으로 결정합니다. 블루프린트를 사용해서 폴리지 메시를 생성할 때, 메시 클러스터 그룹 바깥쪽 변두리의 초목 크기가 점차 줄어들면 좀 더 자연스러운 느낌을 낼 수 있습니다.

Random Seed

랜덤 시드 - 난수 발생에 사용되는 시드를 조절합니다. 이 값을 바꾸면 난수 결과가 바뀝니다.

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼