játékfejlesztés.hu
FórumGarázsprojectekCikkekSegédletekJf.hu versenyekKapcsolatokEgyebek
Legaktívabb fórumozók:
Asylum:    5462
FZoli:    4892
Kuz:    4455
gaborlabor:    4449
kicsy:    4304
TPG:    3402
monostoria:    3284
DMG:    3172
HomeGnome:    2919
Matzi:    2522

Pretender:    2498
szeki:    2440
Seeting:    2306
Geri:    2190
Orphy:    1893
Joga:    1791
Bacce:    1783
MaNiAc:    1735
ddbwo:    1654
syam:    1491
Frissebbek | Korábbi postok
[1] [2] [3] [4] [5] [6] [7] [8] [9] > 10 < [15] [20] [25] [30] [35] [40] [45] [50] [55]
Tunyu - Tag | 449 hsz       Online status #207830   2015.06.17 22:47 GMT+1 óra  
Ez az új net-rendszer már eljött az 5.1.0f3-ban, már tölthető. Ha lesz rá időm tesztelgetem.
Instalok :
Néhány tucat játékosnak egy 2-3 ezer forintos vps is megteszi, nem kell egy komplett szerver.

   
Instalok - Tag | 558 hsz       Online status #207827   2015.06.17 19:24 GMT+1 óra  
Ebbe a sorozatba én is belenéztem, illetve van egy Unite előadás is, ami még egy beta előtti állapotot mutat, azóta egy picit változtak a dolgok.

Egyébként az új rendszer nekem jobban tetszik, figyeltek arra, hogy például instantiate és destroy hívásokat csak a szerver intézhessen, illetve több alap funkciót beépítettek a high level API-ba. Most még csak tesztelgetem egyszerűbb kis progikkal. Mondjuk régi vágyam lenne egy LoL/Dota-szerű MOBA készítése, de azt már ott feladtam, hogy nincs nekem pénzem arra, hogy szervert fizessek Szóval sokkal inkább egy single/coop játékötletté alakult át.

Itt-ott még egy picit bugos, illetve nem is teljesen jól vannak dokumentálva a dolgok, de ez még csak valami beta verzió úgy is, release-re remélhetőleg rendbe rakják.

   
zbalai - Tag | 51 hsz       Online status #207817   2015.06.17 10:09 GMT+1 óra  
Mi is érdeklődünk az új UNET iránt. Ezt a sorozatot nézegetjük mostanában:
https://www.youtube.com/watch?v=NLnzlwCRjgc&index=50&list=WL

Elég jónak tűnik


1.Van már valami prototipus, amire használtátok?
2.Mit terveztek vele?
3.Szervezzünk egy Unity 3D network beszélgetős meetup-ot? Ha igen mikor?


   
Instalok - Tag | 558 hsz       Online status #207813   2015.06.17 07:44 GMT+1 óra  
Igen, ezzel meg lehet csinálni azt, hogy, ha egy olyan prefabet akar létrehozni, amihez van egy olyan script adva, ami tartalmazza ezt a függvény-implementációt, akkor jó. Ha valahogy visszafejtené, és módosítaná a prefabeket (azaz például nem abból az osztályból származna, ahol ez implementálva van), akkor meg nem működik az Instantiate, ha jól tudom. Menet közben ezt amúgy megcsináltam, így ni:
Kód:
private void OnNetworkInstantiate(NetworkMessageInfo info)
{
    // instantiated by client, drop it
    if (Network.isServer && !_netView.isMine)
    {
        Debug.LogError("Dropping instantiate call");
        Network.RemoveRPCs(_netView.viewID);
        Network.Destroy(gameObject);
    }
}

Ami viszont ezek után is probléma, az a Network.Destroy. Arról nem érkezik üzenet, az csak simán kivágja az objektumot a francba.

Olvasgattam (előtte is) fórumokon, és nagyon sokan panaszkodnak erre a rendszerre. Szerencsére a UNET-ben már nem így működik, ott csak a szervernek van egy Spawn és Destroy függvénye. Jelenleg azt kezdtem el használni, de ez még valami béta állapotban van, nincs hozzá normális dokumentáció sem, és ez-az még bugos picit.

