.[ ČeskéHry.cz ].
Neřešitelné úlohy v unity 3D
Jdi na stránku Předchozí  1, 2, 3 ... 8, 9, 10, 11, 12, 13  Další
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Popelnice
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Ladis



Založen: 18. 09. 2007
Příspěvky: 1537
Bydliště: u Prahy

PříspěvekZaslal: 27. září 2014, 14:45:20    Předmět: Odpovědět s citátem

Myslím, že to že není Pro dohromady pro všechny platformy, je dáno i licencí toho Xamarinu, nad kterým je teď Unity postavený.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Hunter



Založen: 28. 07. 2007
Příspěvky: 544

PříspěvekZaslal: 28. září 2014, 22:32:28    Předmět: Odpovědět s citátem

Ještě se zeptám, možná jako trotl (zatím jsem viděl jen pár tutorial videí z webu Unity a z těch jsem se nedozvěděl dosud vůbec nic Very Happy):

Jaký zhruba polycount můžu použít, když budu chystat model (řekněme, že 1 scéna = 1 model) pro PC, iOS a Android (definoval bych si to jako iPad 3/Nexus 7 a výš, telefony mě nezajímají)?
Žádné ultra-shadery ani hypermateriály tam určitě nebudou. Nasvícení bych při verzi Pro bral nějaké "lepší", ale klidně stačí statické předpočítané.

Jde o to, že nejdřív budu muset celý model překlopit z NURBSu do polygonů - a nejspíš toho hodně vymodelovat znovu ručně - a nerad bych to dělal dvakrát Smile

Edit: Omlouvám se, jestli je tohle na technické dotazy špatné téma. Pokud už tu téma o Unity je, tak to prosím přesuňte tam.
_________________
Sharing is caring.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
]semo[



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

PříspěvekZaslal: 29. září 2014, 08:08:11    Předmět: Odpovědět s citátem

Jenomže na to neni odpověď. Nejde o engine, ani o operační systém, ale spíš o výkon toho určitýho zařízení. Záleží pak taky, jaký informace budou vertexy toho modelu obsahovat a jaký s nima budeš dělat operace...ale to je v tým případě zanedbatelný, pokud nejde třeba o kostěný animace atp. Zkus pohledat jaký grafický čip má to či ono zařízení a koukni na wikipedii. Nějaký informace tam budou.

Na PC je to dneska už většinou tak, že se počet trojúhelníků neřeší, spíš to brzdí náročný pixel-shadery. Pro příklad, my teď máme klidně přes 200000 trojúhelníků na letadle a říkáme tomu low-poly. Ale na nějaký tablet by to takhle asi nešlo :-)
_________________
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
DespeRadoX



Založen: 28. 07. 2007
Příspěvky: 520

PříspěvekZaslal: 29. září 2014, 09:48:51    Předmět: Odpovědět s citátem

Keep vertex count below 200K..3M per frame when targetting PCs, depending on the target GPU

Dobre je pozriet si optimalizacne techniky, to by ti mohlo pomoct. Inac samozrejme jednoznacna odpoved nie je , ako pri PC tak pri mobilnych zariadeniach zalezi na vykone samotneho zariadenia, je len na tebe ake zvolis minimum.

http://docs.unity3d.com/Manual/OptimizingGraphicsPerformance.html
_________________
http://www.touchgames.eu/
http://playito.com
TW: @Despo100
Space Merchants Online ...zruseny, pracujem na mobilnej verzii space merchantu
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Hunter



Založen: 28. 07. 2007
Příspěvky: 544

PříspěvekZaslal: 29. září 2014, 10:03:42    Předmět: Odpovědět s citátem

To jsem tam napsal, to si nikdo nevšiml, že je tam iPad 3 pro iOS (PowerVR SGX543MP4 ... ale nevím, k čemu mi taková informace je) a Nexus 7 (1st gen - nVidia Tegra 3) pro Android? Smile
S telefony vůbec nepočítám.

