Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
czees
Založen: 26. 02. 2015 Příspěvky: 3
|
Zaslal: 2. září 2016, 22:48:51 Předmět: UE4 - Optimalizace |
|
|
Ahoj,
Jsem začátečník. Učím se v Unreal Engine 4 a dělám Real-time strategii. Narazil jsem ale na to, že ikdyž hra je teprve v začátku, je už docela dost náročná na pc. Uvítal bych nějaké užitečné tipy, jakým chybám se vyhnout abych počítač moc nezatížil.
1) je lepší mít každý mesh se svojím unikátním materiálem, používat "atlasy" které budou pro X objektů stejné ikdyž u věčiny se velká část nepoužije, nebo mít na každém objetku několik malých seamless textur které se budou na různých objektech opakovat?
2) je pro výkon lepší mít terén řešený height mapou, nebo meshem (kde na rovných místech může být menší segmentace)
3)jaký je optimální počet polygonů pro běžný objekt
4) jaký je optimální formát pro teyxtury
Případně na co si mam dát pozor. Jestli se to už někde řešilo nebo jestli o tom vyšel někde článek v češtině nebo angličtině, budu rád za link. (Něco jsem už googlil, ale výsledky nic moc) |
|
Návrat nahoru |
|
|
Kostelnice
Založen: 02. 06. 2016 Příspěvky: 14
|
Zaslal: 6. září 2016, 13:46:49 Předmět: |
|
|
Ahoj czees,
chápu proč se na tyhle věci ptáš (pamatuji si, jak jsem začínal), ale odpověď na ně asi moc není. Unreal engine znám jen podle jména, ale vyvíjíme engine pro WebGL (kde je to s optimalizací opravdu hodně složité), takže něco málo o tom vím. Problém je ten, že 3D optimalizace je takové to téma, kde když se jím zabýváš, tak třeba za 2 roky začínáš mít pocit, že se v tom alespoň trochu orientuješ a za další dva roky víš, že vlastně nevíš nic .
To proč na Google a podobně mnoho nenajdeš je především z toho důvodu, že na každý projekt je odpověď jiná a žádná obecná není.
Ale abys neřekl, že jsme ti nic neporadil, tak se pokusím ti alespoň trochu odpovědě podle mých zkušeností.
1. Unikátní materiály se snaž redukovat co to jde, ale je to samozřejmě o balancu, aby to i nějak přiměřeně vypadalo. Pokud neřešíš download (jako my u WebGL), tak pokud můžeš tak používej "atlasy", výkonu tím stopro ulehčíš a velikost je ti celkem "ukradená". Seamless textury je dobrý kompromis pokud je to typ objektu, kde to jde použít.
2. Co se týče terénu, nevím jak to má řešené Unreal, ale moc té otázce nerozumím. On to je vždycky nějaký "mash" akorát jde o to, jak k tomu objektu přistoupíš a co od něj očekáváš, ale obecně většinou ti stačí jedna vrstva, takže - pokud nějak chápu to, na co se ptáš, tak použij "heightmap".
3. Něco jako optimální počet polygonů pro "běžný objekt" není. Musíš předně definovat "běžný objekt" ^^. Dále musíš definovat, pro co, na co, animace Yes/No atd... Rád bych ti něco odpověděl, ale fakt není co, tak alespoň třeba takto:
Pro web je optimalizace kritická, takže pokud vezmu například lehce animované (solo but not important) NPC velikosti člověka, budu se v ideálním případě pohybovat od 1500 - 3000 vertices. Samozřejmě dostat se na tyhle hodnoty, aby to ještě nějak vypadalo, není snadné a jsou lidé, kteří se tomuto mistrovství věnují, takže pokud se budeš pohybovat mezi 3000 - 6000, bude to asi OK. On je ale mnohem důležitější kolizní objekt, pokud tedy chceš řešit kolize, ale to se dostáváme o několik levelů výš nebo zda můžeš objekty "mergovat".
4. S texturama je to jen o málo méně problematické než s komplexností objektů. To je celá věda, kdy co, jak použít a proč. Možná dělá řadu optimalizací za tebe ten Unreal engine, ale obecně používej jen textury velikostí mocniny dvou (16x16, 128x128, 256x64 atd.). Avšak jakou velikost použít, to je zase o tom, jak, kdy, proč na co atd. Tady ti asi můžu poradit jen prostě kouknout na to, a pokud se na to ještě dá dívat, tak je to OK. Pokud je to už fakt strašný, tak tu kvalitu zlepši.
Pozor si musíš dát na to, že pokud to myslíš vážně, tak potřebuješ extrémní výdrž, odhodlání a trpělivost . _________________ Jedinou hrou, kde si určíš pravidla výhradně sám, je tvůj život, tak tu šanci nepropásni . |
|
Návrat nahoru |
|
|
czees
Založen: 26. 02. 2015 Příspěvky: 3
|
Zaslal: 8. září 2016, 19:20:33 Předmět: |
|
|
moc díky za odpověď
Čekal jsem že to tak jednoduché nebude. Holt co je dobré a co ne zjistím časem. Teď předělávám textury na ty atlasy a pracuje se s nima líp než jsem čekal a i to líp vypadá
S tim terénem jsem to myslel tak, jestli je lepší mít ho vymodelovaný v externím programu jako běžný 3D model nebo jen nahrát do enginu tu heightmapu - nejsem si jistý jestli si mi odpověděl na to na co sem se ptal, ale asi jo:) |
|
Návrat nahoru |
|
|
Kostelnice
Založen: 02. 06. 2016 Příspěvky: 14
|
Zaslal: 9. září 2016, 08:50:06 Předmět: |
|
|
Jo takhle, tak to jsme nepochopil. Tak to samozřejmě heightmapu, mít terén jako model je podle mě totální nesmysl, protože ty potřebuješ s tím terénem - pokud to není nějaká pidi mapa - pracovat. A to jak si psal s tou rovinou, to můžeš s heightmapou bez problémů taky, akorát záleží, jak to konkrétní engine dělá, jakou na to máš funkci nebo zda to vyhovuje tomu konkretnímu projektu - pokud třeba nepotřebuješ všechny čtverce stejně veliké. _________________ Jedinou hrou, kde si určíš pravidla výhradně sám, je tvůj život, tak tu šanci nepropásni . |
|
Návrat nahoru |
|
|
]semo[
Založen: 29. 07. 2007 Příspěvky: 1526 Bydliště: Telč
|
Zaslal: 9. září 2016, 09:11:39 Předmět: |
|
|
Terén: engine má většinou svůj optimalizovaný způsob kreslení terénu. Tak ten bys měl využít (tedy "Heightmapa"). Ovšem za předpokladu, že ho využiješ tak, jak to tvůrci enginu zamýšleli - aby třeba nebyl designovaný pro menší střílečky a ty si chtěl terén pro celou planetu. Nebo naopak, potřebuješ jen nějaký pěkný podklad pro hru ve městě a terén bude spíše schovaný. Pak bys měl lepší použít vlastní mesh, třeba i s ručně dělanými lody.
Textury: mocniny dvou jsou dobrý. Obecně se pořád používají komprimovaný DDSka (DXT1, DXT3 a DXT5 formát) - dekomprimuje je přímo garf. karta během kreslení. Jsou rychlý a malý. Ale tipuju, že unreal si textury zkomprimuje do DXT sám, jako Unity.
Měl by ses snažit, aby scéna byla celá namapovaná tak, aby texely byly přibl. stejně veliký. Vypadá to totiž dobře (stejná velikost pixelu na zdi, jako na panákovi, kterej stojí před ní). _________________ Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory |
|
Návrat nahoru |
|
|
|