blender3d.cz
http://blender3d.cz/forum/

motion trecking - interaktivni prostredi
http://blender3d.cz/forum/viewtopic.php?f=10&t=953
Stránka 11

Autor:  jm [ stř dub 20, 2005 10:24 am ]
Předmět příspěvku:  motion trecking - interaktivni prostredi

cau

tak si rikam ze by bylo fajn sem napsat projekt na kterem delam-e.
Zatim neni koncept naprosto "pure", ale tak zhruba popisu o co jde a budu updejtovat,
to aby lidi co chtej delat v BGE(blender game engine) meli nejakou referenci co vse se da...

koncept(prvni faze):
jde o vytvoreni interaktivniho prostredi(3D) ktere svoji dinamickou zmenou tvaru bude "definovat" moznost pohybu a pozice tela interagujiciho cloveka.
Cilem je vytvorit "novy" interface ke komunikaci clovek versus informacni technologie(pocitac).
Momentalnim trendem komunikace techto 2 bytosti(clovek, technologie) je prevazne vizuelniho chrakteru s haptickou podporou, kterou zastupuje obecne komunikace pouze rukou versus klavesnice, mys a jako posledni castecnou vicemene neplne vyuzitou zvukovou slozkou.
Stejne tak kolik nam technologie sdilena timto zpusobem dava, nadruhe strane ubira. Clovek je dlouholetym vyvojem prizpusoben prevazne k fyzickemu pohybu a k jeho smysluplnemu naplnenim nam slouzi mozek.
V posledni obdobi clovek cimdal vic pouziva(vice-mene) k dosazeni vsech potreb pouze mozek s malym nebo minimalnim zapojenim sve fyzicke casti bytosti. V tomto pripade jde o vytvoreni, o pokus se vytvorit prostredi jenz by donutilo cloveka vyuzivat "plne" moznosti jenz mu jeho telo jako celek nabizi.
Cilem je vytvorit alternativni rozhrani, ktere by v idealnim pripade mohlo byt jednim z dalsich zpusobu jak vyuzit potencialu cloveka.

Z technickeho hlediska jde o system motion trecking zalozena na infra citlivych kamerach + system resici trecking objektu v prostoru a druhou casti je interktivni prostredi propojene s motion treckingem datove a vizuelne a zvukove s uzivatelem.
Motion trecking je "hotove" (zarizeni se svyma vyhodama a nevyhodama) a intraktivni prostredi bude vytvoreno, alespon pro vyvoj bude pouzit modifikovany Blender Game Engine.

v teto fazi mam pocit ze jsme prozatim dosahli, rekl bych stabilni komunikace mezi Motion Treckingem a Blendrem(a to prevazne diky ASHovi)

prozatimni "tym":
jm (koncept, "programovani")
ASH {programovani)
a Andre Bernhard(vyvoj motion treckingu)

prvni obrazek z Blendru zobrazujici data z MT(motion trecking)

jm

Přílohy:
Poznámka: zatim tam sou videt akorat moje nohy. trecking jeste neni moc dobre serizenej protoze mame brutalne odrazivy vsechny steny v mistnosti, kdyby ste nekdo vedel o nejaky materialu v hodnym na podlahu kterej je nizko infra odrazivej , plss dejte vedet
mt_1.jpg
mt_1.jpg [ 37.7 KiB | Zobrazeno 6965 krát ]

Autor:  MiliKiller [ stř dub 20, 2005 11:17 am ]
Předmět příspěvku: 

Hodně zajímavej projekt.....Držim palce...

Když jsem si hrál s robotikou tak jako hodnÄ› málo odrazivej materiál je Ä

Autor:  Ash [ stř dub 20, 2005 11:32 am ]
Předmět příspěvku: 

Doplním technologickú časť popisu:

Základom je rozšírenie GameBlenderu o možnosť načítať mesh "zvonka"
a vytvorenie dll knižnice, ktorá tú mesh GameBlenderu poskytne (na základe načítania z Motion Trackingu).

V module GameLogic, trieda MeshObject som doplnil metódu loadMesh(msh) pre načítanie meshe dodanej "zvonka" - parameter msh je v pythonovskom objekte zabalená c-štruktúra, ktorá obsahuje kompletný popis meshe (vrcholy, fejsy, submeshe). Kompilované je to na verzii 2.36. Túto metódu je možné použiť na zmenu meshe ľubovoľného objektu zásahom zvonka. Keďže je to rozšírenie Blenderu, táto časť bude zrejme OpenSource.
Track.dll knižnica používa sieťovú komunikáciu na pripojenie sa na Motion Tracking a načítanie dát z neho. Následne tieto údaje transformuje na mesh vyhovujúcu pre GameBlender.
Horná vrstva komunikácie je urobená v Pythone, track.dll poskytuje metódy pre pripojenie sa na MT a získanie štruktúry meshe, ktorú prevezme funkcia loadMesh() a zobrazí ju v GameBlenderi.

