게임 Hacker News · 2026-10-26

빛 받으려고 싸우면서 스스로 자라는 3D 나무 알고리즘 구현기.gif

핵심 요약
  • 빛을 받기 위해 나뭇가지 끝의 눈(bud)들이 경쟁하고 자원을 분배받아 스스로 자라나는 절차적 3D 나무 성장 알고리즘 구현기가 공개되었습니다.
  • 복셀 그림자 계산과 자가 가지치기(Self-pruning), 수액관 두께 모델 등을 통해 놀라울 정도로 사실적인 나무 형태가 자동으로 형성됩니다.
  • 완성된 나무 뼈대에 나뭇잎 카드를 얹고 최적화하여 대규모 숲 렌더링 인스턴스로도 바로 활용할 수 있습니다.
요약 자연스러운 3D 나무 그래픽을 수학적 알고리즘으로 직접 자라나게 만드는 '절차적 나무 생성(Procedural Tree Growth)' 구현기가 개발자들 사이에서 큰 주목을 받고 있습니다. 이번 구현은 2009년 SIGGRAPH 논문인 Palubicki 등의 자가 조직화 나무 모델(Self-organizing tree models)을 기반으로 제작되었습니다. 원리는 자연 생태계의 섭리와 놀라울 정도로 비슷합니다. 나무의 기본 단위인 메타머(줄기 마디, 잎, 눈)가 매 성장 시즌마다 빛을 차지하기 위해 경쟁하는 구조입니다. 복셀 그리드(Voxel Grid)를 통해 위쪽 눈(bud)이 아래로 드리우는 그림자를 계산하고, 각 눈이 받는 일조량을 측정합니다. 이 빛의 양은 나무 밑동까지 합산된 뒤 다시 위쪽으로 흐르며 성장 자원으로 분배되는데, 충분한 자원을 받은 눈만 새 가지를 뻗고 그렇지 못한 눈은 휴면 상태로 남게 됩니다. 특히 메인 줄기와 곁가지 중 어디에 자원을 몰아줄지 결정하는 편향 파라미터(람다, λ)의 미세한 차이에 따라, 부채꼴 모양으로 넓게 퍼지는 나무가 되거나 위로 곧게 솟은 나무가 되는 등 형태가 극적으로 바뀝니다. 또한 빛을 너무 못 받는 안쪽 곁가지는 스스로 떨어져 나가는 '가지치기(Self-pruning)' 기능까지 구현되어 빽빽한 덤불처럼 뭉치는 현상을 막았습니다. 이렇게 생성된 뼈대 위에는 수액관 단면적 보존 모델을 적용해 줄기 두께를 자연스럽게 부풀리고, 잎사귀 뭉치가 그려진 카드(Twig spray card)를 얹어 최종적인 나무 모델을 완성합니다. 이렇게 자라난 나무는 원거리용 임포스터나 깊이 맵으로 구워져 대규모 숲을 렌더링하는 데도 그대로 활용될 수 있어, 게임 및 3D 그래픽 개발자들에게 흥미진진한 기술적 통찰을 제공하고 있습니다.
Sponsored · 광고