|
|
Ha az segít, akkor annó az egyetemen csináltam egy felülnézetes szimulációt, ahol az AI-nak ki kell kerülnie dolgokat, eloltania tüzeket és mindezt úgy megoldani, hogy adott számú tűzoltó van csak, de adott tűzhöz adott számú tűzoltó kell, hogy eloltsa (és nem kerülhet deadlockba).
https://www.dropbox.com/s/qary3g3y5zr88r2/MultiRobot.zip?dl=0
|
|
|
Régebbről van pár elmentett linkem, nem tudom, hogy ezek közül valamelyik jó lesz-e:
http://theory.stanford.edu/~amitp/GameProgramming/MapRepresentations.html
http://www.david-gouveia.com/portfolio/pathfinding-on-a-2d-polygonal-map/
Az ugráshoz és egyéb akciókhoz pedig meg lehetne azt csinálni, hogy flagek is társulnának a polygonokhoz. Vagy esetleg valamilyen triggerrel megoldani, hogy ugorjon.
Szerintem a probléma ugyan az, mint egy 3D játék esetében, szóval megpróbálhatsz úgy keresgélni, hátha úgy nagyobb sikerrel jársz. Sajnos személy szerint nekem nincs nagy tapasztalatom A.I.-al kapcsolatban.
szerk.:
Lehet ilyen linkelt navmesh jellegű dolgokkal is próbálkozni: https://forum.unity3d.com/threads/how-to-trigger-a-jump-on-an-offmesh-link.313628/
A linkelés pedig meg tudná mondani, hogy miként tud odajutni: teleportálás, ugrás, zuhanás, ilyesmi. Arra pedig már vannak megoldások, hogy megvizsgálja, hogy egy folyosón elférne-e, vagy sem, de sokkal egyszerűbb, ha eleve úgy készül el a navmesh, hogy ahol nem fér el, ott nincs járható terület.
Ezt a hozzászólást Instalok módosította (2017.05.03 13:24 GMT+1 óra, 661 nap)
|
|
|
Az alap, a kérdés inkább, hogy hogy építem fel a gráfot, amiben keresni akarok majd.
Próbálgattam keresni navmesh-es dolgokat, de ilyen use-case-re nem nagyon találtam :/ Arról nem is beszélve, hogy itt kéne tudnia ugrani az ai-nak, van ahol nem fér el, etc.
|
|
|
|
2D-s oldalnézetes világ AI lekérdezésekhez való reprezentálásához tudtok valami jó alapot?
Olyasmikre lenne szükségem, mint hogy két pont között át tud e menni az AI, player meg közte van e másik szörny... esetleg ha próbál a player után menni, és át kell ugrani vmit hozzá, azt észrevegye, ilyesmik.
Első ötlet vmi intervallum fa építés, de még nagyon nem tudom, mit kéne kihozni belőle.
|
|
|
|
Van egy FXAA, ami totál nem csinál semmit az object széleivel, ha az átlátszó háttére van renderelve - feltételezem nem detektálja élnek :/
Ez koncepcionálisan ilyen, vagy elvileg vmi javítható cucc?
|
|
|
Kösz a tippeket!
Első körben próbálkozok majd png-vel/jpg-vel, VirtualDub-en összefűzve, aztán ha nem jön be, akkor nézem a CAviFile/FFmpeg-t.
De a lustaság dominál, a kép exportálás tűnik a legegyszerűbbnek
Egy png-s tömörítés valszeg kissebb összméretet produkál sok kis fájlal is, mint egy egy nagy tömörítetlen valami.
|
|
|
Miért baj, hogy sok a file, ha aztán videót csinálsz belőle?
Egyébként ja, ahhoz, hogy 60 FPS-el tudj rögzíteni, elég bika hardware kell.
|
|
|
Mert elsőkörben a minél gyorsabbi fájlba írás a cél...
1920*1080, 60 fps, 60 sec pl... nem, nem akarok képeket csinálni belőle 
Mondjuk úgyis lassítani kell, mert real time írni se tudnék... viszont képek generálása akkor sem tűnik túl jó megoldásnak, túl sok fájl lenne.
Ezt a hozzászólást Elodin módosította (2017.02.01 13:05 GMT+1 óra, 752 nap)
|
|
|
Idézet Elodin :
A hatalmas méretek miatt nem képfájlba menteném a képeket, hanem csak egy nagy binaryba az egészet
És az miért jó neked? Ha képfájlba mentenél, az legalább tud tömöríteni rajta, akár veszteségmentesen is (pl. png). "Kizártnak" tartom, hogy jobb tömörítő algoritmust írsz magadnak.
|
|
|
Ha jól emlékszem akkor én ebből indultam ki és szabtam át:
CAviFile
Be lehet állítani neki codecet (pl XVid; persze ezt telepíteni kell előtte és konfigolni) és rögtön tömörítve menti. Viszont nálunk ez a folyamat erősen belassítja renderelést, pl 1-2 fps ha jól emlékszem; de ahol mi használjuk ott ez nem gond, nem tudom nálad mi a helyzet.
De az avi felett kezd eljárni az idő... lehetne egy próbát tenni az FFmpeg-el:
http://stackoverflow.com/questions/2401764/can-ffmpeg-be-used-as-a-library-instead-of-a-standalone-program
(ezt én még csak command line toolként használtam konvertálásra, szóval sokat nem tudok róla).
de lehet ez sem menne real-time.
esetleg tömörített képet (png, jpg) nem tudsz kimenteni és utána összefűzni? egyáltalán milyen hosszról, felbontásrül, fps-ről van szó?
|
|
|
A hatalmas méretek miatt nem képfájlba menteném a képeket, hanem csak egy nagy binaryba az egészet, nem tudom, hogy van e olyan program, ami azzal tud dolgozni :/ Vagy vmi c++ lib legalább, amivel könnyű videot exportálni.
|
|
|
|
After Effects-el simán videóvá tudod illeszteni, aztán VirtualDub + XVid plug-innel egy 4-es tömörítésen már kapsz is belőle egy egészen kis helyet foglaló videót (full HD videó, 1 perc, kiváló minőség, 40 MB).
|
|
|
Beépített video készítésre tudtok vmi jót?
Ha csak kidobom egy fájlba minden frame végén a frame buffert, van vmi program / lib, amivel abból viszlag egyszerűen tudok normális méretű videot csinálni?
|
|
|
|
Idézet Asylum :
Ez most átment ilyen reklámtopicba? Akkor én is reklámozok:

