Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
JC
Založen: 06. 10. 2007 Příspěvky: 137
|
Zaslal: 31. červenec 2010, 15:24:44 Předmět: OpenGL - překrývání 3D terénu s 2D bitmapama |
|
|
Celkem jednoduchý problém, ale nějak nevím co s tím. Správně by měla být část traktoru za jehlanem tam kde se překrývají. Z sort u objektů je v pohodě páč se řadí podle tile mapy na kterém jsou, ale terén se kreslí pod 2d bitmapama.
vrstvy:
1 - terén (3D, každé tile je samostatný trianglestrip)
2 - všechny ostatní obejkty (2D)
Jediný co mě napadlo je dát všechny tile terénu + objekty (stromy, domy, jednotky) do jednoho druhu objektů a pak je řadit podle pozice, ale to se mi moc nechce. Existuje ještě nějaké řešení ? |
|
Návrat nahoru |
|
 |
Deluxe

Založen: 31. 07. 2007 Příspěvky: 235 Bydliště: Oslavany
|
Zaslal: 31. červenec 2010, 15:32:49 Předmět: |
|
|
Myslim ze by slo mit objekty na jejich opravdovy pozici ve 3D a pak je vykreslovat se zapnutym Z-bufferem (bez zapisu) a s kolmou projekci, aby se sprity se vzdalenosti nezmensovali.
Jesli sem spravne pochopil, ze objekty se maji chovat jako 2D. |
|
Návrat nahoru |
|
 |
JC
Založen: 06. 10. 2007 Příspěvky: 137
|
Zaslal: 31. červenec 2010, 22:32:48 Předmět: |
|
|
problém, že tam žádný 3D souřadnice nemám jelikož to je kolmá projekce a i ten terén jsem zjednodušil (možná blbě) tak, že každý dílek mapy je definován jako isometrický čtverec.
V normálních 3D enginech to mají tedy dělané přes Z-buffer ? Tam kde jsou třeba stromy (2D sprity) v terénu ? |
|
Návrat nahoru |
|
 |
Ladis

Založen: 18. 09. 2007 Příspěvky: 1537 Bydliště: u Prahy
|
Zaslal: 31. červenec 2010, 23:36:50 Předmět: |
|
|
Nekreslí se snad u 2D her odzadu? _________________ Award-winning game developer |
|
Návrat nahoru |
|
 |
JC
Založen: 06. 10. 2007 Příspěvky: 137
|
Zaslal: 1. srpen 2010, 10:09:30 Předmět: |
|
|
tak u RTS to je snad takto:
1. mapa (terén)
2. objekty
3. interface
jenže u mého terénu se může stát, že se s objekty překrývá |
|
Návrat nahoru |
|
 |
if.then
Založen: 13. 04. 2008 Příspěvky: 579
|
Zaslal: 1. srpen 2010, 10:24:59 Předmět: |
|
|
citace: |
problém, že tam žádný 3D souřadnice nemám jelikož to je kolmá projekce a i ten terén jsem zjednodušil (možná blbě) tak, že každý dílek mapy je definován jako isometrický čtverec.
|
Jestli jsem to správně pochopil, pak je každý dílek terénu vlastně čtverec, jehož délku a šířku určují osy X a Y a jehož výšku určuje osa Z (nebo máš přehozené osy Y a Z, ale to je vedlejší). V tom případě by mělo stačit udělat billboard (např. http://www.nehe.ceske-hry.cz/cl_gl_billboard.php ) s pozicí X a Y (tj. pozicí, na které je traktor) a výškou Z. Doufám, že to říkám správně  _________________ For guns and glory, go to www.ceske-hry.cz.
For work and worry, execute VC++. |
|
Návrat nahoru |
|
 |
Deluxe

Založen: 31. 07. 2007 Příspěvky: 235 Bydliště: Oslavany
|
Zaslal: 1. srpen 2010, 10:26:45 Předmět: |
|
|
Jo, normalne se renderuje tak ze se vykresli nepruhledny objekty od predu (se zapnutym Z-bufferem) a pak se polopruhledny objekty vykresluji od zadu stim ze se zapne Z-buffer jen pro cteni.
Urcite je vic zpusobu, ale takhle bych to delal ja.
Edit: Abychom si to trosku ujasnili, ty teda renderujes teren obycejne ve 3D, a pak objekty (2D sprity) renderujes nakonec v pravouhly projekci ve 2D (tj. neni to jako billboarding) spis jako kdyz vykreslujes GUI? |
|
Návrat nahoru |
|
 |
JC
Založen: 06. 10. 2007 Příspěvky: 137
|
Zaslal: 1. srpen 2010, 20:45:42 Předmět: |
|
|
všechno to je v pravoúhlé projekci a není to billboarding, dílek terénu je prostě "kosočtverec" s namapovanou texturou
jak se dělá z sort v 2d grafice to chápu, ale jak udělat překrývání pokud nechci mít terén mezi všema ostatníma objektama |
|
Návrat nahoru |
|
 |
Ladis

Založen: 18. 09. 2007 Příspěvky: 1537 Bydliště: u Prahy
|
Zaslal: 2. srpen 2010, 10:34:34 Předmět: |
|
|
Pokud nepoužiješ nějaké masky pro překrývání objektů terénem, tak není jiná možnst než seřadit dohromady políčka terénu a objekty na nich . _________________ Award-winning game developer |
|
Návrat nahoru |
|
 |
|