szerk.:
Minden esetre az új koncepció jobbnak tűnik. Raktak bele korlátozásokat, szóval biztonságosabbnak tűnik. Például bizonyos hívásokat csak az object ownere intézhet, stb.

Ezt a hozzászólást Instalok módosította (2015.06.17 09:21 GMT+1 óra, 1044 nap)

   
Tunyu - Tag | 449 hsz       Online status #207812   2015.06.17 00:33 GMT+1 óra  
Ha jól gondolom, akkor ezzel meg lehet akadályozni. Mivel egyik kliens a másiknak nem tud közvetlen ilyen üzenetet küldeni,csak a szerveren keresztül, így el lehet csípni mielőtt még tovább jutna. A küldőt meg blokkolni lehet.

   
Viperion - Tag | 540 hsz       Online status #207811   2015.06.16 21:24 GMT+1 óra  
Unity lesz valamikor linuxra? Az editorja.
Nem tudja valameikőtök,higy mit terveznek megvalósítani a következő verziókban.
Jobb szeretem a linuxot csak azér. Gyenge gépem is van szal jobban fut mint a windows.
A feddbackba van ilyen szavazás higy legyen e editor windowsra. Ez ha elér egy bizonyos szavazásmennyiséget ,akkor megcsinálják? Vagy,hogy van ez?
http://feedback.unity3d.com/suggestions/platforms-unity-editor-for-linu

   
Instalok - Tag | 558 hsz       Online status #207806   2015.06.16 07:12 GMT+1 óra  
De Tunyu, hogy blokkolod szerveren a klienstől érkező Network.Instantiate hívást?! Ha van kedved, légyszi írj kódot is, mert lehet, hogy nem értem, amit mondasz.

Ez a rendszer a következőképpen működik:
Aki hív egy Network.Instantiate-et, az lesz az object ownere. Emellett a háttérben ez egy RPC hívás, és meghívja az ÖSSZES kliensen (és szerveren) is az Instantiate-et. Ezt szerver oldalról nem tudod blokkolni.

Valamikor a Unity 5.x-ben (x>=1) lesz a UNET nevű új hálózati rendszer release-elve. Leszedtem az 5.1.0f2-es verziót, és szerencsére az új rendszerben már nincs ilyen hülye konstrukció. Csak és kizárólag a szerver tud Instantiate-et hívni.

   
Tunyu - Tag | 449 hsz       Online status #207803   2015.06.14 21:56 GMT+1 óra  
Azért kell csak kliens-szerver hálózatot építeni, így a kliensek egymástól el lesznek szigetelve.A szerver csak a szükséges infót küldi/kéri a klienstől, utasítást meg nem fogad.Így akár még a hálózati terheltséget is tudod befolyásolni, hogy csak az aktuális játékos közvetlen környezetében levő más játékosoknak küldi ki pl. az új pozíciót. Ezt egy hálózati LOD-ként is meg lehet írni.

   
Instalok - Tag | 558 hsz       Online status #207802   2015.06.14 19:12 GMT+1 óra  
Azt én értem, viszont attól, hogy ÉN nem használom a Network.Instantiate-et, attól egy hackelt kliens még tudja.

   
Tunyu - Tag | 449 hsz       Online status #207801   2015.06.14 17:21 GMT+1 óra  
Lehet hogy elavultnak számít, de RPC funkciókkal szerintem nagyobb biztonsággal lehet kiküszöbölni hasonló problémákat, csak kicsit körülményesebb.

   
Instalok - Tag | 558 hsz       Online status #207797   2015.06.14 09:03 GMT+1 óra  
Oké, tegyük fel, hogy kliens oldalra is beteszek egy ilyen utasítást. De hova is pontosan? Úgy értem, ott van a Network.Instantiate. Erről egyetlen callbacken keresztül kapsz csak értesítést, az pedig az OnNetworkInstantiate. Azonban ez egy adott objektumnál érkezik.

