2014-02-10 4 views
1

저는 타일 기반의 아이소 메트릭 조경을 생성 할 때 펄린 노이즈를 사용했습니다. 지금까지 타일 자체의 높이 맵으로 노이즈 값을 사용했습니다 : Math.floor(noise * 10), 기본적으로. 이것은 완벽하게 멋진 표정이지만 선형지도를 생성합니다. 그러나, 나는 "산"을 보았 기 때문에 지루해 보였다. 그래서 나는 지수를 적용했다 : Math.floor(Math.pow((noise/4), 2.3)). 이렇게하면 더 높은 값을 밀어 올려 이미지를 첨부합니다.등각 투영 (perometric) 노이즈에서 고정 높이 문제가 발생했습니다.

이 높이 값은 두 번째 눈금에 저장되어 있습니다. x, yz이지도를 화면에 그려야합니다.

결점은 분명합니다. 내 산속에 틈새가 생겨야합니다. 나는 더 이상 2 차원 그리드에 저장할 수없는 정보이므로 어디에서 시작해야할지 모르겠습니다. 나는 "더 긴"타일을 사용하여 속임수를 쓸 수는 있겠지만, 그것은 절름발이입니다. 어떤 제안?

더 많은 정보가 필요하시면 알려 주시면 감사하겠습니다. 어쩌면 내가 잘못된 나무를 짖고 있을지도 몰라.

isometric perlin noise

답변

1

첫 번째 타일을 그리기 전에까지 다시 뷰어에 가까운 왼쪽과 오른쪽에있는 두 개의 인접한 타일에 봐. 가장 낮은 높이를 가져와이 높이가 백 타일에서 하나의 높이를 뺀 값보다 낮은 지 확인하십시오. (이것은 갭을 야기 할 수 있기 때문에). 이제 당신은 당신이 원하는 높이에 도달 할 때까지이 "낮은 높이"로 시작하여 뒤쪽에 더미를 그릴 수 있습니다. 그런 다음 동일한 알고리즘을 사용하여 뷰어에 더 가까운 다음 타일을 그릴 수 있습니다.

편집 :하지만 너무 많은 누적 된 타일로 어색하게 보일지 궁금합니다. 어쩌면 토양 층을 "낮은 높이"까지 늘릴 수 있습니다.

+0

그래서 틈이 없어 질 때까지 토양 타일을 채우는 것이 좋습니다. 나는 이것에 의지 할 것입니다. 그러나 저는 여전히 그것을 어떻게해서든지 3d 그리드로 바꿀 수 있기를 희망합니다. 이것을 실제 3D로 그려보고 싶다면 언젠가는 더 쉬워 질 것입니다. – Jorg

+0

예, 이것은 제가 제안 할 것이고 실제로 어떤면에서는 3D입니다! ;) – Christoph

+0

잘 3d의 환상하지만 나는 함께 갈거야 :) – Jorg

관련 문제