절차적 산포

Dash에는 특정 목적에 맞춘 다양한 산포 도구가 포함되어 있습니다. 이 페이지에서는 이러한 산포 도구들이 Dash에서 가장 널리 사용되는 이유를 설명합니다.

표면 분산은 메시 표면에서 작동하는 세계적 수준의 분산 솔루션입니다. 아이디어는 일부 지오메트리(정적 메시, 랜드스케이프, 프로시저럴 메쉬 등...)를 표면/지면으로 주고, 분산할 액터들을 제공하면 마법처럼 처리해준다는 것입니다.

이것은 Dash에서 가장 광범위한 도구이며, 여러 대형 AAA 스튜디오, 재능 있는 개별 아티스트들이 요청한 기능들과 우리 팀의 최첨단 월드 빌딩에 대한 끊임없는 추구가 반영되어 있습니다.

circle-info

다음의 문서를 반드시 읽어보세요: 시작하기 페이지는 이 페이지의 정보를 쉽게 소화하는 데 도움이 됩니다. 환경 생성 섹션은 Dash 도구 사용의 기본을 다루며, 이 페이지에서는 해당 내용을 알고 있다고 가정합니다.

특정 사용 사례를 위한 사용하기 쉬운 전용 분산 도구가 있다는 것 외에도 사람들이 우리 분산 도구를 좋아하는 주된 이유는 마스킹 기능 때문입니다. 대부분 도구는 몇 가지 기본 마스킹 설정을 공유하지만, Surface Scatter가 거의 모든 기능을 갖추고 있으므로 하나씩 살펴보겠습니다!

마스킹 기능

Dash의 분산 도구에는 다양한 마스킹 기능이 포함되어 있으며, 대부분은 Surface Scatter에만 있지만 다른 도구들도 일부 기능을 가지고 있고 우리는 지속적으로 마스킹 기능을 확장하고 있습니다. 주요 마스킹 기능들이 어떻게 동작하는지, 그리고 무엇을 할 수 있는지 살펴보겠습니다.

들어가기 전에 여기서 "마스킹"은 분산된 인스턴스를 제거하는 것을 의미합니다. 또한 대부분의 마스킹 그룹은 마스크 결과를 반전할 수 있는 기능을 제공합니다. 일부 속성의 오른쪽 하단에 작은 어두운 원이 있는 것을 볼 수 있는데, 이는 해당 속성을 우클릭하여 마스크 반전.

근접 마스킹

이 기능은 곡선, 메시 및 인스턴스로 마스킹할 수 있게 해줍니다.

이에는 거리 속성이 있어 근접 거리를 제어하며 네이티브 UE 단위를 사용합니다. 다른 속성은 샘플링입니다. 이 값은 마스킹의 품질을 제어합니다. 값이 높을수록 품질이 높고 낮을수록 품질이 낮습니다.

위 예제에서는 메시와 곡선을 마스킹에 사용했지만 인스턴스를 사용하는 것도 똑같이 쉽습니다: 뷰포트에서 인스턴스를 선택하고 근접 오브젝트에 추가하세요. 아래 예제에서는 구를 먼저 분산시키고 디스크를 분산시킨 다음 구 근처의 디스크만 남겼습니다.

근접 마스킹을 활용하여 현실적인 숲을 만들 수 있습니다. 먼저 나무를 분산시키고 그 아래에 양치류와 잎을 남긴 다음 경로가 필요하면 곡선을 근접 마스크로 사용하고, 경로 가장자리에는 바위를 흩뿌리는 식으로 사용할 수 있습니다...

Dash 1.8.5부터 Surface Scatter는 Proximity Table을 통해 무한한 수의 근접 마스크를 추가할 수 있는 기능을 제공합니다. 이는 이전의 3개 근접 마스크를 대체합니다. Proximity Table에서 그룹을 생성할 수 있으며 각 그룹은 자체 오브젝트, 거리 및 너비 값을 가집니다. 예를 들어 첫 번째 그룹을 사용해 특정 거리로 일부 오브젝트를 마스크하고 나머지 그룹들도 동일하게 설정할 수 있습니다.

마지막으로, 근접 마스킹은 마스크 반전에 매우 적합합니다.