GTAO egy 12.9'' -os iPad Pro-n.
Van ennek olyan változata is, ahol a színeket szórja árnyék helyett, hogy ne legyen olyan steril az összkép? Kis ambient fény maszatolás a tárgyakról, mert a színek nagyon elkülönülnek és nem is látszik, hogy történik ott valami.
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
|
|
|
Idézet Matzi :
Nyiss neki egy projektet, az arra van kitalálva.
Projektet nem akartam nyitni neki, mert ez egy elég szűk téma. Se neve se semmilye nincs, lassan be is lesz fejezve. Másnak nem adom oda, én szinte nem is fogom használni. Csak pár dologra voltam kíváncsi a témában, azt már ki is aknáztam azt hiszem. Még valamikor lesz egy szépített, gyorsabb változata és annyi. A 10. demora a proto kész is lesz.
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
|
|
|
sztem rakj az árnyékra valami blurt
|
|
|
Nyiss neki egy projektet, az arra van kitalálva.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
|
|
|
Hát vártam a bugok jelentését, vagy tippeket. Lévén, hogy programozom az engine-t
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
|
|
|
Az nem a buktatók kitárgyalása, hogy fél naponként feltöltesz egy új változatot, és kiírod, hogy javítottál benne valamit, mint valami blogon.
|
|
|
Az első komment szerint az engine fejlesztés buktatóit lehet itt kitárgyalni. Tehát mik a GTAO buktatói? na meg az mi az? Most hallom először. Mi a lényege és mit csinál hogyan tömören?
ui.:
gta online és Ground Truth Ambient Occlusion amit kilehet hozni belőle, de erősen javallott a gta
Ezt a hozzászólást ddbwo módosította (2016.12.14 16:32 GMT+1 óra, 800 nap)
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
|
|
|
Ez most átment ilyen reklámtopicba? Akkor én is reklámozok:
GTAO egy 12.9'' -os iPad Pro-n.
|
|
|
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
|
|
|
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
|
|
|
|
Változtattam a méreten, eddig véletlen kétszeres volt, ezért gyorsabb is lett az egész.
Kamerán változtattam, van lépcsőzés, ugrás és beleírtam a "talaj" figyelését.
https://www.dropbox.com/s/5digjmsiqj8o67a/cut8.zip?dl=0
Kíváncsi vagyok, ez mennyire bejövős a másikhoz képest. (Abban a lejtő bünti volt).
Azok a fránya élek még vissza vannak.
WASD, QE, SPACE, ESC
Ezt a hozzászólást ddbwo módosította (2016.12.12 15:52 GMT+1 óra, 803 nap)
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
|
|
|
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
|
|
|
Jó lesz ez, csak még bugtalanítani kell. Na meg folyamatosan javítom a hierarchiát (már ha van rá időm). Az élek sarkok problémásak még. Ezeken is próbálkozok még, jönnek az ötletek, csak még nem tiszta a dolog h miért is nem megy egy-egy megoldás, de az is meglesz gondolom...
https://www.dropbox.com/s/i0tym2ke2mza8dj/cut6.zip?dl=0
nyilak vagy wasd, mindkettő mást csinál.
shift sprint
esc vagy f4
space
Ami furcsa bug megjelent, hogy most a lejtőkön skate-el, amit gondolom nem kéne neki annyira gyorsan.
---
u.i.:
Sikerült eltüntetni a skate bugot.
Ezt a hozzászólást ddbwo módosította (2016.12.10 18:11 GMT+1 óra, 804 nap)
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
|
|
|
Akkor elmondom mégegyszer: mozgatást nem csinálunk fizikával (AABB vagy kapszula vagy bármi). Az enginekben ezt character controller néven fogod megtalálni és többnyire azt csinálják, amit én is leimplementáltam.
|
|
|
Oké, még a szűrést kell rendeznem és a lépcsőzést, aztán szépíteni. Túl sok változás nem látszik, de van benne elég, simábban megy. Már a polygon fillt is megérdemli.
https://www.dropbox.com/s/7gnz7r88bc8dadp/cut4.zip?dl=0
Ha valakinek van tippje mit miért csinál, nyugodtan szólhat. Bár kb van elképzelésem, a szűrés sorrendjein kell igazítani, hogy ne veszekedjen önmagával.
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
|
|
|
Pedig pont fizikával kombináltam a dolgot, amúgy nem fizika lenne, ez egy bevált módszer.(azt hiszem) ami készül.
Valamit az élekkel elírhattam. hogyan is kell megkapni az élek síkját, ha élen jár?
ebből kéne kitalálni:
Kód: sign=1;
// csináljuk meg a síkot abból az oldalból ami az élet vágta és az él vektorából.
// de melyik is vágta (ezt is le lehetett volna tárolni de mindennek van határa!)
// amelyik síkhoz legközelebb van a pont annak nézzük a vektorait ()
// 0<=pnum<=3 mert a front back oldalt nem nézi
pnum = closestplane(&l->Array[vnum].point,&VolumePlanes.Array[i]); // cső sík száma
// most akkor a vektorok, amikből képződtek.
u = AABBsides[i]*4;
v1 = aabbBody->VectorList.Array[u+pnum];
if(pnum==3) v2=aabbBody->VectorList.Array[u];
else v2=aabbBody->VectorList.Array[u+pnum+1];
// v1-v2 * él, meg is van a csúszóplén !!
v3=v1-v2;
n = v3*(l->Array[vnum].egde[0]-l->Array[vnum].egde[1]); // lehet elég lett volna a különbséget letárolni
n.Normalize(); // do'h !!
sik.Make(&l->Array[vnum].egde[0],&n);
Tudom melyik sík vágta, megvan a szakasz is és az eredeti poly amiből vágtam.
itt az aabb-nél két vektor van. de melyik az? a két edge amiből a normál lesz, vagy az mi az?
Nem, az edge amiből a sík lesz.
Ezt a hozzászólást ddbwo módosította (2016.12.06 17:21 GMT+1 óra, 808 nap)
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
|
|
|
|
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
|
|
|
A sutherland-hogman-t kitaláltam magamtól, (ami nem volt nehéz, mivel benne és kint-nél megy a vágás, ez nem egy nagy eresztés),ami a prototípusbann is szépen megy.
Most oda értem, ahol a múltkor is megragadtam. A polygon síkjára rátolom az aabb-t, ezután úgy kéne csúsznia a síkon, ahogy az fpsekben szokott lenni. Döbbenetes módon ez a csúszósík (sliding plane) nevet viseli, ahogy megtudtam.
Szóval van egy mozgás vektora az aabb-nek, és van egy maradék távolság, amit még mozogna, ha nincs ott fal. Ezt a vektort rávetítem a pont síkjára. próbáltam local, global, meg mindenhogy variáltam, de a pálya szélén a polyk egyszerűen nem adják meg a megfelelő új vektort, viszont a tetejéről, ami kint van a mappon, szépen csúszik. meg a map közepén a bütykön. Próbáltam megfordítani a sík normálját, de egyszerűen nem hajlandó felcsúszni rá.
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
|
|
|
Poligonvágáshoz Sutherland-Hodgman algoritmus.
Csúsztatás alatt nem tudom mit értesz; amíg a motorban nincs súrlódás, addig kb. minden csúszik megállás nélkül.
Pontosíts a kérdésen.
|
|
|
Esetleg ezt lehet még érdemes megnézni.
|
|
|
Jó progi, a kód kommentjeit vicces olvasni, de nekem leginkább az a rész kéne, hogy mégis mi az a síkon csúsztatás. Rávetítem a mozgásvektort a síkra, vagy mit csinálok? Most hirtelen ez jutott eszembe.
ui: Jó, látom. Megvan.
Ezt a hozzászólást ddbwo módosította (2016.12.04 17:20 GMT+1 óra, 810 nap)
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
|
|
|
Atyaég, még megvan az a régi írásom, nem mondanám, hogy most vállalnám, de anno ez volt az első kódom, ami kb. működött. 
Nekem most egy hegyére állított kapszula a karakter kontroller jött be, kis elmozdulásonként nézi, hogy belelóg-e egy 3szögbe, akkor megpróbálja kitolni onnan. Előnye, hogy a háromszög-kapszula ütköztetés elég szimpla kód - szakasz+háromszög távolsága. De lehet azzal is szórakozni persze, mire megy. Igazából emiatt nincs is sokféle tuti kód a neten a témában.
|
|
|
Köszi, elég vaskosnak tűnik. Átnézem.
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
|
|
|
|
Csináltam egy jobb tesztet, persze messze nem az, amit akarok, de a hibák előbukkannak..
https://www.dropbox.com/s/e1il5208nxv99tf/cut2.zip?dl=0
pl beakad néha a sarka a falba. elvileg minden perfect, de mégis beakad. Lehet, hogy a mozgatás miatt, ami most csak egy pattogó labda mozgása, de talán precízió miatt, mert float minden szám. De a számok is nagyok, itt 150 a jelenet széle.
Na azt ki lehet találni, hogy mivel vetít, ennek semmiképpen sem szabadna beakadni, bármekkora a sebessége és bármilyen irányban éri a polyk sarkait, éleit, síkjait a box.
Na de a felületeken hogyan kell elcsúsztatni, azt még nem tudom.
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
|
|
|
c++ topicba feltettem egy kérdést (mivel c++ban van, de közbe rájöttem, hogy ide illett volna), miszerint aabb polygonba vágásához és válaszhoz kéne anyag. Na a poly vágás részét kitaláltam, megcsináltam, a max táv is megvan, de még kéne az is, hogy ezt hogyan reagálja le az aabb objektum. Rövidnek hangzik, csakhogy még a síkon is el kell csúsztatni, ha már rajta van, különben odatapad a gravitáció miatt és ennyi a mozgásnak.
Tehát még mindig kéne a válasz reakció hozzá, ha valaki tud anyagot vagy tudja milyen néven keressem meg...
u.i.: példa program: https://www.dropbox.com/s/ma2mlglkdrv5olg/cut.zip?dl=0
nyilak mozgatja az irányt, f4 kilép.
Ezt a hozzászólást ddbwo módosította (2016.12.03 15:14 GMT+1 óra, 812 nap)
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
|
|
|
Ez, és minden hasonló matematikai megoldás túl szabályos határokhoz vezet.
Szerintem turidoo tippje állhat a legközelebb a valósághoz. Főleg, hogy végülis ez is valami hasonló lehet.
Egyébként elég durva rendszerük van ahogy nézem  Ha lesz időm, csekkolom az editorukat, hátha akkor okosabb leszek vmivel.
|
|
|
Nekem is az a tippem, mint syam-nak:
Kód: float3 dir = normalize(characterPos - surfacePos);
float3 norm = gbufferNormal; // szerintem ez a lényeg: deferred renderer
float alpha = saturate(dot(dir, norm));
Az alpha lehet akár alpha test is.
|
|
|
Eléggé hasonlónak tűnik, de a megoldás, amit használ, egyáltalán nem tűnik effektívnek. Esetemben annyira nem is indokolt, mert nekem nem kell megjegyezni az egész világra az értéket.
Mindenesetre én egyelőre jegeltem (  ) a problémát, majd visszatérek rá, ha hirtelen megvilágosodom (vagy hirtelen muszáj lesz :/ ).
|
|
|
|
Próbálkoztam a normálokkal, önmagukban nem vezettek eredményre.
Lévén hogy nekem több target-em is lehet (divinitybe csak a kamera és a kijelölt hős között van az effekt), egyik megvalósítási próbálkozásom, hogy az adott karakterek elé/felé renderelek egy horizontálisan mindig kamera felé forduló eltorzított ellipszoidot egy maszk textúrába a depth adatokkal. Utána mindent, ami a mentett depth és a kamera közé esne, azt dobom.
Itt ugye probléma volt a túl szabályos szél - egyszerűen ocsmányul néz ki.
Utána első lépésben elfelejtettem, hogy több targetem is lehet, és próbáltam jobban a divinity szerűséget reprodukálni. Szerintem az alapja az egésznek a view pozíció és a target-et összekötő egyenestől való távolság - de ezzel megint az a baj, hogy túl sima a szél.
Majdnem biztos vagyok benne mostmár én is, hogy valami textúra van a dologban, de akkor sem tiszta, hogy hogy.
"model uv-ját használva rá van nyomva egy textúra" - ez megmagyarázná, hogy miért változik a mintázat, ahogy megyek egy konkrét objektum mentén anélkül, hogy a kamera vagy a karakter vagy a fal egymáshoz képesti helyzete nagyon változna.
Még nem teljesen tiszta, hogy hogy befolyásolja a clip-elést a textúra (sztem egy bizonyos radiuson belül pl. mindenképp clipelés van), meg hogy milyen textúrát érdemes használni, de vmi ilyesmivel fogok próbálkozni, köszi a segítséget
|
|
|
Legújabb project:
Szókirakó 3
Legutóbb frissített project:
Szókirakó 3
Friss kép a galériából:
|