Végül is, meg lehet azt csinálni, hogy egy NetMonoBehaviour osztályt csinálok, ahol implementálom ezt a függvényt, és megvizsgálom, hogy ki küldte. Ha az nem a szerver, akkor el is távolítom a bufferből. Ha jól tudom úgy is csak prefabeket tud létrehozni így talán még jó is lehet. A nagyobb gond talán a Destroy.

Bár, ez az egész csak akkor probléma, ha valaki vissza tudja/tudná fejteni a unity pack file-okat. Ami viszont nem csak engem érintene.

   
Tunyu - Tag | 449 hsz       Online status #207796   2015.06.14 06:02 GMT+1 óra  
A kliens oldalra gondoltam,hogy csak a szervertől fogadjon ilyen utasítást. A scriptet nem maga az exe tartalmazza, hanem a resource fájl.Persze ha az exe-t visszafejti valaki akkor nem kizárt hogy ezt a fájlt is vissza tudja,bár szerintem az már komolyabb fejtörést okoz.De tegyük fel hogy feltöri valaki és oda biggyeszt egy Network.Instantiate-t , sokra nem megy vele, mivel minden más kliens csak a szervertől fogad ilyen utasítást.

   
Instalok - Tag | 558 hsz       Online status #207795   2015.06.13 21:59 GMT+1 óra  
Tudom, hogy vannak olyanok, és ez miben segít a Network.Instantiate esetében? Ha mondjuk feltörik a klienst, és beszúrnak egy Network.Instantiate hívást, akkor az kiküldi mindenkinek az értesítést, hogy tessék, itt egy új object. Hova is gondoltad pontosan beszúrni ezeket a feltételvizsgálatokat?

   
Tunyu - Tag | 449 hsz       Online status #207786   2015.06.13 05:59 GMT+1 óra  
Instalok :
Mutass egy olyan játékot vagy bármilyen alkalmazást amit még nem tudtak visszafejteni!? Amint piacra kerül egy játék, 2-3 napon belül már van hozzá crack. A szervert kell erősíteni, és úgy megalkotni a rendszert hogy a kliensnek esélye ne legyen belenyúlni. A Network.Instantiate és Network.Destroy-ra meg létezik olyan hogy Network.isServer és Network.isClient.Így meg akadályozható hogy a kliens létre hozzon vagy elpusztítson valamit.

   
Viperion - Tag | 540 hsz       Online status #207783   2015.06.12 18:01 GMT+1 óra  
Köszi Parallax ez volt az ami annyira érdekelt. Ez hihetetlenül kielégítő válasz volt. Jobb már nem is lehetne.
:-)

   
Instalok - Tag | 558 hsz       Online status #207782   2015.06.12 15:28 GMT+1 óra  
A hálózatkezeléssel eszembe jutott néhány probléma:
A legelső a Network.Instantiate és Network.Destroy. Mindkettő meghívható kliens oldalon is, ami azért nem túl szép dolog. A másik csak ezzel kapcsolatban merült fel, az a code reflection. Azaz, ha buildeltem egy exe-t, akkor annak a forráskódja visszafejthető, gondolom. Ebből következik, hogy (akár) újra le is fordítható, ami okozhat problémákat.

   
Parallax - Tag | 594 hsz       Online status #207779   2015.06.12 00:17 GMT+1 óra  
Idézet
Viperion :
Parallx
hogy x magon elosztva fusson az adott algoritmus a ciklusban, se több, se kevesebb.

És alapból mennyi magra ossza szét egy ilyen ciklus a feladatokat és állítható ez valahogy?
De ez problémás is lehet nem ha az egyik mag befejezi a futást míg a másik késik,akkor ez okozhat problémákat nem. Alapból lekezeli ezt a ciklus vagy nekem kell vele szenvedni?