Já samozřejmě vím, že to záleží na mnoha věcech.
Potřeboval jsem jen nějaké odrazové číslo. Vím, že PC jich běžně zvládne miliony (tam se nedostanu ani náhodou), ale žádné mobilní 3D jsem nikdy nedělal, tak nevím, jestli 10K, 50K, 100K, 500K ... je nějaké běžné číslo dnes.

200K mi jako "odraz" bude stačit, díky.
_________________
Sharing is caring.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Radis



Založen: 29. 03. 2014
Příspěvky: 235

PříspěvekZaslal: 29. září 2014, 10:59:01    Předmět: Odpovědět s citátem

Hunter: Na high endech (dejme tomu ten Nexus 7) bych bral jako rozumny limit 100k vertexu a 100 draw calls.

Videl jsem nejakou prednasku, kde jako limit pro vylozene moderni zarizeni (na Snapdragonu 805) uvadeli 350k vertexu + 200 draw calls.

Ale opravdu je tezke to zobecnovat. Nakonec ti stejne nezbude nic jineho, nez konkretni scenu otestovat na konkretnim zarizeni.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Mnemonic



Založen: 28. 07. 2007
Příspěvky: 93

PříspěvekZaslal: 30. září 2014, 07:14:19    Předmět: Odpovědět s citátem

Ladis napsal:
je dáno i licencí toho Xamarinu, nad kterým je teď Unity postavený.

Zdroj? Myslel jsem, že si UT šudlí svůj vlastní fork Mono, což je ten důvod, proč jsou poměrně dost pozadu za vlastnostmi normálního Mono runtime.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
McMagic



Založen: 06. 08. 2012
Příspěvky: 615

PříspěvekZaslal: 24. říjen 2014, 12:53:54    Předmět: Odpovědět s citátem

Tak tu mám první dotaz (tedy myslím, že je první Smile )
----------------

Jde o raycast na mouse - ukázka kódu:

kód:


Ray rayMouse = Camera.main.ScreenPointToRay (Input.mousePosition);
LayerMask fixLayerMaskMouse  = (1 << 20);
RaycastHit hitMouse = new RaycastHit();
if(Physics.Raycast(rayMouse,out hitMouse,Mathf.Infinity,fixLayerMaskMouse) ){
   some code...
}



Detekce,pozice myší funguje pouze pokud je target (layer 20) dole, tj. reaguje to pokud klikám myší jakoby pod sebe pokud klikám nad sebe a mám nad hlavou objekt (layer 20), tak je to bez detekce.

Řešitelné to určitě je - jen nevím aktuálně jak a rychlejší je se zeptat;)

Potřebuji zjistit 3D pozici myší X/Z ať kliknu kamkoliv nahoru či dolu - pokud tam je target (layer 20) - a jak píši funguje to pouze pokud je dole:/
_________________


http://www.mcmagic-productions.com/
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
McMagic



Založen: 06. 08. 2012
Příspěvky: 615

PříspěvekZaslal: 24. říjen 2014, 12:55:48    Předmět: Odpovědět s citátem

Ještě dodatek - teď mě napadlo - target je unity primitive quad - je 100% 2 face? To by možná mohlo řešit problém... I když raycast je na collider tak nevím...
_________________


http://www.mcmagic-productions.com/
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Radis



Založen: 29. 03. 2014
Příspěvky: 235

PříspěvekZaslal: 24. říjen 2014, 15:52:45    Předmět: Odpovědět s citátem

McMagic: Dej tam tenky boxcollider misto meshcollideru. Nebo pouzij dva quady natocene zady k sobe.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
McMagic



Založen: 06. 08. 2012
Příspěvky: 615

PříspěvekZaslal: 24. říjen 2014, 15:54:54    Předmět: Odpovědět s citátem

Radis napsal:
McMagic: Dej tam tenky boxcollider misto meshcollideru. Nebo pouzij dva quady natocene zady k sobe.


jj také mě to napadlo - že jsem tam nechal mesh collider který nemá 2face - člověku to docvakne až když to píše jako dotaz Wink Za chvilku budu zkoušet uvidím no.
_________________


