2012-05-10 98 views
0

我正在研究3D遊戲,現在我必須將每個對象放在代碼中。那麼有沒有辦法讓編輯器在Java OpenGL中放置對象?3D:如何渲染/創建地形

最好是讓整個世界(這是一種巨大的)一個大網格或更好地做另一種方式?

+0

你使用的是什麼3D引擎/ OpenGL工具箱? – mikera

回答

3

那麼有沒有辦法讓編輯器在Java OpenGL中放置對象?

OpenGL中沒有任何對象。困惑?

OpenGL只是繪製東西,操作系統給它一些「畫布」,你可以告訴它繪製點,線和三角形的願望。

任何與場景或管理對象相關的東西都是你的負擔,或者是一個附加工具包的負擔。

我正在研究3D遊戲,現在我必須將每個對象放在代碼中。

想一想:不是硬編碼數據,而是從文件中讀取數據,並使用文件內容構建場景,然後使用OpenGL繪製場景。這不像閱讀,說一個文本文件和打印文本給用戶。相同的原則,只有不同類型的數據。

有很多3D建模器。一個優秀的開源軟件是Blender。將模型和/或場景導出爲您可以讀取的某種文件格式(通過實現現有文件或創建自己的文件並編寫導出程序)並使用您的代碼進行渲染。

+0

對象,網格.... – AndroidXTr3meN

2

在java和openGL中製作關卡編輯器當然是可以的,但這通常是一個很大的項目。

也許將對象加載到遊戲中最簡單的方法是創建一個XML文件(或其他類型的數據文件),該文件具有與遊戲中對象相關的位置,方向,網格,紋理和任何其他數據並且手動編輯它,儘管如果你有很多對象要放置,這可能會很乏味。這可以在運行時讀取,並且場景將能夠渲染這些對象。稍後,如果您選擇創建一個文件格式,則該文件格式可以由關卡編輯器使用。

至於你的問題的第二部分,它取決於。然而,很少讓整個世界變成一個網格是一個好主意。如果你的世界是由許多網格組成的,則剔除變得更容易,因爲你可以從渲染調用中刪除整個對象而不是剔除單個頂點。