Automatikusan elosztja annyi magra amennyi terhelhető. Nem okoz semmi problémát ez direkt arra vnan kitalálva, hogy ne kelljen szálkezeléssel foglalkozni, csak lefuttatod és ennyi. Nem 100%-os a megoldás, például 2 mag esetén nem kétszeres, hanem "csak" másfélszeres sebesség növekedést hoz, de az automatizmusnak ez az ára. Mint régebben már írtam szerintem engine scipt szintján nincs helye ilyen szintű optimalizálásnak, hiszen a CPU-ra jutó sebesség kritikus részeket engine szinten már megoldottak a fejlesztők (AI, fizika stb.)

   
Tunyu - Tag | 449 hsz       Online status #207772   2015.06.09 14:45 GMT+1 óra  
Igazad van, a hiba továbbra is jelen van, de csak az új UI InputField-ben, ha scriptből hozod létre akkor nincs a @ előtt semmi.

   
Instalok - Tag | 558 hsz       Online status #207770   2015.06.09 11:14 GMT+1 óra  
Unity 5.0.2 és a hiba jelen van. Nem az én készülékemben. Talán nincs semmi a vágólapodon

   
Tunyu - Tag | 449 hsz       Online status #207769   2015.06.09 09:47 GMT+1 óra  
Anno a 4.6 béta új UI tesztelgetése közben találkoztam valami hasonló problémával, de most már csak simán @-ot rak, szóval a hiba az ön készülékében van!

   
Instalok - Tag | 558 hsz       Online status #207768   2015.06.09 08:37 GMT+1 óra  
Találkozott már valaki azzal, hogy altgr + v hatására az InputField-be a kukac elé beilleszt szöveget? Gondolom azért van, mert ez egyben ctrl + v is, de én ennek így annyira nem örülök.

   
Instalok - Tag | 558 hsz       Online status #207767   2015.06.09 06:09 GMT+1 óra  
Viperion:
Ne keverd össze a ciklust meg a szálakat, mert semmi közük nincs egymáshoz. Annyit tudsz csinálni, hogy indítasz egy új szálat, és azon feladatokat végzel. Ennyi az egész. Az, hogy hány szál indul, te határozod meg azzal, hogy mennyit indítasz.

A többszálú programozás valamivel bonyolultabb, tudsz nézelődni "thread safe" témakörben. Egy egyszerű példa arra, hogy miért nehezebb:
- van egy integer változód, tároljon mondjuk 10-et
- indítasz egy szálat, amely a futása során átállítja az értéket 20-ra
- indítasz egy másik szálat is, amely az előző értékhez hozzáad 5-öt.
Ha belegondolsz, akkor a két szál egyszerre akarja írni és olvasni is ugyan azt a memóriaterületet, ami azért elég problémás. Ráadásul mennyi lesz az érték? 20? 25? 15?

Emellett a Unity alapvetően nem thread-safe, ha jól tudom, szóval ilyenekben nem gondolkoznék. Teljesen saját kódokat (amely nem érint Unity engine-beli kódot) tudsz több szálra rakni.

   
Viperion - Tag | 540 hsz       Online status #207766   2015.06.08 23:45 GMT+1 óra  
Parallx
hogy x magon elosztva fusson az adott algoritmus a ciklusban, se több, se kevesebb.

És alapból mennyi magra ossza szét egy ilyen ciklus a feladatokat és állítható ez valahogy?
De ez problémás is lehet nem ha az egyik mag befejezi a futást míg a másik késik,akkor ez okozhat problémákat nem. Alapból lekezeli ezt a ciklus vagy nekem kell vele szenvedni?

   
Parallax - Tag | 594 hsz       Online status #207762   2015.06.08 13:22 GMT+1 óra  
Idézet
Viperion :
De ha használok egy ilyen többszálú ciklusfajtát,akkor a benne levő kóddal már nem kell csinálnom semmit? Ez a fajta ciklus magától szét ossza a magok közt a tartalmát? Arra lennék kíváncsi,hogy a sima for és a parallel for miben más. Azon kívül,hogy lefutassák a bennük lévő kódot x szer ebben megeggyeznek de ezen kívül mi a külömbség köztük?


