.[ ČeskéHry.cz ].
XNA Zjednodušení meshe

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> .NET
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
cooty125



Založen: 22. 11. 2011
Příspěvky: 40

PříspěvekZaslal: 25. leden 2012, 09:19:43    Předmět: XNA Zjednodušení meshe Odpovědět s citátem

Dobrý den,
mám dotaz ohledně vykreslování 3D modelů v XNA. Pracuji na svém enginu už nějaký pátek, ale teprve teď jsem si uvědomil, že při náročnějších scénách (na vykreslení=>množství polygonů) je zapotřebí nějakým způsobem tento počet polygonů regulovat.
První věc, která mně napadla, bylo zjednodušení meshů (zmenšení počtu polygonů modelu), které si hráč z dálky nemůže tak detailně prohlédnout. Pokud máte jiný nápad, tak si rád nechám poradit.
A co se týče toho zjednodušení modelu, byl bych rád, kdyby jste někdo měl v kapse nějaký dobrý a srozumitelný článek, který se tímto zabývá. Děkuji.
_________________
Programátor v C# XNA a 3D Grafik.
http://www.xna.mzf.cz/
http://www.czechcode.hu.cz/
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovi WWW stránky MSN Messenger
Manox



Založen: 30. 07. 2007
Příspěvky: 140
Bydliště: Brno

PříspěvekZaslal: 25. leden 2012, 09:31:36    Předmět: Odpovědět s citátem

Ahoj,

to co popisuješ je LOD (Level Of Detail). Třída Model v XNA tohle nepodporuje a proto je potřeba dodělat si to sám. V nějakém tutorialu to dělají pomocí přepínání modelu za jiný. Já si dodělal svoji třídu Model a mám tam i uzel pro LOD (načítám i jiný formát než FBX, kde se LOD vyskytuje). Jak zjednodušit model je otázka spíše na grafiky a grafický software. Princip více modelů a přepínat mezi nimi není vůbec špatný nápad, navíc ve spojitosti s HW instancingem.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
cooty125



Založen: 22. 11. 2011
Příspěvky: 40

PříspěvekZaslal: 25. leden 2012, 09:41:54    Předmět: Odpovědět s citátem

Manox napsal:
Ahoj,

to co popisuješ je LOD (Level Of Detail). Třída Model v XNA tohle nepodporuje a proto je potřeba dodělat si to sám. V nějakém tutorialu to dělají pomocí přepínání modelu za jiný. Já si dodělal svoji třídu Model a mám tam i uzel pro LOD (načítám i jiný formát než FBX, kde se LOD vyskytuje). Jak zjednodušit model je otázka spíše na grafiky a grafický software. Princip více modelů a přepínat mezi nimi není vůbec špatný nápad, navíc ve spojitosti s HW instancingem.


Vlastně teď si mně připoměl s tím přepínáním modelů, že to využívá spoustu her např Call of Duty apod. Super vemu to v potaz jako jedno z řešení. Našel jsem si článek, kde se tím zabývá, ale z jeho obsahu jsem nic moc nepobral. http://williamhli.com/cs283/as1.html
_________________
Programátor v C# XNA a 3D Grafik.
http://www.xna.mzf.cz/
http://www.czechcode.hu.cz/
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovi WWW stránky MSN Messenger
Slappy



Založen: 31. 07. 2009
Příspěvky: 169
Bydliště: Zilina

PříspěvekZaslal: 25. leden 2012, 09:42:04    Předmět: Odpovědět s citátem

K tomuto problemu existuje viacero pristupov:

Napr. ja som pouzival LODy [Level Of Details]:
V OGRE3D sa pomocou obsiahnutych toolov daju z Hi-poly meshu (.mesh) vygenerovat LODy [ten isty model s coraz mensim poctom detailov] - usetri to mnozstvo vykonu, ale .mesh je objemovo vacsi (narocnejsi na nacitanie a RAM).

Prakticky stale sa pouziva ten isty model (.mesh) ale pri pohlade z dialky iny LOD, pri detailnom zabere iny LOD a tak dalej.
OGRE3D engine vedel rozpoznat vzdialenost automaticky a pouzil adekvatny LOD - vzdialenosti pre jednotlive LODy sa dali ponastavovat, dalo sa s tym pekne vyhrat.

Existuju aj ine techniky:
Vytvorenie Hi-Poly modelu + Low-poly modelu a vygenerovanie rozdielovych map.
Mapy zachytavaju drobne detaily vo forme 2D textury. Vo finale sa pouzive Low-poly model, na ktory sa nanesu tieto mapy a vysledny dojem je takmer ako pouzitie hi-poly modelu.

Posledny pristup je proste 'osekat' 3D model: znizit pocet polygonov, ale tak, aby bol vysledny efekt stale dobry.
Jednym takym toolom je napr Polygon Cruncher: http://www.mootools.com/plugins/us/polygoncruncher/index.asp

Existuje viacero, treba pogooglit, pripadne vyskusat [to je najlepsie].


Vysku
_________________
Skinovane instalatory pre NSIS a Inno Setup, zdarma pre SK/CZ projekty: www.graphical-installer.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
cooty125



Založen: 22. 11. 2011
Příspěvky: 40

PříspěvekZaslal: 25. leden 2012, 10:14:42    Předmět: Odpovědět s citátem

Slappy napsal:
K tomuto problemu existuje viacero pristupov:

Napr. ja som pouzival LODy [Level Of Details]:
V OGRE3D sa pomocou obsiahnutych toolov daju z Hi-poly meshu (.mesh) vygenerovat LODy [ten isty model s coraz mensim poctom detailov] - usetri to mnozstvo vykonu, ale .mesh je objemovo vacsi (narocnejsi na nacitanie a RAM).

Prakticky stale sa pouziva ten isty model (.mesh) ale pri pohlade z dialky iny LOD, pri detailnom zabere iny LOD a tak dalej.
OGRE3D engine vedel rozpoznat vzdialenost automaticky a pouzil adekvatny LOD - vzdialenosti pre jednotlive LODy sa dali ponastavovat, dalo sa s tym pekne vyhrat.

Existuju aj ine techniky:
Vytvorenie Hi-Poly modelu + Low-poly modelu a vygenerovanie rozdielovych map.
Mapy zachytavaju drobne detaily vo forme 2D textury. Vo finale sa pouzive Low-poly model, na ktory sa nanesu tieto mapy a vysledny dojem je takmer ako pouzitie hi-poly modelu.

Posledny pristup je proste 'osekat' 3D model: znizit pocet polygonov, ale tak, aby bol vysledny efekt stale dobry.
Jednym takym toolom je napr Polygon Cruncher: http://www.mootools.com/plugins/us/polygoncruncher/index.asp

Existuje viacero, treba pogooglit, pripadne vyskusat [to je najlepsie].

Vysku


Děkuji za reakci. Ten nástroj na 'osekání' modelu se mi opravdu hodí!
_________________
Programátor v C# XNA a 3D Grafik.
http://www.xna.mzf.cz/
http://www.czechcode.hu.cz/
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovi WWW stránky MSN Messenger
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> .NET Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna