Unity3D
Jelentkezz be a hozzászóláshoz.
ASUS B550-PLUS, AMD 5600X, 32 GB DDR4, EVGA RTX 3070, SM-OB1, HD 600 + Asus Xonar DX, TonePort UX1 + Alesis Elevate 5, Novation Circuit \o/
Ha sima int-ként tárolod és minden pálya végigjátszás után átállitod akkor ott a bibi, mert ha egyszer már beállitod 4-re, majd 2-re, akkor jó hogy a másik kettőt nem veszi figyelembe.
szóval úgy tűnik a második pont amit irtam áll fent.
https://hutonggames.fogbugz.com/default.asp?W1226
itt is van elágazás. Próbáld meg, hogy csak akkor állitod be a változó értékét (mondjuk kettőre), ha a változó értéke kisebb annál.
Ahogy látom van valami int compare, lehet azzal kell próbálkoznod (csak beletekertem egy tutorialba)
ASUS B550-PLUS, AMD 5600X, 32 GB DDR4, EVGA RTX 3070, SM-OB1, HD 600 + Asus Xonar DX, TonePort UX1 + Alesis Elevate 5, Novation Circuit \o/
Sajnos nem ismerem playmmakert, csak programozás szempontból tudok vakon tippeket adni:
- rossz a mentési logika: unlockolt pályákat felüliirod, ahelyett, hogy hozzáadnád a listához ha nem létezik (nem is tudom milyen adattipusban tárolod ezeket)
- esetleg ha azt nézed, mely pályák vannak unlockolva, ahol csak egy szám van (pl 4), akkor meg akkor nem kéne felüliirni mentéskor ha a már letárolt érték nagyobb mint az éppen letárolni kivánt szám (2)
Utoljára szerkesztette: Jim Morrison, 2021.10.11. 22:28:43
ASUS B550-PLUS, AMD 5600X, 32 GB DDR4, EVGA RTX 3070, SM-OB1, HD 600 + Asus Xonar DX, TonePort UX1 + Alesis Elevate 5, Novation Circuit \o/
Látom, nem ma volt az utolsó hozzászólás, de azért teszek egy próbát, hátha erre téved valaki:)
Szóval, Playmakerrel készítek egy SkyRoads-ra hajazó játékot, lényeg, hogy playerprefs set/get-et használok a pályák mentésére. Egyelőre az első 4 pályát lehet unlockolni, ami működik is rendesen, el is menti, tehát ha kilépek a játékból és vissza, akkor unlockolva maradnak. Viszont, ha az első pályát ismét végigjátszom, akkor visszalockolja a 3. és 4. pályákat, mintha felülírná az előző mentéseket. A 2. unlockolva marad, mivel ugye az a következő pálya. Esetleg valakinek van erre valami ötlete, hogy mi lehet a hiba? Elég sok mindent próbáltam és külföldi fórumokra is írtam, de eddig nem sikerült megoldani.
Előre is köszönöm! :)
Igy ha kiválaszt egy fajtát az ember akkor az lehet , hogy nem a megfelelö arra ami ahhoz kell amit tényleg akar csinálni, visztont mikor megcsinálja, meg kiderül, hogy a következő miatt a 3. lett volna a jó választás.
Gondolok itt a rigid body, transform dolgokra.
A transform verzióval is megoldható a test mozgatásaa ( a legtöbb videoban ezt láttam) viszont ez nem a legjobb ha fizikai üközésekre is akarom használni.
Nekem olyanhoz kellene, hogy a mozgást befolyásolo erők ne elöre fixen megadott értélkek és ne a frekvencia frissités fugvényébe változzanak hanem mindegyik adatot egy képlet eredménye adja
Transform.position meg Transform.localPosition
Látom nem nagyon pörög itt a topic , de azért teszek egy probát,
Esetleg ha valaki tud olyan magyar helyet ahol nagyobb mozgás van az se lenne rossz.
Szóval még nagyon az elején vagyok csak pár napja próbálgatom.
A lényeges kérdéseim, az lenne, hogy lehet beállitani, hogy a valós mértékegységekkel lehessen számolni? távolság sebesség tömeg stb..
Leszedtem height mapot , de hiába csoinálom meg amit kell, nem rajzolja ki azt a domborzatot és nem is lesz olyan nagy és magas mint kellene lennie,
A másik, hogy a scripelésnél , hogyan tudom megkülönböztetni, hogy mi hasson a test kordináta rendszeréhez és mi a világihoz?
Van ez a tutorial-sorozat: Tutorial
A 009 videoban van egy generikus lista sorbarendezo metodus:
private void SortTargetsByDistance()
{
targets.Sort(delegate(Transform t1, Transform t2)
{return Vector3.Distance(t1.position, myTransform.position).CompareTo(Vector3.Distance(t2.position, myTransform.position));}
);
Ezt nem értem: delegate(Transform t1, Transform t2).
Miért használ delegate-et? Rámutat a generikus lista objektumaira? Mi történik lépésről lépésre?
A szakirodalmak amiket eddig olvastam nem adtak választ/nem mélyedtek bele ennyire,
de ezt pl. értem (érteni vélem): C# – Metódusreferencia
Autodidakta C#/Unity műkedvelő vagyok, valaki megtenné hogy elmagyarázza mi történik a fenti sorok futásakor?
(Nem ismerem a C++ -t igy a "mutató aritmetika" -ról csak C# tanulás közben olvastam... )
Köszönöm előre is!<#lookaround>#lookaround>
shaken, not stirred
OnMouseDown
Hozzá kell adni egy collidert, és azonnal van event az egér kattintás kezelésére, és nem kell feltalálni megint a spanyol viaszt.
shaken, not stirred
1. Az ablak stabil n*n méretû, ekkor könnyû dolgod van (grafikát gondolom meg tudod oldani, mert nem ez a kérdés), szépen bekéred a kattintás koordinátáit (Input.getMouseButtonDown (maga a katt) és Input.mousePosition (x és y koordináták)), aztán írsz egy függvényt, ami megkapja a koordinátákat (pl: calculateZone(int mouseX, int mouseY)). Ebben a függvényben eldöntjük, hogy hova is kattintott az illetõ. Mindezt úgy, hogy elõször is megnézzük, hogy az X-koordináta melyik tartományba esik (if (x<zona1x) oszlop = 1; elseif( zona1x < x && zona2x > x) oszlop=2; else oszlop = 3), aztán ugyanezt az X-koordinátával is. A végén pedig egy return Zona = (sor-1) * 3 + oszlop; (márha nem 0-tól kezded a számolást). És akkor meg tudod oldani, hogy pl: Zona = calculateZone(mouseX,mouseY);.
A második eset, ha átméretezhezõ az ablak. Ugyanis itt relatív dolgokban gondolkozunk. Pl ha azt mondod, hogy a játéktér szélessége legyen ablakszélesség/6, és kezdõdjön monjuk ablakszélesség/3-nál, akkor nyilván a zone1x nem konkrét pixel érték lesz, hanem kiszámolt (ablakszél/3 + ablakszél/6/3, mert az ablak kezdete, meg a 3 felé osztott ablak egy oszlopának szélessége). De a többi ugyan az.
Remélem valamelyest érthetõ volt, és bocsi, ha mégsem :) Valamint hozzáteszem, hogy lehet más, jobb megoldás (mondjuk 9 Button-t felteszel, és kész), de megjelenítést tekintve számomra ez tûnik a legjobbak. :)
ASUS B550-PLUS, AMD 5600X, 32 GB DDR4, EVGA RTX 3070, SM-OB1, HD 600 + Asus Xonar DX, TonePort UX1 + Alesis Elevate 5, Novation Circuit \o/
1, ezek lehet vagy régi infók, vagy rosszul emlékszem valamire.
2, sose fogadd el a fórumon leírt infókat, max kiindulópontnak.
Egyébként unity erre pont jó és emiatt szeretik sokan, gyors prototípusokat össze lehet hányni benne, aztán majd megcsinálod rendesen.
shaken, not stirred
ASUS B550-PLUS, AMD 5600X, 32 GB DDR4, EVGA RTX 3070, SM-OB1, HD 600 + Asus Xonar DX, TonePort UX1 + Alesis Elevate 5, Novation Circuit \o/
Ha tesztelésre kerül a sor, és érdekel titeket a játék, akkor szívesen várlak majd bétateszterként! :D
Greenlight, ha be akarsz küldeni egy játékot steamre nem úgy megy mint régen, hogy írsz levelet a steameseknek, akik nem is válaszolnak, hanem greenlightra küldöd a játékot és a community dönt. Ez sem elõfinanszírozásra van. Ide csak lepengetsz száz dolcsit (asszem, de hasonlóan minimális összeg), aztán beküldhetsz bármit is.
Senem kickstarternél, senem indiegogonál figyelnek az emberek, hogy tényleg arra használod-e a pénzed amire kell. Megkapod, leadózod, utána csak a te lelkiismereteden (vagy hírneveden) múlik befejezed-e.
Indiegogon van egy maximális idõtartam amire lehet beküldeni projectet (talán 60 nap), két finanszírozási forma van, az egyik mikor csak akkor kapod meg a pénzt, ha a cél összejön, a másiknál pedig bármekkora összeget átutalnak. (nyilván ésszerû keretek között) Kickstarteren csak a fix megoldás van, amíg nem éred el a minimumot, addig nem kapsz pénzt.
Megnéztem a projected, és egyelõre inkább arra kéne koncentrálni, mint kickstarteren agyalni. (vagy egy másikra a 3 közül, egyedül csak szétforgácsolod magad meló mellett - hidd el tudom milyen ez) Pl ez volt egy magyar próbálkozás kickstarteren, be is bukott nagyon csúnyán.
http://www.kickstarter.com/projects/1608554263/aterra
Õk is magyarok voltak, nekik sikerült, de épphogycsak. De jól mutatja a minimumot, amivel érdemes indulni.
http://www.kickstarter.com/projects/balconyteam/balrum
Btw mindkét csapatban voltak angliában élõ tagot, azokon keresztül futott az egész.
"Anyone, anywhere can pledge to a project with a major credit or debit card. Anyone in the US, UK, or Canada can start a project (full details), and New Zealand and Australia are on the way!"
shaken, not stirred
ASUS B550-PLUS, AMD 5600X, 32 GB DDR4, EVGA RTX 3070, SM-OB1, HD 600 + Asus Xonar DX, TonePort UX1 + Alesis Elevate 5, Novation Circuit \o/
És Indiegogo-n ha összejön valamennyi összeg, aztán mégsem sikerül a játék, mert nincs idõm befejezni, akkor vissza kell fizetni? Nem tervezek ilyesfajta hazárdírozást, csak mindenre fel akarok készülni:D Vagy van ott valami idõlimit, hogy mennyi idõm van megcsinálni? Vagy szimplán csak aki adakozó kedvében van, az ad?
Mellesleg Steam Greenlight is hasonló? Vagy az már a kész játékok, csak indie?
shaken, not stirred
Tedd be topikot kedvencek közé és akkor látod ha új üzenet érkezik (bár gondolom ezt tudtad).
Kickstarteren nézd meg a játékok kategóriát,kell valami nagyon jó concept hogy adományozzanak, szép design, és adományozóknak majd valami bónuszt adni. Ha nincs meg a kért összeg akkor ha jól tudom nem kapsz semmit :( Tehát vagy mindent vagy semmit.
ASUS B550-PLUS, AMD 5600X, 32 GB DDR4, EVGA RTX 3070, SM-OB1, HD 600 + Asus Xonar DX, TonePort UX1 + Alesis Elevate 5, Novation Circuit \o/
Egyébként ha bármi segítség kell, nyugodtan írj rám privátba is :) Ritkán látogatom ezt a topicot, ma néztem csak fel.
Viszont egy kérdés: Kickstarterrel mi a helyzet? Addig oké, hogy adománygyûjtõ játékkészítéshez, de mennyire éri meg feltenni oda? Vagy egyáltalán hogy mûködik? Sponzorálnak, de ha nem sikerül? :D
ASUS B550-PLUS, AMD 5600X, 32 GB DDR4, EVGA RTX 3070, SM-OB1, HD 600 + Asus Xonar DX, TonePort UX1 + Alesis Elevate 5, Novation Circuit \o/
Egyetemen van egy srác aki talán már közel jár hogy kiadja appsotrera a játékát, és bár nem fogok mondani semmit róla, de nagyon jól néz ki, nagyon jól mûködik, és biztos vagyok benne hogy egy bizonyos álomhatárt hamar elér :) Majd ha kint lesz írok ide, hogy én biza ismerem a készítõt! :D
ASUS B550-PLUS, AMD 5600X, 32 GB DDR4, EVGA RTX 3070, SM-OB1, HD 600 + Asus Xonar DX, TonePort UX1 + Alesis Elevate 5, Novation Circuit \o/
Az elsõ egy MMORPG (tudom, sokan akarnak azt írni), aminek kész a kliens-szerver kommunikációja, karakter generálás (nem grafikai, csak scriptes), belépés a világba (játékosok látják egymást), NPCk, mobok (többen ölnek egy mobot, akkor mind2 player megkapja az infókat a HPjáról), irányítás, plusz a dinamikus map-töltés, ami akkor töltõdik, ha közel érsz egy megye-határhoz, a régi meg kitöltõdik. Ha érdekel,akkor van egy out-of-date (majd frissítem, ha érdemit érek el) IndieDB-s oldala. Lands of SomewhereHood, de Facebookon is van oldala. Igazából poénra akarom venni az egész stílust, pl olyan quest, hogy menj végig a Silkroad-on, keress meg egy tagját a League of the Legends-nek, és vidd el neki a Word of Warcraft nevû könyved (igen, direkt nincs benne "L"), és egy Rune of Magic-et. Persze ez csak egy ovis szintû példa, de nem lövöm le a nagyobb poénokat. :D
A második egy kis ûrszimulátoros game, ahol egy ûrhajóval vagy, és ha közel érsz egy bolygóhoz, akkor átvált földfelszíni nézetre, de ez csak amolyan antigravitációs ökörködés.
A harmadik egy horror-FPS, igazából ezen nincs mit magyarázni:)
Az utóbbi kettõ még csak kezdeti fázisban van, az MMOval haladtam a legtöbbet. Bocsi, ha bõ lére eresztettem, remélem azért érdekeset írtam:)
valakinek megjelent e már az appja appstoreban vagy hasonló? :)
ASUS B550-PLUS, AMD 5600X, 32 GB DDR4, EVGA RTX 3070, SM-OB1, HD 600 + Asus Xonar DX, TonePort UX1 + Alesis Elevate 5, Novation Circuit \o/
3d motivenak van egy nagyon alapokról induló videó sorozata, érdemes lehet ilyennel kezdened : https://www.3dmotive.com/f109401 . Ha bármit is össze akarsz rakni, akkor annyi önállóság a minimum, hogy ilyen problémákra megtalálod magadtól a választ.
shaken, not stirred
Itt nézhetsz körül a különbözõ tárolók között. Az, hogy melyikre van szükséged, az már attól függ mit csinálsz az adataiddal. Fixel tárolsz párat? Szekvenciálisan elérsz valamennyit? Keresni akarsz közöttük (pl legközelebbit)?
shaken, not stirred
Használj inkább C#-ot, ott az ilyen dolgok sokkal átláthatóbbak és kezelhetõbbek.
shaken, not stirred
pl. Van egy script.js és script1.js fálj. És a script.js fáljba szeretném beolvasni a script1.js fáljban lévõ number változó értéket.
Ha az elemlámpa a kezedben van, akkor a controllered capsule collider-ét kiterjesztve megoldás lehet, de ezt nem javaslom. Inkább magára a lámpára pakolj Mesh collider-t ez pontosan felveszi az elemlámpád alakját (erõforrásigényes), vagy Box collider- ez az elemlámpád köré rak egy négyszögletû dobozt (erõforrástakarékos).
És persze a környezetnek is collison kell. Így már nem fogod tudni beletolni az elemlámpát az elõtted lévõ falba.
Alfahím bétaváltozat...