각도 마스킹

각도 마스킹은 비교적 간단합니다: 기저 표면을 기준으로 각도를 결정하고 해당 영역의 분산된 오브젝트를 제거합니다. 이는 산에서 분산할 때 경사면에 나무나 다른 오브젝트가 생기지 않도록 유지하는 데 이상적입니다.

높이 마스킹

Surface Scatter 같은 도구에는 최소 높이 마스크최대 높이 마스크 속성이 있어 분산된 오브젝트를 위나 아래에서 잘라낼 수 있습니다.

오브젝트 마스킹

단순히 거리에 의존하는 근접 마스킹과 달리 오브젝트 마스킹은 레이 트레이싱을 사용하여 인스턴스가 오브젝트 내부, 외부 또는 근처에 있는지를 결정합니다. 곡선을 그려 해당 곡선 내부에 모든 인스턴스를 유지하려면 이 기능이 완벽합니다. 또한 메시나 볼륨 내부/외부에 있는 인스턴스를 유지하는 데 사용할 수도 있습니다.

이 마스킹 방법에는 내부 유지 라는 불리언 속성이 있어 토글하여 마스킹이 입력 오브젝트 내부의 인스턴스를 유지할지 외부의 인스턴스를 유지할지 선택할 수 있습니다. 또한 거리 속성을 사용하여 근처의 인스턴스를 유지할 수도 있습니다.

노이즈 마스킹

노이즈 마스킹은 분산된 오브젝트의 균일성을 빠르게 깨뜨릴 수 있게 해줍니다. 스케일링부터 주파수, 축별 스트레칭, 노이즈 스무딩, 워핑 등 다양한 매개변수를 제공합니다...

잔디, 나무 또는 쓰레기 등을 분산시키는 경우 이 기능을 사용하여 결과를 보다 자연스럽게 보이게 하는 것을 강력히 권장합니다.

집단 마스킹

집단 마스킹은 무작위 인스턴스를 선택하고 이를 집단의 중심점으로 사용하는 방식으로 작동합니다. 샘플링할 인스턴스의 밀도를 조정하는 값과 집단의 반경을 제어하는 값을 제공합니다. 노이즈 및 다른 마스크와 결합하면 현실적인 분산 설정에 매우 강력한 도구가 될 수 있습니다.

경계 마스킹

경계 마스킹은 표면 지오메트리의 경계 에지를 감지하고 해당 경계 근처의 모든 오브젝트를 마스크합니다.

이 기능은 정원과 같은 인공적인 분산 설정에 매우 유용합니다. 기저 지오메트리 형태를 만들고 그 위에 식물을 분산시킨 다음 그 지오메트리를 숨길 수 있습니다. 지오메트리의 각 엣지 루프 경계는 별도로 처리되며, 경계 최소/최대 속성은 각 경계 루프에 대해 마스킹에 일부 무작위성을 추가할 수 있게 해줍니다. 노이즈는 경계의 균일성을 깨뜨리는 간단한 노이즈 효과입니다.

투영 마스킹

투영 마스킹은 각 인스턴스의 지점이 위쪽으로 레이를 쏘게 하고, 그 레이가 충돌하는 메시가 추가되어 있으면 충돌한 인스턴스를 유지합니다. 효과를 반전할 수도 있습니다. 사용 사례는 차량 아래의 식물이나 쓰레기처럼 오브젝트 아래에 있는 인스턴스를 유지하거나 장면의 어떤 오브젝트 아래에 있는 모든 인스턴스를 제거하는 것 등 다양합니다.

랜드스케이프 레이어 마스킹

이 마스킹 기능을 사용하면 페인트 레이어의 이름을 Surface Scatter에 제공할 수 있으며, 도구는 해당 레이어를 마스크로 사용합니다. 최대 세 개의 레이어를 입력할 수 있습니다.

텍스처 마스킹