Semmi különbség nincs azon kívül, hogy a magokon elosztja a terhelést. Ez egy egyszerűsítés ahhoz, hogy x magon elosztva fusson az adott algoritmus a ciklusban, se több, se kevesebb.

   
Viperion - Tag | 540 hsz       Online status #207759   2015.06.08 00:14 GMT+1 óra  
De ha használok egy ilyen többszálú ciklusfajtát,akkor a benne levő kóddal már nem kell csinálnom semmit? Ez a fajta ciklus magától szét ossza a magok közt a tartalmát? Arra lennék kíváncsi,hogy a sima for és a parallel for miben más. Azon kívül,hogy lefutassák a bennük lévő kódot x szer ebben megeggyeznek de ezen kívül mi a külömbség köztük?

   
Parallax - Tag | 594 hsz       Online status #207758   2015.06.06 19:30 GMT+1 óra  
Idézet
Viperion :
C# ben vannak ciklusok amik több szálúak pl:
Parallel. For Mikor van értelme ilyen ciklusok használatának és mit csinálnak?


A CPU-n lehet adott feladatot szétosztani magokra, hogy a terhelés kisebb legyen. Mivel ez a feladat, amit felvetettél nem jelent különösebb terhelést a CPU-nak (mozgatáshoz vectorok x, y értékét kell settelni) így ennek észrevehető haszna nem lenne. A rajzolást a GPU végzi arra meg ennek a kódnak nincs hatása.

Általában az idő 90%-ban a program 10% fut. Ha ezt a 10%-ot megtalálod performancia elemzéssel és annál használod a parallel-t, akkor az hozhat komolyabb eredményt. Viszont az ilyen performancia kritikus program részeket nem kellene script szintre hozni, ez az engine dolga alacsonyabb szinten.

   
Harsh - Tag | 243 hsz       Online status #207756   2015.06.06 09:58 GMT+1 óra  
2D-s, oldalnézetes a játék. (lassan majd regelem is)
Végső megoldásnak jó lenne (jobb mint a fekete por, ami másik lehetőség volt (de azt mivel indokoljam), ha nem hat rá, akkor a sötét helyeken meg csúnya. Vagy ha tudnám, hogy különösebben nem akarok hozzányúlni sehol, akkor gondolom maxban egész pofás kis szálló port lehetne összehozni. ), de szeretném megtartani megtartani a lehetőséget, hogy akár runtime is hozzányúlhassak komolyabban is. Pl: ha jön oldalról egy széllökés. Textúrával külön animot csinálhatnék neki..

Amúgy lett egy megoldás még este mielőtt bealudtam, ezért is jöttem fel:

Shuriken/renderer/render mode: Mesh -re állítottam, meshnek kiválasztottam a quad-ot. Shadernek pedig egy sprite/diffuze -t használok. Így mükszik szépen.

   
Viperion - Tag | 540 hsz       Online status #207755   2015.06.05 23:35 GMT+1 óra  
Mit szólnál ha ezek az apró porszemecskék egy textúra tartalma lennének. Animálva volna a textúra így úgy nézhetnének ki mintha szálnának a levegőben. A textúra részei pedig minden máshol nem volna látható kivéve a porszemcséket. Aztán ha ezt megvilágítod olyan lesz mintha hatna rájuk a világítás. Ez az amit akartál ha jól tudom.

Egyébként lehet nagy hülyeséget írtam. De ez nem biztos.
Én ilyen oldalnézetesben gondoltam nem tudom,hogy neked így jó e. Egy animált textúra mindig a kamera előtt ezzel mondjuk a sivatagban a homokvihart jól lehetne utánozni a mortal kombat 9 ben is így van asivatagos pálya ha jól tudom. És ha megvilágítod ezt a textúrát amiben csak a homokszemek látszanak akkor olyan lesz mint amilyet szerettél volna. A mortal kombatból jött az ötlet.

