Unity에서 절차적 지형 모험 pt.1
Source: Dev.to
위에 제공된 내용만으로는 번역할 텍스트가 없습니다. 번역을 원하는 본문을 함께 제공해 주시면, 요청하신 대로 마크다운 형식과 코드 블록, URL 등을 유지하면서 한국어로 번역해 드리겠습니다.
노이즈
노이즈는 다소 무작위처럼 보이지만 부드럽고 연속적인 값들의 패턴입니다. 지형을 생성할 때는 풍경의 각 지점 높이를 결정할 방법이 필요합니다. 이를 위해 고도 값을 시뮬레이션하는 형태로 노이즈를 생성할 수 있습니다. 다양한 노이즈 알고리즘이 존재하지만 여기서는 가장 널리 사용되는 Perlin 노이즈를 사용할 것입니다.
이 이미지에서 밝기는 높이에 해당합니다. 검은색은 높이 0.0을, 흰색은 높이 1.0을 나타냅니다.
우리의 높이맵을 시각적으로 더 매력적이고 현실감 있게 만들기 위해 옥타브를 도입할 수 있습니다.
옥타브
옥타브는 서로 다른 스케일의 노이즈 레이어를 여러 개 겹쳐서 만든 것입니다. 각 레이어가 점진적으로 더 세밀한 디테일을 추가하여 높이맵에 훨씬 더 복잡하고 사실적인 모습을 부여합니다.
각 추가 옥타브가 더 세밀한 디테일을 도입하는 것을 확인할 수 있습니다. 옥타브가 하나뿐이면 지형이 부드럽고 단순해 보입니다. 옥타브가 여덟 개가 되면 여러 스케일에 걸친 디테일을 가진 훨씬 더 자연스럽고 복잡한 풍경이 됩니다. 약 다섯 옥타브 정도에서 수익 감소가 나타나는데, 추가 옥타브가 눈에 띄는 디테일을 거의 추가하지 않지만 여전히 성능에 영향을 줍니다.
Source: …
지속성 및 라쿠네리티
옥타브의 동작은 주로 두 가지 중요한 매개변수에 의해 제어됩니다: 지속성 (persistence) 과 라쿠네리티 (lacunarity).
지속성
지속성은 각 연속 옥타브가 최종 노이즈에 얼마나 기여하는지를 제어합니다.
- 높은 지속성 – 뒤쪽 옥타브가 강하게 남아 있어, 상세하고 거칠며 혼돈스러운 지형을 생성합니다.
- 낮은 지속성 – 뒤쪽 옥타브의 기여도가 줄어들어, 부드럽고 완만한 지형을 만들어냅니다.
낮은 지속성 vs. 높은 지속성 (라쿠네리티 = 2) 비교:
지속성이 0.3이고 라쿠네리티가 2인 노이즈
지속성이 0.7이고 라쿠네리티가 2인 노이즈
라쿠네리티
라쿠네리티는 각 옥타브 사이에서 주파수(노이즈가 “얼마나 확대”되는지)가 얼마나 증가하는지를 제어합니다.
- 라쿠네리티가 2.0이면 각 옥타브가 주파수가 두 배가 됩니다.
- 높은 라쿠네리티는 옥타브 간에 상세 크기의 큰 점프를 만들어냅니다.
- 낮은 라쿠네리티는 옥타브 전반에 걸쳐 비슷한 크기의 특징을 유지하게 합니다.
지속성이 0.5이고 라쿠네리티가 1에서 4로 증가하는 노이즈
이제 우리만의 지형을 만들기 위한 좋은 기본 틀을 갖추었습니다!