텍스처 마스킹은 비교적 간단합니다: UE의 콘텐츠 브라우저에서 텍스처를 선택하여 텍스처 경로 텍스처 마스킹 그룹의 속성에 제공하면 됩니다. 어떤 채널을 마스크로 사용할지 선택하고, 그라데이션 픽셀을 돕기 위한 색상 임계값을 조정하며, 텍스처 마스크를 타일할 수 있습니다. 텍스처에 흰색과 검은색 픽셀이 포함되어 있어야 하며 흰색 픽셀이 마스크로 사용됩니다. 아주 특정한 형태의 작은 장식된 정원과 같은 구조를 만들려면 이 접근법을 추천합니다. 평면에 분산시키고 평면을 숨긴 다음 꽃 정원의 모양을 나타내는 텍스처를 제공할 수 있습니다.

버텍스 컬러 마스킹

버텍스 컬러는 정적 메시에서 적용할 수 있으며 모든 RGB 채널이 이 마스킹 그룹에서 사용 가능합니다. 또한 그라데이션 픽셀에서 마스킹 동작을 조정할 수 있는 픽셀 임계값 제어와, 버텍스 컬러가 마스킹 로직에 어떻게 영향을 미칠지 선택할 수 있는 블렌드 모드 드롭다운이 제공됩니다.

방향 마스킹

각도 마스킹과 달리 방향 마스킹은 태양광(또는 임의의 오브젝트) 액터를 사용하여 태양의 회전에 따라 오브젝트를 마스크할 수 있게 합니다. 이 기능은 이끼처럼 햇빛에 민감한 오브젝트를 제거하는 데 사용할 수 있습니다.

추가 / 제거 마스킹

이것은 인스턴스를 무작위로 추가하거나 제거할 수 있게 해주는 간단한 마스킹 트릭입니다. 예를 들어 근접 마스킹으로 식물로부터 경로를 정리한 다음 낮은 값의 추가 마스크를 사용해 몇몇 식물을 여기저기 남겨둘 수 있습니다.

속성 참조

나무용 Surface Scatter, 관목용 다른 Surface Scatter, 잔디용 또 다른 Surface Scatter 등 숲과 같은 복잡한 설정을 만들고, 숲을 따라 세운 목재 기둥용 Path Scatter 및 도로 등을 추가하면 복잡성이 빠르게 압도적일 수 있으며 우리는 이를 이해하기 위해 참조를 사용합니다. 도로에는 너비가 있고 목재 기둥은 약간의 오프셋이 있더라도 그 너비를 존중하길 원할 것입니다. 숲의 식생도 도로 위에 스폰되지 않도록 하길 원하겠죠.

이를 수행하는 방법은 참조 속성을 생성하는 것입니다. 우리는 이를 시작하기 페이지에서 다루지만, 워크플로우는 비교적 간단합니다: 너비를 지시하는 Distance 또는 Width와 같은 속성을 만들고 모든 도구가 이를 사용하게 합니다. 속성이 참조를 사용할 때 우리는 가중치를 부여하는데, 이는 참조가 제공하는 값을 넘어 속성 값을 확장할 수 있게 합니다. 예를 들어 너비가 320이면 목재 기둥은 0.1의 가중치를 가질 수 있으며, 이는 가중치가 백분율 배수처럼 작동하여 기둥을 너비보다 약간 크게 만듭니다.

분산 테이블

후반 버전( Dash 1.8.5 이후)에서는 특정 도구에 데이터 테이블을 추가하기 시작했습니다. 주요한 것은 Surface Scatter의 분산 테이블입니다. 분산 속성의 + 아이콘으로 여러 분산 오브젝트를 단순히 할당하는 대신 편집 테이블 버튼을 눌러 분산 테이블을 열 수 있습니다.

여기에서 여러 속성 행을 생성하고 각 행에 하나 이상의 분산 오브젝트를 할당할 수 있으며, 그러면 각 속성 행에 대해 밀도 오프셋스케일 오프셋 을 제어할 수 있는 기능을 갖게 됩니다. 즉, 여러 개의 Surface Scatter를 만들 필요 없이 매우 구체적으로 분산 오브젝트를 제어할 수 있는 하나의 Surface Scatter를 가질 수 있습니다.

이 데이터 테이블 로직은 때때로 필요한 세분화된 제어를 제공하기 위해 다른 도구와 설정으로 서서히 확장되고 있습니다.

마지막 업데이트

도움이 되었나요?