Ezt a hozzászólást Viperion módosította (2015.06.06 00:47 GMT+1 óra, 1055 nap)

   
Harsh - Tag | 243 hsz       Online status #207753   2015.06.05 20:45 GMT+1 óra  
Szeretnék levegőben szálló apró porszemcséket, és jó lenne ha hatna rájuk a világítás. Olyant olvastam, hogy particles/vertexLit blended shadert használjak, de ez nem jött be. Részecskékről van szó persze. Valakinek esetleg valami ötlete?

   
Viperion - Tag | 540 hsz       Online status #207749   2015.06.05 01:04 GMT+1 óra  
Lord_Crusare
Megtehetnéd, hogy a 100 GameObjectet egy másiknak rendeled alá és ezt az egyet mozgatod, de ez jóval lassabb lesz végeredményben a for ciklusnál.


Ezt úgy értetted.hogy egy gameObject lesz(parent) és száz darab pedig(child)je a szülőnek.
De ha a parentot mozgatni fogom akkor az összes ugyanabba az irányba fog mozogni és mindnek egyszerre külön belőtt iránya lesz. Ha így értetted akkor ez így nem jó nekem. De a külön irányba való mozgásuk nem okoz problémát nekem ,megtudom valósítani csak érdekelt ,hogy van e hatékonyabb forech-os megoldásnál de ház ezek szerint ezek a legjobbak.

C# ben vannak ciklusok amik több szálúak pl:
Parallel. For Mikor van értelme ilyen ciklusok használatának és mit csinálnak?

   
Harsh - Tag | 243 hsz       Online status #207745   2015.06.04 18:36 GMT+1 óra  
Nem olyan macerás az amilyennek látszik. Én hamar megszoktam és nagyon kézre áll már. Nekem kezelhetőbbnek és szebbnek tűnik.

   
Lord_Crusare - Törzstag | 1302 hsz       Online status #207744   2015.06.04 17:01 GMT+1 óra  
A 4.6 GUI-t könnyebb használni, sokkal gyorsabban össze tudsz rakni benne kb. bármit.

A háttérben ugyanazt csinálja az is, amit te kódból, szóval ebből a szempontból lényegtelen, hogy melyiket használod.

   
Tunyu - Tag | 449 hsz       Online status #207743   2015.06.04 16:06 GMT+1 óra  
Nem tudom lehet hülye kérdés, de érdemes átállni az új UI-ra? Próbálgattam mikor megjelent a 4.6-ban és jól néz ki,de viszont nekem macerásnak tűnt, így maradtam a régi módszernél.A lényege a kérdésemnek az lenne hogy teljesítmény javulás tapasztalható e ha az új UI-t használom?Vagy ez fordítás után már lényegtelen hogy scriptből fut vagy a gyári beípített UI!?

   
FZoli - Szerkesztő | 4892 hsz       Online status #207733   2015.06.04 06:23 GMT+1 óra  
nem tudom mi gyorsabbat szeretnél a for-nál. C# alapkérdés ide vagy oda, foreachnél én évekkel ezelőtt nagyobb sebességet mértem unity alatt, nem tudom ez most hogy állna. Azt mondjuk tegyük hozzá, hogy értékelhető mérési különbséghez nagyon sokat futott a for, tényleg. Százas tételnél gondolkodni sem kéne ilyesmin, csak használni.
   
Lord_Crusare - Törzstag | 1302 hsz       Online status #207731   2015.06.04 04:08 GMT+1 óra  
Nincs hatékonyabb. Foreach, de inkább csak simán for.

Megtehetnéd, hogy a 100 GameObjectet egy másiknak rendeled alá és ezt az egyet mozgatod, de ez jóval lassabb lesz végeredményben a for ciklusnál.

   
Viperion - Tag | 540 hsz       Online status #207729   2015.06.04 00:03 GMT+1 óra  
Parallax
Foreach mondjuk. De ez cseppet sem Unity, hanem C# alap kérdés. A linkelt oldalon bal oldalt van egy könyv is, videók is, ezeket lehet nem ártana átnézni, meg úg egyáltalán megtanulni programozni egy komplett 3D engine használata előtt.

Parallax ismerem a vezérlési szerkezeteket de én valami hatékonyabbra gondoltam. Unityben biztos van erre is valami.

   
Tunyu - Tag | 449 hsz       Online status #207721   2015.06.01 17:45 GMT+1 óra  
A gyári 45°-on van és ha alacsonyabbra veszem akkor is látható torzulás.És ami még érdekes, hogy csak a kamera bal oldalán torzul a kép, jobb oldalt normális.

