.[ ČeskéHry.cz ].
UE4 - Optimalizace

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



Založen: 26. 02. 2015
Příspěvky: 3

PříspěvekZaslal: 2. září 2016, 22:48:51    Předmět: UE4 - Optimalizace Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Kostelnice



Založen: 02. 06. 2016
Příspěvky: 14

PříspěvekZaslal: 6. září 2016, 13:46:49    Předmět: Odpovědět s citátem

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 Wink.

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ýš Wink 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 Smile.
_________________
Jedinou hrou, kde si určíš pravidla výhradně sám, je tvůj život, tak tu šanci nepropásni Smile.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
czees



Založen: 26. 02. 2015
Příspěvky: 3

PříspěvekZaslal: 8. září 2016, 19:20:33    Předmět: Odpovědět s citátem

moc díky za odpověďSmile

Č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áSmile

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
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Kostelnice



Založen: 02. 06. 2016
Příspěvky: 14

PříspěvekZaslal: 9. září 2016, 08:50:06    Předmět: Odpovědět s citátem

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 Smile.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
]semo[



Založen: 29. 07. 2007
Příspěvky: 1476
Bydliště: Telč

PříspěvekZaslal: 9. září 2016, 09:11:39    Předmět: Odpovědět s citátem

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
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy Č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