나는 잠시 동안 3D 절차 세계에서 일해 왔으며 동굴 시스템을 추가하기를 원합니다.간단한 절차 3D 동굴 생성?
저는 절차 적 방법으로 3D 동굴 시스템을 만드는 아주 간단한 방법을 찾고 싶습니다. 저는 현재 Perlin Noise, 2D로 표고/디테일, 돌출부와 작은 동굴을 조각 내기위한 3D를 사용하여 세계를 만들고 있습니다. 그러나 오랫동안 동굴을 연결하는 데는 어려움이 있습니다.
저는 Minecraft의 동굴 시스템과 비슷한 것을 얻고 싶습니다. 그들은 매우 연결되어있어 거의 모든 방향으로 무작위로 분기하고 동굴의 거의 모든 지점은 동등한 반지름으로 전체적으로 둥근 모양을 갖습니다.).
내가 원하는 것처럼 동굴을 생성하기위한 가장 큰 도전은 내가 세상을 빠르게 만들고 싶다는 것입니다. 현재 세계는 청크에 의해 청크에 의해 생성되며 플레이어가있는 곳에서 시작하여 거기에서 바깥쪽으로 생성됩니다. 나는 하지는 세계의 어떤과 을 생성하는 등 방황 패턴, 셀룰러 오토마타를 사용하여 동굴을 발굴 할 것
좋은 예 : 난
제 세대의 결과는 실제로 공기 대 땅 (-1 대 1)입니다. 나는 마칭 큐브를 사용하여 지형을 부드럽게합니다. 네, 설명했던 것과 똑같은 부정적인 공간을 만드는 알고리즘을 찾고 있는데, 그게 제가 부족한 부분입니다. 어떤 알고리즘이 그런 일을 할 것입니까? 플레이어가있는 곳에서 정확히 생성하는 방법과 바깥으로 나쁜 것을 옮기는 방법은 무엇입니까? 나는 그들이 현재 덩어리 내에서 흙에 서있을 수 있기 때문에 그 아래의 덩어리부터 시작하지 않을 것이다. 그 결과 플레이어는 위쪽으로 움직이고 아래쪽으로 움직인다. – Mythics
나는 세상을 하나의 것으로 생각하려고 노력할 것이다. (스펙은 당신의 스펙을 생성 할 필요가있다. 스펙은 분리되어 있지만 세계 배치 알고리즘, 그것의 소리에 의한 Perlin Noise의 파생물, 부정적인 공간의 존재). 당신이 높이지도를 만들고 있다면 동굴과 같은 볼록한 것들을 만들 수 없을 것입니다. 당신은 어떤 종류의 메쉬로 먼저 변환해야합니다. 플레이어가 생성되면 세계에 배치 할 수있는 다른 것으로 생각하십시오. 알다? – ceorron
x/z 당 모든 Y 값을 반복 할 경우 전체 열에 대해 노이즈를 한 번 샘플링하고 이동하면서 밀도 값을 설정할 수 있습니다.그런 다음 동굴/돌출부/등을 개척하기 위해 3D 노이즈로 양극 밀도 값을 상쇄하십시오. 이것은 떠있는 지형을 제거합니다. 어느 쪽이든, 나는 내가 한 것처럼 내 방법으로 동굴을 개척 할 수 있다는 것을 알지만, 내가 원하는 방식으로 그들을 얻는다면 나를 피할 수있다. 그러므로 나는 여기에있다. – Mythics