2012-09-29 101 views
0

我想用美觀的圖形制作一個相當簡單的遊戲。概念opengl:是由三角形構成的複雜圖形?

我已經通過幾個教程來創建opengl示例。我明白核心對象是點和三角形。我也理解映射紋理和應用照明。我必須錯過一些概念。

讓我們舉個例子 - 一輛簡單的汽車。我需要從3D的各個角度看到汽車。這意味着我在數學上必須以3D構建賽車?我會從字面上創建和存儲數以千計的代表其整個表面的三角形?那麼,我會爲這些三角形添加顏色/紋理?

如果我想通過一個公園的動畫導航 - 樹木,道路,其他的人......即使我只是模仿每一個獨特類型的對象只有一次,這可能需要幾年的時間?

商業遊戲開發者使用什麼方法?

+0

你在這裏問什麼?在我看來,這與OpenGL無關。 – TheAmateurProgrammer

+1

@theAmateurProgrammer:實際上,它與* programming *無關。這似乎是關於如何創建模型,而不是編寫代碼。 –

回答

2

有幾種方法可以解決這個問題。第一種方法是自己設計所有對象。這就是專業的遊戲設計公司所做的,並且有整個部門都致力於此。您可以使用Blender(免費!),Maya,3DS Max,Modo或任何數量的3D建模程序來執行此操作。

第二種方法是做程序上一代所有這些對象(這是誠實更有趣)。程序生成是當程序生成它需要的每個對象時。這使您的磁盤空間使用量最小化,並且完全消除了加載時間。通常,程序生成算法將在單獨的線程中運行,以免傷害幀速率。

實際上,你可能想要做一點兩個:從程序生成的植物和環境,但模擬人物和汽車。

Here是程序生成算法一個很好的資源。

乾杯, 斯內德

1

這意味着我有數學,構建汽車在3D?我會從字面上創建和存儲數以千計的代表其整個表面的三角形?那麼,我會爲這些三角形添加顏色/紋理?

確實是這種情況。但是,沒有人通過在文件中輸入數字來硬編碼模型。人們使用3D建模器,如3DS,SoftImage,Blender,Milkshape,Maya等。這些建模器通常都採用三角形網格化原理工作,即它們將模型表示爲三角形的網格。

如果我想通過一個公園的動畫導航 - 樹木,道路,其他的人......即使我只是模仿每一個獨特類型的對象只有一次,

動畫通常發生的動態修改單個網格,或者在複合對象(如汽車)中編排單個網格的動態修改。

,可能需要幾年的時間?

對於一個人:是的,它的確如此。這就是爲什麼遊戲工作室僱傭大量藝術家的原因,他們在一起工作時,仍然需要數月甚至數年才能完成大規模的製作遊戲。

在你的平均遊戲工作室中,很可能會找到比程序員多10到20倍的藝術家。雖然程序員的工作很複雜,但在整個遊戲中無處不在。任何新功能或錯誤修正都會使整個遊戲受益。然而,遊戲中的大多數作品都是在本地使用的,即僅用於手繪或單個地圖。一些藝術品,如非人物角色動畫(步行週期,動作,攻擊/防禦動畫等)可能會被重複使用,但即使是這些藝術品也會個性化以適應每個角色的變化。普通道具也可以重複使用。但總而言之,所有的遊戲作品都是非常冗長乏味的任務。

+0

我很失望,這是封閉的非建設性。它被稱爲一個概念性問題,我還沒有找到任何說明方法以及這個問題和良好答案的文檔。不像技術/實施細節那麼重要嗎?感謝那些回答你的人。 – torpedo51

+0

@ torpedo51:那麼,SO是一個關於編程問題的論壇,並且最終,你的問題並不適合那些。你可能會更好地幫助gamedev.stackexchange.com或類似的。 – datenwolf

+0

如果有人最初會重定向我,而不是簡單地將問題簡單地視爲「不具有建設性」,我會很感激。我會在別處看看;謝謝。 – torpedo51