Samotný skript v Pythone pre načítanie meshe je dosť jednoduchý:
Kód:
import track
obj = GameLogic.getCurrentController().getOwner()
if obj.init == 0:
  obj.init = 1
  # pripojenie na server MT - adresa a port
  track.open('localhost','50007')
newMesh = track.getMesh()
obj.getMesh().loadMesh(newMesh)


Momentálne funguje len zobrazenie objektov v reálnom čase, na fyzike (kolíziách so scénou) práve rozmýšľam.

Autor:  jm [ čtv kvě 12, 2005 8:19 pm ]
Předmět příspěvku: 

tak me dneska napadlo pri navsteve jirky, ze by sme pro kolizi mohli vytvorit ne mesh, lae interaktivni bounding box, kterej by mel tvar 3D obrysu momentalniho meshe....teda pekne me stve ze si takovy veci nejsem schopnej napsat sam.

timto bych chtel pozadat vsechny co by meli zajem na tomhle spolupracovat, necht se pripoji.
moje predstava je ze na to dostanem penize a prace by byla placena. ale na tom musim zamakat, tak to vypada a cim dal vic ze budu manazer veci...teda to mi naladu nezvedlo.

diky za pomoc jm

Autor:  Ash [ pát črc 08, 2005 10:59 am ]
Předmět příspěvku: 

Týmto príspevkom si len chcem ventilovať frustráciu z uplynulých týždňov strávených hrabaním sa v kóde fyzikálneho enginu GameBlendera. Súčasný stav mám taký, že mi tam ešte zostalo niekoľko únikov pamäti (pamäť žerie rýchlosťou okolo 5 MB/min) a je to strašne pomalé (kolízna obálka s niekoľko tisíc polygónmi sa generuje okolo 0.5 sekundy (na počítači s Athlon 1GHz) - nepoužiteľné pre plynulé zobrazovanie.

Vnútornosti GameBlender enginu sú dosť zahnité - kopy špagetového kódu, neobjektový dizajn, nulová správa pamäte. Plne podporujem iniciatívy, aby bol celý herný engine Blenderu prepísaný.

Typický príklad: pri alokovaní nových objektov vo fyzikálnom engine nie je nikde zabezpečené, že tieto objekty budú aj uvoľnené z pamäte. Pri jednorazovom nastavení na začiatku pri spustení hry je to v pohode, ale keď mám tieto objekty opakovane rušiť a vytvárať, tak spotreba pamäte ide do maxima za pár minút (a potom to spadne). Pri slušnom návrhu by sa každý objekt mal o svoju pridelenú pamäť postarať a uvoľniť ju pri svojom zániku.
Alebo druhý príklad: Herná scéna je vytvorená ako lokálny objekt v spúšťacej funkcii enginu a následne je jej smerník odovzdávaný cez parameter do všetkých volaných funkcií. To spôsobí stav, že keď sa chcem zvonka dostať k objektu scény, tak nemám šancu (bez toho, aby som si jej smerník niekde neodpamätal a potom ho použil).

Momentálne vidím ako možné riešenie vytvárať kolíznu obálku z podstatne zjednodušenej meshe (rádovo stovky polygónov), problém je v tom, ako takúto zjednodušenú mesh vyrobiť.

Autor:  jm [ pát črc 08, 2005 11:52 am ]
Předmět příspěvku: 

dik za stravenej cas, a usili.

tak si rikam jestli je to takovej opruz, jestli by nebylo lepsi se do toho pustit s jinym enginem. ?

taky sem premejslel pouzit misto naseho motion treckingu eyesweb.
http://www.infomus.dist.unige.it/eywindex.html
sice by se muselo resit jak skoordinovat informace-souradnice patricnych objektu, ale je to free a muzu si na tom makat kdekoli jinde a ne jen ve skole.
vyhoda eyes webu je v tom ze bych mohl obrzet souradnice napr. ruky a ne shluk nic nerikajicich voxlu. cimz by jsme mohli ovladat "panaka" kterej by mel celou dobu stejnej pocet casti.

momentalne sem schopnej prijimat data z eyeswebu kterej ma sam o sobe knihovnu na trecking postav ve 2D. muselo by se nejak sesinchronizovat vic kamer dohromady.

co navrhujes.?

nedavno sem zase projizdel enginy a porad mi jako nejlepsi varianta vychazi A6. sice netusim estli by byla na tohle dobra ale urcite je postavena lip a ma vyvoj. navic neni draha.
http://www.conitec.net/a4info.htm

podle me je hlavni problem v systemu jak je momentalni motion trecking navrzenej. :mad:

jm

Autor:  Ash [ pát črc 08, 2005 1:41 pm ]
Předmět příspěvku: 

Toto by som už dorazil, nech neskončím tesne pred cieľom. Dúfam, že to najhoršie je už za mňou.

Na obede som si premyslel prístup k redukcii meshe - v podstate by sa redukoval počet voxelov (napr. 1 voxel namiesto 2 v každej ose - teda 8x menej voxelov) a z toho by sa vyrobila mesh len pre kolíznu obálku. Tým by sa dosiahlo 8 násobné zrýchlenie generovania kolíznej obálky a po vychytaní únikov pamäte by to bolo použiteľné.

Autor:  Ash [ pát črc 22, 2005 3:19 pm ]
Předmět příspěvku: 

Urobil som malú ukážku trackingu v GameBlenderi aj videom s demonštrovanou fyzikou.

Reálny stav vývoja je vcelku uspokojivý, ešte to na pár miestach padá a zostalo neošetrených pár pamäťových únikov.

Autor:  jm [ pon črc 25, 2005 10:05 am ]
Předmět příspěvku: 

nemam permision na avi .. buuuuuuuuuuuuuu

jm

Autor:  Ash [ pon črc 25, 2005 11:27 am ]
Předmět příspěvku: 

Problém je vyriešený, avi sa už dá voľne sťahovať (síce cez ďalšiu stránku, ale čo už).

Autor:  jm [ stř črc 27, 2005 5:30 pm ]
Předmět příspěvku: 

parada :)
co takle bullet-engine. co skousej do blendru. ten ma kolize skveli. mozna by to melo nakonec lepsi vlastnosti. my sice nepotrebujem tak realnou kolizi jako maj v bullet ale treba....


