2011-11-23 7 views
1

3D 그리드를 만드는 가장 좋은 방법은 무엇입니까?3D 그리드를 만드는 가장 좋은 방법은 무엇입니까?

자바에서는 다소 Minecraft 스타일의 세계에서 진행되는 게임을 만들고 있습니다. 각 블록을 배치하기 위해 3D 그리드가 필요합니다. 그리고 모든 것을 넣을 때 어떻게해야하는지 혼동 스럽습니다.

저는 LWJGL을 사용하여 내 인생을 훨씬 쉽게 할 수 있기를 바랍니다. 그러나 사용하는 것이 더 좋은 것이 있다면 알려주십시오.

다운로드 가능한 minecraft world 기반 튜토리얼에 대한 링크는 훌륭합니다! 나는 주제 (또는 다운로드 - ables)에 대한 자습서를 찾을 수 없었습니다.

기본 세계 아이디어 :

  • 는 3D 그리드를 만듭니다 1024 X 1024 X 128
  • 유연한 토지상의/하의 (그래서 땅이 더 "진짜"입니다)
  • 청크 기반으로
  • 다른 블록 유형 16 x 16 x 128 블록으로 그룹화 될 토지에 대한 시스템

답변

1

이 표에서 크기를 변경하거나 복잡한 논리를 구현하려면 목록을 기반으로 자신 만의 데이터 구조를 만드는 것이 좋습니다. 그러나 대부분의 경우 (데이터 만 보유) 일반 배열이 적합합니다.

+0

그래서 3 개의 깊은 배열이 끝날까요? (x, y 및 z 값의 경우) – Tgwizman

+1

3 개의 깊은 배열에는 아무 것도 없습니다. – mishadoff

1

정말 원하는대로 달라집니다. 적용 할 곳은 어디입니까? 개인적으로, 나는 배열을 오히려 좋아한다. 그것은 종종 가장 저렴하고 가장 간단한 솔루션입니다. 향후 변경을 forsee 때

복잡한 데이터 구조는 보통 필요

당신은 응용 프로그램에 대한 자세한 정보를 줄 수 (데이터 구조 등 변경됩니다 즉)?

+0

예 나는 할 수 있고, 할 것이다 – Tgwizman

1

공간에서 좌표 (x, y, z)를 나타내는 '블록'개체를 만들고 블록에 'textureTop'및 'textureBottom'등의 멤버를 추가 할 수 있습니다.

그러면 공간이 고정 된 것처럼 보이기 때문에 3D 배열을 만드십시오.

Block [] [] [] space = new Block [1024][1024][128]; 

그런 다음 청크를 만들려면 기본적으로 16x16x128 블록 인 다른 개체 청크를 정의하십시오.

관련 문제