Megvan a probléma oka! Halo-val próbáltam némi atmoszféra látszatot kelteni, és ez a bolygó árnyékos oldalán valami oknál fogva torzult. Teljesen megvilágított a bolygónál semmilyen torzulás nem látható.

Ezt a hozzászólást Tunyu módosította (2015.06.01 17:59 GMT+1 óra, 1060 nap)

   
Lord_Crusare - Törzstag | 1302 hsz       Online status #207720   2015.06.01 16:24 GMT+1 óra  
Ennek semmi köze a Unity-hez. A kamera field of view (FOV) értékét állítsd alacsonyabbra, ha ezt szeretnéd elkerülni.

   
Tunyu - Tag | 449 hsz       Online status #207719   2015.06.01 15:48 GMT+1 óra  
Néhány napja frissítettem a Unity-t 5.0.2-re, és nem tudom hogy már az előző ötös verziónál is ilyen volt-e, de most feltűnt hogy ha a kamera látószögének a határához közelít az objektum akkor torzult képet ad. http://jatekfejlesztes.hu/datas/users/3125-hiba.jpg
Más is tapasztalt hasonlót, vagy csak nálam van a gond!?

   
zeller - Törzstag | 474 hsz       Online status #207718   2015.06.01 11:01 GMT+1 óra  
btw ez veletlenul nem particle akarna lenni? vagy explosion? arra van jobb megoldas

   
Parallax - Tag | 594 hsz       Online status #207717   2015.06.01 01:45 GMT+1 óra  
Idézet
Viperion :
Hogyan kell ezt megoldani? Mert hülyén nézne ki 100 darab translate ki írása.


Foreach mondjuk. De ez cseppet sem Unity, hanem C# alap kérdés. A linkelt oldalon bal oldalt van egy könyv is, videók is, ezeket lehet nem ártana átnézni, meg úg egyáltalán megtanulni programozni egy komplett 3D engine használata előtt.

   
Viperion - Tag | 540 hsz       Online status #207715   2015.05.31 23:58 GMT+1 óra  
Van egy c# scriptem ami hozzá van adva egy üres objecthez.
Ebben a c# scriptben ,egy tömbbe 100 darab objektum referenciája van.
Én ebben a scriptben akarom mozgatni egyszerre külömböző irányba az objektumokat.
Hogyan kell ezt megoldani? Mert hülyén nézne ki 100 darab translate ki írása.
gameobjects[0].transform.translate(dir*speed*dt);
gameobjects[1].transform.translate(dir*speed*dt);
gameobjects[2].transform.translate(dir*speed*dt);
gameobjects[3].transform.translate(dir*speed*dt);
gameobjects[4].transform.translate(dir*speed*dt);
Egészen százig lol.

   
FZoli - Szerkesztő | 4892 hsz       Online status #207711   2015.05.29 21:02 GMT+1 óra  
Kb. ahogy Archenemy is írja,

mobilon a tris majdnem mindegy (vagy legalább is nem annyira fontos, mint elsőre tűnik), sokkal inkább shader függő. Sajnos a mobil eszközök többnyire nagyfelbontású képernyőn, és ehhez képest kis teljesítményű gpu-val rajzolnak, ezért a shader optimalizáció nagyon sokat számít.

Konkrétan egy surface shader használata mobilon felezheti, negyedelheti a tartalmat, amit kirajzolhatsz, egy direktbe optimalizált shaderhez képest.

És még emellett is érdemes minél több mindent a vertex programba pakolni, és a lehető legkevesebbet a fragmenten számolni. Pl. vertex AO-t használni lightmapok helyett akár megnövelt poliszám mellett is gazdaságosabb, vagy akár blob-szerű árnyékokat tisztán vertexcolorból, felosztott plannel megoldani.
   
