니발리스(Nivalis)는 복셀(voxel), 네온, 그리고 끊임없는 비를 기반으로 한 예술적 방향성으로 두드러지는 사이버펑크 생활 시뮬레이터입니다. 깊이 수정된 Unity 버전 위에서 개발된 이 게임은 MagicaVoxel을 사용하여 배경을 모델링하고 내부 도구를 사용하여 실시간 레이 트레이싱을 관리합니다. 이 접근 방식은 로우 폴리(low-poly) 미학을 유지하면서도 사실적인 조명을 가능하게 하는데, 이는 소수의 인디 게임만이 성능 저하 없이 균형을 맞출 수 있는 기술적 도전 과제입니다.
수정된 Unity를 사용한 복셀 장면의 레이 트레이싱 최적화 🌧️
니발리스 팀은 Unity의 렌더링 파이프라인을 수정하여 각 복셀을 가벼운 데이터 단위로 처리함으로써 레이 트레이싱의 부하를 줄였습니다. 조밀한 폴리곤 지오메트리 대신, 건물과 객체는 MagicaVoxel 블록으로 구성되며, 이는 실시간 충돌 계층 구조로 변환됩니다. 비와 네온 반사의 경우 하이브리드 레이 트레이싱 시스템이 구현되었습니다. 정반사는 복셀 표면으로 제한된 광선으로 계산되는 반면, 전역 조명은 부분적으로 라이트 텍스처에 베이킹됩니다. 이를 통해 레이 트레이싱이 중간 사양 하드웨어에서도 작동할 수 있으며, 이는 인디 개발자에게 중요한 교훈입니다: 레이 트레이싱이 프레임 속도를 저하시키지 않도록 기본 지오메트리를 단순화하라.
인디 개발자를 위한 교훈: 차별화 요소로서의 내부 도구 🛠️
니발리스는 시각적 성공이 값비싼 에셋에만 달려 있는 것이 아니라, 작업 흐름에 자체 도구를 통합하는 데 달려 있음을 보여줍니다. 스튜디오는 MagicaVoxel 파일을 직접 해석하는 Unity 스크립트를 제작하여 전통적인 내보내기 과정을 거치지 않고도 도시를 반복적으로 수정할 수 있게 했습니다. 또한, 레이 트레이싱과 상호 작용하는 비를 위한 체적 입자 시스템을 개발하여 일반 에셋 사용을 피했습니다. 모든 인디 개발자에게 핵심은 장면을 채우기 시작하기 전에 엔진을 사용자 정의하는 데 시간을 투자하는 것입니다. 이를 통해 네온 사인에서 물웅덩이에 이르기까지 모든 요소가 빛에 일관되게 반응하도록 보장할 수 있습니다.
개발자로서, 성능 저하 없이 니발리스의 동적 조명을 구현하기 위해 실시간 복셀 엔진에 레이 트레이싱을 통합할 때 가장 큰 기술적 과제는 무엇이었습니까?
(추신: 게임 잼은 결혼식과 같습니다. 모두가 행복해하고, 아무도 자지 않으며, 결국 울게 됩니다)