http://www.mcmagic-productions.com/
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
McMagic



Založen: 06. 08. 2012
Příspěvky: 615

PříspěvekZaslal: 24. říjen 2014, 16:07:38    Předmět: Odpovědět s citátem

Díky vyřešeno - za vše mohl mesh collider;)

Teď to funguje jak má.
_________________


http://www.mcmagic-productions.com/
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
McMagic



Založen: 06. 08. 2012
Příspěvky: 615

PříspěvekZaslal: 24. listopad 2014, 10:46:53    Předmět: Odpovědět s citátem

Tak mám tu další - spíše dotaz než neřešitelnost;)

Někde jsem kdysi četl, že Unity po sobě čistí paměť, dočasné třídy atd. a není třeba po sobě uklízet.
O víkendu jsem začal řešit čistění ramky, protože se mě moc nezdálo že bych tam měl tolik dat. A ano - unity po sobě něco uklidí samo, ale asi tak 20% (nebo to umí na věci které jsou stavěny tak jak byl záměr autorů enginu) Smile

Takže jsem pomalu začal v realtime čistit data klasiky za pomocí

www.Dispose();//toto hlavně na memory leak (jako fakt blbost, ale výsledek je hodně poznat).

a Resources.UnloadUnusedAssets;

Obojí udělalo celkem pěknou čistku, ale i tak budu čistit a likvidovat dočasné data ještě ručně.

Mám ale problém s Resources.UnloadUnusedAssets - nedá se nějak nastavit dirty v realtime? Jelikož tento příkaz vezme vše i rozpočítaná data a zahodí je. Jako ano - mám tam berličky co to hlídají a nedovolí provést čistku, ale i tak bych raději měl vetší jistotu, když budou data tagnuta a nezahrnutá do čistky. Nebo si to musím hlídat vnitřní logikou.

Dva výše uvedené příkazy na správných místech (+ ruční likvidace již nepotřebných tříd) mě celkem zvedly výkon = raději po sobě čistit ručně, než to nechat na někom jiném.
_________________


http://www.mcmagic-productions.com/
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
]semo[



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

PříspěvekZaslal: 24. listopad 2014, 11:03:09    Předmět: Odpovědět s citátem

No, tohle je jedna z věcí, díky který u mě Unity pěkně kleslo. Když totiž na nějakým rendereru uděláš třeba tohle:

object.material.SetColor(..něco);

Tak Unity potají vytvoří nový materiál. To by nebylo tak zlé, ale když ten renderer pak uvolníš, tak se ten materiál, který byl tímto renderem vytvořen, neuvolní! Tak sem to aspoň vypozoroval v Unity 3.5 Pro. Je samozřejmě dobrým zvykem, že co si vytvořím, to si taky uvolním.

Nelíbí se mi ani název property "material". Člověku to neříká, že jde defacto o novou kopii materiálu. Lepší by bylo něco jako "object.materialCopy". Podobně jsem to měl ve svým enginu.


A korektní řešení? Neznám. Ten problém jsem měl konkrétně v simulátoru provozu v tunelu, kde dálničním tunelem projíždějí auta a každý si vytvořilo svůj materiál. Znechucen jsem vždy při uvolnění auta na konci tunelu volal Resources.UnloadUnusedAssets. Případně to jde jednou za několik aut. Tvůj projekt je dost velký a pro Unity už asi netypický. Workaroundům se asi nevyhneš.
_________________
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
McMagic



Založen: 06. 08. 2012
Příspěvky: 615

PříspěvekZaslal: 24. listopad 2014, 11:30:47    Předmět: Odpovědět s citátem

Díky za ujištění Smile

Berliček tam mám spoustu - jinak by Unity spadlo během prvních sekund.
_________________


http://www.mcmagic-productions.com/
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 -> Popelnice Časy uváděny v GMT + 1 hodina
Jdi na stránku Předchozí  1, 2, 3 ... 8, 9, 10, 11, 12, 13  Další
Strana 9 z 13

 
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