jm

Autor:  jm [ čtv srp 11, 2005 9:33 pm ]
Předmět příspěvku: 

tak diky ASHovi sem dneska odskousel dalsi verzi.
sme okousek dal a zaroven se vzdaluju od vize pouzivat dal motion trecking ktery mame ve skole.

nicmene,
tady je video z pokusu
http://nmedia.avu.cz/~mucska/blender/mt.mov

samozrejme to je movicko, jak jinak s nasim vybavenim :) , neslo mi to nacapturovat tak sem to vzal kamerou z projekce.
vyvetleni:
cervene kulicky sou actory v blendru s kolizi.
modry objekt jsem blbe natrekovanej ja, jak se pohybuju prostorem a svoji identitou se snazim posunovat cervene koule ve virtualni scene :)

problem je v tom ze sem malem porodil nez sem z tohjo blbe serizenyho treckingu dostal vubec alespon zaznam nohou a to sem jeste mel u noho balon aby to ta potvora chytla. budu to muzet asi vratit do zakladniho nastaveni, ale to za pozdjc. stejne to bude stat zaprd.(chybi mi smajlik jak do neceho kope)

no nic.

na prikladu je videt:
ze ASh sikovne napsal prezentaci objektu ktery leze z treckingu a mesh dokaze kolidovat s aktivnima objektama v blender GameEnginu.
zaroven je videt ze tam zmyzej 2 koule, totiz engine v 2.36 do ktere sou zmeny naimplementovane je dost bugy a 2 kolize najednou sou pro neho moc.

teda je sileny co clovek musi vsechno mit aby udal takovou hovezinu :D

jm

Autor:  jm [ sob srp 13, 2005 7:44 pm ]
Předmět příspěvku: 

tak sem se pustil do uceni eyeswebu.
dneska sem do toho cumel celej den a teda nemaj ale vubec zadny manualy, ale fakt zadny. komunita je taky temer nulova.

nastesti sem mel file co sme pouzivali na houpacku a tak sem se k nemu nakonec vratil.
zatim sem "pochopil" jen par veci a tady je prozaimni vysledek.
ovladani osy X(zacatek :) )
http://nmedia.avu.cz/~mucska/blender/b_e.mov
popis. v levo je eyesweb, kde muzte videt jak separuje barvu z obrazu kterej snima kamerka na stole a dle pohybu objektu v obrazu si posiilam souradnice do blendru a predtim vsim muzete videt moji ruku jak ovlada cylinder jenz si hraje s kouli :)

teda houpacka je dalek v lepsim stavu nez tenhle pokus, ale tu vam ukazu nekdy jindy.

Autor:  jm [ sob srp 13, 2005 9:14 pm ]
Předmět příspěvku: 

heh tak mam X, Y souradnice :D.
na jeden komp to je trochu moc, vsechno to bezi asi tak na 25fps. ale pohodicka. akorat pri rychlejch pohybech to ma spozdeni, ale jde jen o to(podle me) vycistit frontu a zrychlit celkove pocitani. tak na to sem zvedavej.

jm

Autor:  jm [ úte srp 16, 2005 6:23 pm ]
Předmět příspěvku: 

tak tady je movie s prvnim nastavenim 3D treckingu.
postavene na
software:
blender + eyesweb
(s floexovou pomoci.)
hardware:
1 PC(vlastnosti v hlavicce prispevku)
2 webcamery
jo komunikacni protokol je OSC(open sound control) skrz UDP

jak je videt v urovni hlavy se mi osy nekrizi spravne to je tim ze sem bliz kamere a dochazi tam ke skresleni.
prezto to funguje ,zatim nic moc.
lespi by to bylo se 3 kamerama a jeste lepsi s vic, ale 3 sou maximum ktere hodlam pouzit.

malem byc zapomel. trekovana je hlava a ruce(zapesti), z videa pochopite vic.
http://leo.avu.cz/~mucska/blender/BE_xyz.mov
jm

Stránka 11 Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/