Instalok - Tag | 558 hsz       Online status #207710   2015.05.29 20:39 GMT+1 óra  
Idézet
Tunyu :
Nagy számú játékosnál szerintem elkerülhetetlen a több szál használata, és számításokat simán lehet végeztetni mellék szálakon is, vagy ami nem befolyásolja a játék kimenetelét azt rá lehet bízni a kliens gépére is.De tesztelheted is a szervert, egy kis programmal generálsz neki 1-2 ezer klienst, azok küldenek neki egy kis feladatot, akkor szerintem hozzávetőleges értéket kapsz róla hogy mit bír.


Igen, valószínűleg így lesz. A puding próbája... a pudingpróba!

   
Archenemy - Törzstag | 625 hsz       Online status #207708   2015.05.29 15:19 GMT+1 óra  
"ha egy scene-ben 400-800k tris van az soknak számít?"
Mobilon igen, de nem csak a háromszögek száma számít, hanem a használt shader, alpha overdraw, drawcallok száma, ilyesmi. Mi kb. úgy voltunk vele, hogy

max. 100k tri a képernyőn
100 alatt legyen a drawcall
amin lehet, mobile shader
alpha overdraw minél kevesebb
------------------------------------
Army of Pixels @ facebook
------------------------------------
A világon a legjobban az ész van elosztva: mindenki meg van róla győződve, hogy neki több jutott.
   
Tunyu - Tag | 449 hsz       Online status #207706   2015.05.29 08:14 GMT+1 óra  
Nagy számú játékosnál szerintem elkerülhetetlen a több szál használata, és számításokat simán lehet végeztetni mellék szálakon is, vagy ami nem befolyásolja a játék kimenetelét azt rá lehet bízni a kliens gépére is.De tesztelheted is a szervert, egy kis programmal generálsz neki 1-2 ezer klienst, azok küldenek neki egy kis feladatot, akkor szerintem hozzávetőleges értéket kapsz róla hogy mit bír.

   
Instalok - Tag | 558 hsz       Online status #207695   2015.05.28 08:38 GMT+1 óra  
A hálózati modell a következő:
- van egy dedikált szerver
- a kliensek matchmaking queue-ba tudnak csatlakozni
- ha összejött x ember egy meccsre, akkor elindít nekik egy játékot
Tehát olyan, mint például a LoL vagy DOTA rendszere.

Ebben az esetben, ha van 1 dedikált szerverem, akkor hogy érdemes a több különböző meccset kezelni? Gondolok itt arra, hogy mondjuk 1 meccsen van egyszerre mondjuk 500 game object, és fut egyszerre 100 meccs, akkor az egy picit memória- és számításigényes.

Gondolkoztam threadeken is, de arról meg azt olvastam, hogy a Unity alapvetően nem thread-safe, sőt, mintha nem is engedné, hogy bizonyos dolgokat a fő szálon kívülről piszkáljunk.

   
Lord_Crusare - Törzstag | 1302 hsz       Online status #207692   2015.05.27 17:19 GMT+1 óra  
Ez célhardvertől függ. Mobilon sok lehet. PC-n az egy átlag scene.

   
bull333 - Tag | 15 hsz       Online status #207691   2015.05.27 16:38 GMT+1 óra  
Sziasztok, Androidra fejlesztek, megtudná nekem valaki mondani hogy ha egy scene-ben 400-800k tris van az soknak számít? vagy mobilra mi az optimális? nincs ez valahol leírva részletesebben?
Keresgélek egy ideje de nem nagyon találok választ.

   
zbalai - Tag | 51 hsz       Online status #207689   2015.05.22 14:01 GMT+1 óra  
Unity 3D meetup lenne május 27-én 18:30-kor a Preziben.
Amikor kihirdettem még nem lehetett jelentkezni egy rosszul beállított kapcsoló miatt, most már lehet.
1. Music teaching/practicing app
2. Particles
3. LODs with 3DS Max

Kell legalább 15 jelentkező hogy megtartsuk.

http://www.meetup.com/Unity-3D-Budapest/events/222662917/


   
Frissebbek | Korábbi postok
[1] [2] [3] [4] [5] [6] [7] [8] [9] > 10 < [15] [20] [25] [30] [35] [40] [45] [50] [55]