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

Pretender:    2498
szeki:    2440
Seeting:    2306
Geri:    2189
Orphy:    1893
Joga:    1791
Bacce:    1783
MaNiAc:    1735
ddbwo:    1625
syam:    1491
Korábbi postok
> 1 < [2] [3] [4] [5] [6]
Geri - Törzstag | 2189 hsz       Online status #188076   2012.10.18 19:45 GMT+1 óra  
van valami külön matfile az objokhoz, ami tartalmazza a materialokat, hogy mihez milyen textúra tartozik, csak ezt semmi sem szokta támogatni, mert valljuk be, eléggé igénytelen megoldás

   
Seeting - Törzstag | 2306 hsz       Online status #188023   2012.10.17 01:02 GMT+1 óra  
Idézet
ibax :
Hali!
Egy kérdés...
Hogyan lehet a legegyszerübben létrehozni egy mesh-t? Itt most arra gondolok, hogy szeretnék Maya-ban egy egyszerü (1-2 fal), épület-belsőrészt létrehozni.
Az irrlicht tutorialjai közt volt olyan, ahol egy .pk3 (asszem) file volt, amit betöltöttünk az irrlichtbe, és ez volt egy 3D-s környezet.
A maya-s része mondjuk hogy menne, de hogyan tovább?
Konvertálni? De mibe?
Mert ugye az irrlicht támogatja a .obj maya filekokat, de azokat csak geometriát tartalmaznak, textúrát stb-t nem...
pls help



Az obj támogat vertex, normál, és textúra koordinátákat is. Sztem ugyanúgy kell betölteni mint akármi mást irrlichtben, mivel az obj-t natívan támogatja.
   
akosnagy - Tag | 87 hsz       Online status #137143   2010.07.07 11:48 GMT+1 óra  
Hello mindenki!

Belefutottam egy problémába. Régebben is még az 1.4.2-es verzióval és most szintén a legújabbal 1.7.1-el is. Egyszerűen nem tudok ékezetes karaktereket írni a GUI-ra. Az 1.7.1-ben van egy eszköz, ami megcsinálja a karakter táblákat bmp-ben, és xml-ből veszi a karakterpozíciókat. Ezzel sem hajlandó ékezetes karaktert írni. A szöveg egy MySQL táblából jön. Minden stimmel, csak épp az ékezetes karakterek nem. Minden más szöveg megjelenik és jó.

Tud valaki segíteni? Hogy lehyet rávenni, hogy jó legyen?

Szerk. KIegészítés. Csak a teszt kedvéért összedobtam egy php kódot, ami ugyanazt a MySQL táblát olvassa. Hiba nélkűl. Megjelennek az ékezetes karik, tehát valószínüleg nem a tábla karakterkódolása a probléma.

   
konzolcowboy - Tag | 11 hsz       Online status #128219   2010.02.27 22:10 GMT+1 óra  
Idézet
Asylum :
Egyébként nem akarom elvenni a kedved, de ez a fajta megoldás (framek között eltelt idö) a lehetö legrosszabb Régebben énis ezt használtam, aztán csak néztem, hogy hirtelen fps váltásokra mért ugrál összevissza.

Aztán megtaláltam ezt:

http://gafferongames.com/game-physics/fix-your-timestep/



Köszönöm a tanácsot.
Minden tanácsot szívesen veszek, mert a játékprogramozás területén még kezdő vagyok. Az általad linkelt módszert már én is tanulmányoztam korábban. Már el is kezdtem egy class-t tervezni fejben, ami implementálja a megoldást.

   
Asylum - Törzstag | 5455 hsz       Online status #128218   2010.02.27 21:58 GMT+1 óra  
Egyébként nem akarom elvenni a kedved, de ez a fajta megoldás (framek között eltelt idö) a lehetö legrosszabb Régebben énis ezt használtam, aztán csak néztem, hogy hirtelen fps váltásokra mért ugrál összevissza.

Aztán megtaláltam ezt:

http://gafferongames.com/game-physics/fix-your-timestep/
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
konzolcowboy - Tag | 11 hsz       Online status #128216   2010.02.27 21:50 GMT+1 óra  
Idézet
Asylum :
Kód:
pos = pos + speed * elteltidöazelözöframeóta();


Nyilván a speedet kell ugy rögziteni, hogy 5000 fps-re is jó legyen.
Amit irtam pedig jó, csak nálad olyan baromi kicsi a sebesség, hogy hiába növeled a pos-t, csak percenként ugrik egy pixelt.



Igazad van tényleg működik. A poén az egészben, hogy eddig is jól csináltam. A hibát egy egyszerű elgépelés okozta. Immár sokadszorra esem egy alapvető gépelési hibába, a += operátor helyett = operátort írtam . Emiatt azt hittem, hogy a konverzió cseszik ki velem, és összevissza javítottam a kódot, pedig az első változatom volt jó. Hiába, a Ctrl+C, Ctrl+V ellenség is lehet.


   
Asylum - Törzstag | 5455 hsz       Online status #128212   2010.02.27 20:52 GMT+1 óra  
Kód:
pos = pos + speed * elteltidöazelözöframeóta();


Nyilván a speedet kell ugy rögziteni, hogy 5000 fps-re is jó legyen.
Amit irtam pedig jó, csak nálad olyan baromi kicsi a sebesség, hogy hiába növeled a pos-t, csak percenként ugrik egy pixelt.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Matzi - Szerkesztő | 2521 hsz       Online status #128211   2010.02.27 20:37 GMT+1 óra  
Ha minden frameben hozzáadsz ennyit, előbb utóbb el fog mozdulni. Nyilván addig doubleként kell kezelni, kirajzoláskor csinálsz belőle integert.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
konzolcowboy - Tag | 11 hsz       Online status #128210   2010.02.27 20:29 GMT+1 óra  
Idézet
Joga :
nem, mert Asylum a kirajzolásnál cast-olta a koordinátákat, nem mozgatásnál

( de ha túl gyors, egy kis vsync segíthet )



Hiába van cast-olva kirajzolásnál.

Tegyük fel, hogy d értéke 0.016222387, a labda aktuális pozíciójának értéke 2.0;

Ha összeadom a kettőt, akkor az eredmény 2.016222387;

Ha ezt cast-oljuk, akkor ebből 2 lesz. Ez az érték csak akkor fog 2-től különbözni, ha az FPS szám drasztikusan lecsökken.

   
Joga - Törzstag | 1791 hsz       Online status #128208   2010.02.27 20:18 GMT+1 óra  
nem, mert Asylum a kirajzolásnál cast-olta a koordinátákat, nem mozgatásnál

( de ha túl gyors, egy kis vsync segíthet )
(ಠ ›ಠ) Stewie!

   
konzolcowboy - Tag | 11 hsz       Online status #128204   2010.02.27 19:51 GMT+1 óra  
Idézet
Asylum :
A logika..

Kód:
class Labda
{
    float x, y;
};


// ...

myLabda.x += d;

irrlichtrajzoldkilégyszives((int)myLabda.x, (int)myLabda.y);




Ez mind szép, és jó, de az eredmény ugyan az. Bukom a lényeget amit a frame-ek között eltelt idő reprezentál, így az eredmény fps-től függetlenül konstans lesz. Mintha nem is vettem volna figyelembe a frame-ek között eltelt időt.

   
Asylum - Törzstag | 5455 hsz       Online status #128203   2010.02.27 19:43 GMT+1 óra  
A logika..

Kód:
class Labda
{
    float x, y;
};


// ...

myLabda.x += d;

irrlichtrajzoldkilégyszives((int)myLabda.x, (int)myLabda.y);
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
konzolcowboy - Tag | 11 hsz       Online status #128202   2010.02.27 19:32 GMT+1 óra  
Sziasztok.

Az irrlicht motor segítségével írok egy egyszerű 2D-s falbontó játékot. A problémám a labda sebességgel van. Nagyobb FPS esetén gyorsabb a labda mozgása, ezért a mozgásba beiktattam a két frame között eltelt időt úgy, ahogy kell, de ez az idő nagyon kicsi, nullánál kisebb. Az irrlicht motor integer érték alapján rajzolja ki a textúrákat, ezért konvertálnom kell, ekkor viszont az érték nulla lesz, a labda meg sem mozdul.

Kód:
double d = (myLabda.VelocityX * myFrameElapsedTime);

myLabda.PosX += (int)(d); // Itt a bibi, mert d kisebb mint 0, így a pozícióhoz mindig nulla adódik hozzá.


A labda pozíciójának muszáj int típusnak lennie, mert a draw2DImage függvény integer alapú poziciót kér.

Van valakinek egy jó ötlete, hogyan lehetne ezt a problémát áthidalni?

Köszi előre is.

   
Dookle - Tag | 478 hsz       Online status #125109   2009.12.29 23:39 GMT+1 óra  
novarobot: Ha létezik egyszerű engine a világon,akkor az az irrlicht.Ráadásul annyira részletes dokumentációja van,hogy az már fájdalmas.Így mielőtt kérdezel ,győződj meg róla hogy nincs-e valami segítség a help-ben.Pl ezt 3 másodperc alatt találtam :

Kód:
SKeyMap keyMap[8];
                 keyMap[0].Action = EKA_MOVE_FORWARD;
                 keyMap[0].KeyCode = KEY_UP;
                 keyMap[1].Action = EKA_MOVE_FORWARD;
                 keyMap[1].KeyCode = KEY_KEY_W;

                 keyMap[2].Action = EKA_MOVE_BACKWARD;
                 keyMap[2].KeyCode = KEY_DOWN;
                 keyMap[3].Action = EKA_MOVE_BACKWARD;
                 keyMap[3].KeyCode = KEY_KEY_S;

                 keyMap[4].Action = EKA_STRAFE_LEFT;
                 keyMap[4].KeyCode = KEY_LEFT;
                 keyMap[5].Action = EKA_STRAFE_LEFT;
                 keyMap[5].KeyCode = KEY_KEY_A;

                 keyMap[6].Action = EKA_STRAFE_RIGHT;
                 keyMap[6].KeyCode = KEY_RIGHT;
                 keyMap[7].Action = EKA_STRAFE_RIGHT;
                 keyMap[7].KeyCode = KEY_KEY_D;

                camera = sceneManager->addCameraSceneNodeFPS(0, 100, 500, -1, keyMap, 8);


Az első kérdésedre a válasz :Igen meg lehet csinálni ,keressd a GetNodeid vagy GetNodeName-t a tutoriálokban rengeteg infót lehet róluk találni ( a Tutorial 7: Collision -ban egy nagyon egyszerű példával demonstrálják a használatát)
STEVIE RAY VAUGHAN FOREVER !!!!!

http://pinkcatgames.ucoz.com/
   
novarobot - Tag | 13 hsz       Online status #124851   2009.12.27 10:06 GMT+1 óra  
Sziasztok!

11 napja kezdtem el foglalkozni c++, delphi ről tértem át.

Régebben delphi 7 ben írtam a glscene segítségével egy egyszerű 3d motort, most ezt kéne reprodukálni c++ -al. Nekem az Irrlicht Engine ajánlották, és pár egyszerű alap dolgot sikerült is megvalósítani benne, de sajnos pár dologban elakadtam.

1.Minden 3d objektumhoz szeretnék onclik eseményt (jobb és bal klikket külön). Pl az jó lenne ha egy saját magam által írt függvényt minden kattintáskor meghívna azzal az objektum nevével amelyre kattintottam.

2. Nem tudom beállítani hogy a hagyományos fps kamera ne a nyilak +egérrel mozogjon, nekem a következő nem szabványos irányításra lenne szükségem:
W=előre, S=hátra, C=balra oldalaz, V=jobbra oldalaz, A=balra fordul, D=jobbra fordul, Q=lefele fordul, E=felfele fordul, És a nyilakkal is lehessen fordulni. Az egértől teljesen független legyen, az egérrel szabadon tudjak kattogtatni az objektumokra!

Eben a két problémában szeretném a segítségeteket kérni, január végére kéne leadni a programot, viszont még meg is kéne írni és nem tovább haladni.

Novarobot.

   
tigger - Tag | 4 hsz       Online status #117263   2009.09.11 09:41 GMT+1 óra  
Sziasztok!
Végső elkeseredésemben írok. A helyzet az hogy Irrlichtet használok, a képernyőkön nincsenek 3d dolgok csak 2Ds GUI elemek. Ezek nem a gyári GUI elemek, hanem a egyededi képernyőkezelő rendszert írtam. A GUI elemek a beépített IGUIFont* és ITexture* ot használják és render ciklusban a következő módon kerülnek meghívásra:

Font->draw( currentLine.c_str(), ClippingRect, renderColor );

illetve

IRRVideoDriver->draw2DImage( Texture, Position, ClippingRect, 0, Color, true );
vagy
IRRVideoDriver->draw2DImage( Texture, destRec, ClippingRect, 0, 0, true );
(attól függően hogy az adott textúrát 1:1-ben vagy destRect kívánom átméretezve renderelni.

Egy gyors gépen minden szép és jó. A problémám az hogy egy lassabb gépen (gyengébb a videokártya is, és fullscreenen megy 1680x1050-ben, de azért OpenGL-t tud), olyan fura viselkedést tapasztalok hogy ha egyszer kirenderelek egymás után (egymás fölé) több textúrát is egy ciklusban (mondjuk teljes képernyős png-k), akkor belassul a rendszer - amit még akár meg is értenék.
Viszont ha eltüntetem ezt a "bonyolult" kombót a képernyőről (a renderciklusban nem renderelem tovább) innentől lassú marad a rendszer, még ha utána már csak egyetlen texturát renderelek akkor is, az FPS leesett és csak minimálisan tér magához (olyan képernyőn ahol eddig minden rendben volt és 2x annyi volt az FPS)

Ja és mindezt fordítottam Win és Linux környezetben is, és a célplatform ahol a release verzió fut az egy Linuxos rendszer.Több konfigurációban (más videovezérlő, másik pc) is kipróbáltam, a helyzet ugyanaz. A Windowsos release-t wine-al (linux alatt ugye) is kipróbáltam ott is előjön...

(ha pl megváltoztatok apróságokat, pl egy IGUIFont* ot mondjuk másik méretű fonttal inicializálok akkor a probléma látszólag megoldódhat, de akkor majd egy másik screenen lassul be - és ragad lenn az FPS)

A lényeg:
Néztem a CPU használatot is. Ha "bonyolult" helyzet adódik (és leesik az FPS), akkor felugrik a CPU használat (egy gyenge gépen, gondolom a vidovezérlő nem birkózik meg a feladattal és a proci végzi el a feladatot), de helyzet elmultával a CPU használat normalizálódik azonban az FPS-t már nem kapom vissza.

A kérdés az hogy mit "vehetek el" a rendszertől ami utána sebességvesztéssel büntet?
előre is köszönöm az ötleteket!
   
H.István - Törzstag | 304 hsz       Online status #117254   2009.09.11 03:28 GMT+1 óra  
Idézet
tyler :
Az igazi mazochizmus az Ogre-t buildelni linux alatt.



Amikor először próbáltam meg az Ogre-t beüzemelni az oldalukról leszedett cuccból, az tényleg egy rémálom főleg amikor a függőségeket is külön kell leforditani mert nicsenek leforditva. Elmentem addig, hogy a függőség függőségének a függőségét forditottam és akkor már elegem lett. Szerencsére a launchpad on találtam egy leforditott Ogre-t és úgy már könnyebb volt az élet.
Ez a fő baj az Irrlicht-el is és még sok open-source motyóval, hogy elég sokat kell szenvedned mire sikerül beüzemelni az egészet.
   
MaximumViolence - Törzstag | 1020 hsz       Online status #117246   2009.09.10 14:23 GMT+1 óra  
Idézet
tyler :
Az igazi mazochizmus az Ogre-t buildelni linux alatt.



nekem ubuntun egyszerubben,gyorsabban ment,mint visual c++-al windows alatt
Ez egy reszeg post...

   
bit.0x8000 - Törzstag | 574 hsz       Online status #117163   2009.09.08 15:22 GMT+1 óra  
Idézet
Asylum :
Linux alatt nincsen exe.



De van, csak elé kell írni, hogy: "apt-get install wine && wine".

szerk.: XD

Ezt a hozzászólást bit.0x8000 módosította (2009.09.09 06:56 GMT+1 óra, ---)
   
Asylum - Törzstag | 5455 hsz       Online status #117106   2009.09.07 05:45 GMT+1 óra  
Pure linux alatt nincsen exe. Az .so a .dll megfelelöje linux alatt. A .lib megfelelöje pedig a .a, ezeket nem -l kapcsolóval kell linkelni, egyszerüen csak hozzá kell irni pl. gcc main.cpp akarmi.a

szerk.: haha

Ezt a hozzászólást Asylum módosította (2009.09.08 21:12 GMT+1 óra, ---)
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
tyler - Tag | 47 hsz       Online status #117101   2009.09.06 23:52 GMT+1 óra  
Úgy emlékszek, hogy amikor a beépített GCC verzió >= volt, mint, amivel az irrlicht-et fordították, csak annyi volt a teendő, hogy azt a .so akármicsodát kellett linkelni és azt beleforgatta az "exe"-be. Még a linkernél kellett pár dolgot beállítani, de úgy emlékszek ennyi volt az egész. A KDevelop nevű eszközt használtam és semmilyen csomagkezelővel se küzdöttem.

Kód:
-lGL
-lGLU
-lX11
-lXext
-lXxf86vm
-lIrrlicht


Az igazi mazochizmus az Ogre-t buildelni linux alatt.

   
bit.0x8000 - Törzstag | 574 hsz       Online status #117098   2009.09.06 16:19 GMT+1 óra  
Igazából se a codeblocks-ot, se az irrlicht-et nem ismerem, így elég nehéz konkrétumokat írni.
(Én anno a devkitpro+libnds-sel szívtam hasonlóan.)

Itt rajt' van az i386-os verzió is:
https://launchpad.net/~kai-mast/+archive/ppa/+sourcepub/659534/+listing-archive-extra
   
Elf - Törzstag | 932 hsz       Online status #117095   2009.09.06 15:38 GMT+1 óra  
Idézet
bit.0x8000 :
Nekem csont nélkül felment, erről a link-ről telepítve:
https://launchpad.net/~kai-mast/+archive/ppa/+build/1094353


Mindjárt kipróbálom. Viszont utána mi a következő lépés? Ez feltelepül akárhova, utána mit kell beállítani, hogy a helloworld example-t le tudjam fordítani pl. a codeblocks-al (vagy bármi mással)?
(a végső cél nem az, hogy egy irrlicht-es csomag feltelepüljön, hanem az, hogy lehessen linuxon játékot fejleszteni)

Szerk.: kipróbáltam, de nálam csak a sima i386-os jöhet számításba, újra letöltöttem, és ugyanaz a hiba a telepítésekor mint amit már lentebb beraktam (hibás fájl leíró). Asse tudom ez mit jelent.

Ezt a hozzászólást Elf módosította (2009.09.06 15:45 GMT+1 óra, ---)
I, Robot
1. A robotnak nem szabad kárt okoznia emberi lényben.
2. A robot engedelmeskedni tartozik az emberi lények utasításainak.
3. A robot tartozik saját védelméről gondoskodni.
   
bit.0x8000 - Törzstag | 574 hsz       Online status #117094   2009.09.06 14:28 GMT+1 óra  
Nekem csont nélkül felment, erről a link-ről telepítve:
https://launchpad.net/~kai-mast/+archive/ppa/+build/1094353

A fordításhoz szükséged lesz a "-dev"-es csomagra is...
(Az "undefined reference ..." lehet emiatt van.)

Ezt a hozzászólást bit.0x8000 módosította (2009.09.06 14:41 GMT+1 óra, ---)
   
tyler - Tag | 47 hsz       Online status #117093   2009.09.06 13:31 GMT+1 óra  
A GCC fordító se mindegy mi a beépített fordító verziója. Annak a lecserélése nem triviális dolog, szóval inkább a live CD.

   
Joga - Törzstag | 1791 hsz       Online status #117092   2009.09.06 13:25 GMT+1 óra  
A telepített fájlok alatt fel lesz sorolva, hova telepítette a headereket/libeket.
Szerk.: Nem szóltam, bocs
(ಠ ›ಠ) Stewie!

   
tyler - Tag | 47 hsz       Online status #117091   2009.09.06 13:22 GMT+1 óra  
Nekem knoppix linux live CD-vel is tökéletesen működött az irrlicht a beépített C++ fejlesztői eszközzel. Azzal a csomagkezelővel nem tudom mit csinálsz, de úgy emlékszem semmit se kellett telepíteni hozzá. (mondjuk live CD-re nehéz is lett volna. ) Viszont a telepített UHU linuxon abszolút nem ment a fordító miatt. Érdekes ez a linux.

Szerintem rögtön ne a játékot, hanem csak egy frissen letöltött irrlicht SDK-t ban nézd meg a példaprogramokat. Azoknak mennie kéne.

   
Elf - Törzstag | 932 hsz       Online status #117089   2009.09.06 13:09 GMT+1 óra  
Csak nem hagyott nyugodni a dolog, de még mindig nem jutottam semmire. Ez már a lassan a kész röhej kategóriába tartozik. Igazából a neten sem találtam semmit ami használható lenne. Az a pár "rakd fel ezt, rakd fel azt, that's all!" típusú leírás semmit nem segít, mert hiába rakom amit kell, mégsem műxik a dolog.
Megpróbáltam a launchpad-os dolgot is, de azt meg nem lehet telepíteni. Ez amit letöltöttem:

és az eredmény:


A CodeBlocks-ban sem jutottam semmire. A beállításai:


A fordításkori hibaüzenet:


Az include könyvtár és tartalma:


Azt nem értem, hogy linux alatt nincs valami dll-szerű akármi amit a lefordított program könyvtárába kellene másolni (vagy egy shared folderbe), ahonnan el tudná érni a program az irrlicht-et? Az irrlicht honlapjáról letölthető legfrissebb verzióban én nem láttam ilyesmit, de lehet, hogy vakegér vagyok már megint.
Van valakinek tapasztalata irrlicht-linux páros használatában/telepítésében?
I, Robot
1. A robotnak nem szabad kárt okoznia emberi lényben.
2. A robot engedelmeskedni tartozik az emberi lények utasításainak.
3. A robot tartozik saját védelméről gondoskodni.
   
bit.0x8000 - Törzstag | 574 hsz       Online status #117054   2009.09.05 16:00 GMT+1 óra  
Idézet
Elf :
Meg aztán még azt is el tudom képzelni, hogy a linuxnak hála a csodaszuper kis játékom az én gépemen működik, másén meg nem mert valami szaros lib régebbi vagy újabb mint kellene a gépén.



Erre találták ki a csomagkezelőt, az kezeli a függőségeket. Persze, ha te írsz egy progit, akkor ahhoz a csomagot is neked illik megcsinálni, ahol tudnod kéne hogy mit és miért jelölsz meg függőségként.
Ha binárisból telepítesz (telepítik a progid), akkor "manuálisan" kell telepítened/megadnod a szükséges csomagokat.
Forráskódból fordításnál szintúgy, de itt még a "fejlesztői" csomagokra (általában "-dev" végződésűek) is szükséged lesz.

szerk.:
Ha új lib-eket telepítettél/másoltál, néha hasznos lehet egy "ldconfig" a terminálról...

Ezt a hozzászólást bit.0x8000 módosította (2009.09.05 16:19 GMT+1 óra, ---)
   
H.István - Törzstag | 304 hsz       Online status #117053   2009.09.05 15:53 GMT+1 óra  
A /usr/lib/ vagy /usr/share/ alatt van valami irrlichtes?
Azokat linkelted?
Csak tipp!

Vagy nézd meg ezt a linket, az oldal alján van valami leforditott irrlicht, meg lib-eket is láttam!
https://launchpad.net/~kai-mast/+archive/ppa

A launchpad.net egyébként elég nagy közösség akik különböző programokat forditanak le különböző ubuntu distrokra!
   
gaborlabor - Moderátor | 4449 hsz       Online status #117052   2009.09.05 15:43 GMT+1 óra  
Joga - Törzstag | 1791 hsz       Online status #117050   2009.09.05 15:21 GMT+1 óra  
Akkor viszont több tippem nincs, mert linux téren én sem vagyok túl tapasztalt
(ಠ ›ಠ) Stewie!

   
Elf - Törzstag | 932 hsz       Online status #117048   2009.09.05 15:17 GMT+1 óra  
Az irrlichtet ki sem lehet választani benne.
I, Robot
1. A robotnak nem szabad kárt okoznia emberi lényben.
2. A robot engedelmeskedni tartozik az emberi lények utasításainak.
3. A robot tartozik saját védelméről gondoskodni.
   
Joga - Törzstag | 1791 hsz       Online status #117047   2009.09.05 15:12 GMT+1 óra  
Akkor kapcsold be a Synaptic csomagkezelőt, és az majd telepíti magától a libeket
(ಠ ›ಠ) Stewie!

   
Elf - Törzstag | 932 hsz       Online status #117046   2009.09.05 15:09 GMT+1 óra  
Hát, szerintem feladom a dolgot. Minden elismerésem a linuxon programozó mazochistáknak, de ez egy kész elmebaj. Elvileg minden be van állítva, a leírások alapján minden hülye lib és függőség telepítve van (bár igazából nem is kellene az irrlichthez), Joga útmutatása alapján beállítottam a lib-ek és az include-ok útvonalát, mégsem megy még a hello world sem. Meg aztán még azt is el tudom képzelni, hogy a linuxnak hála a csodaszuper kis játékom az én gépemen működik, másén meg nem mert valami szaros lib régebbi vagy újabb mint kellene a gépén. Asszem marad a winfosos játékfejlesztés. (persze ha valami linuxos hozzáértő elmondaná hogy is van ez, az nagy segítség lenne)
I, Robot
1. A robotnak nem szabad kárt okoznia emberi lényben.
2. A robot engedelmeskedni tartozik az emberi lények utasításainak.
3. A robot tartozik saját védelméről gondoskodni.
   
Joga - Törzstag | 1791 hsz       Online status #117045   2009.09.05 14:33 GMT+1 óra  
hmm... A libeket rendesen linkelted?
( Vagy mivel irrlicht és Ubuntu említése esetén a multiplatform esete is fennáll, ezért a fordító által pl Windows-ban generált .o fájlokat törölni kell )
Szerk.: De szvsz linux alatt linuxon fordított libek és .o-k kellenek, de ebben annyira nem vagyok biztos
(ಠ ›ಠ) Stewie!

   
Elf - Törzstag | 932 hsz       Online status #117044   2009.09.05 14:31 GMT+1 óra  
Hozzáadtam és ugyanaz a hibaüzenet: "undefined reference to irr:.... blabla"
Ilyenkor mi van? (azon kívül, hogy hülye vagyok)
I, Robot
1. A robotnak nem szabad kárt okoznia emberi lényben.
2. A robot engedelmeskedni tartozik az emberi lények utasításainak.
3. A robot tartozik saját védelméről gondoskodni.
   
Joga - Törzstag | 1791 hsz       Online status #117043   2009.09.05 14:21 GMT+1 óra  
Settings -> Compiler and Debugger -> search directories -> compiler vagy linker -> add
És itt hozzáadod a libek, include-ok elérési útvonalát
(ಠ ›ಠ) Stewie!

   
Elf - Törzstag | 932 hsz       Online status #117042   2009.09.05 14:16 GMT+1 óra  
Megpróbáltam Ubuntura codeblocks-al használva beüzemelni az irrlichtet, de semmire sem jutottam. Azt értem, hogy nem kell(ene) újra fordítanom az irrlichtet, de akkor hogyan kell ezt használni codeblocksból? Ha új projectet kezdek, akkor ott ki lehet választani, hogy új irrlichtes project, de aztán azt kéri, hogy adjam meg, hova lett telepítve. Ez OK, de itt melyik könyvtárat kell megadni?
I, Robot
1. A robotnak nem szabad kárt okoznia emberi lényben.
2. A robot engedelmeskedni tartozik az emberi lények utasításainak.
3. A robot tartozik saját védelméről gondoskodni.
   
mates86 - Tag | 4 hsz       Online status #109282   2009.04.22 10:11 GMT+1 óra  
Köszi, ez a CollisionAnimator valóban működik, és ez az egész sokkal egyszerübb mint gondoltam
A kamera vezérlő átírásával még mindig nem boldogulok - lehet azért, mert nem foglalkoztam vele? - úgyhogy marad az egyszerübb - kevésbé elegáns - beillentyűzetkezelgetés.

THX mégegyszer a segítőkész hozzászólásokert )

   
Dookle - Tag | 478 hsz       Online status #109034   2009.04.18 14:59 GMT+1 óra  
Idézet
mates86 :
Hali

Egy kis segítségre lenne szükségem. Az FPS camerát szeretném úgy megoldani, hogy az a WASD billentyűkkel mozogjon. Arra rájöttem, hogy valami sKeyMap* -ra lesz szükség, de használnatára nem jöttem még rá.

A másik amiben a segítségetek kérem, az a lebegés megszüntetése. Tehát ne lebegjen a kamera, hanem csak a terrain -on mozogjon, ne lehessen repülni. A noVerticalMovement bekapcsolása önmagában nem müködik, mert ha a dombon felmegyek, azután tovább lebegek. Úgyhogy ha valakinek van erre jó ötlete, ne tartsa magában.



A lebegést purebasic irrlicht wrapper alatt így lehet megszűntetni :

*ret = IrrAddCollisionAnimator( *MapCollision, *CameraNode, 30.0,30.0,30.0, 0.0,-3.0,0.0, 0.0,50.0,0.0 )

Ahol a -3 érték az y tengelyre ható gravitációt reprezentálja,és mivel ez negatív így mindíg "esik lefelé" a játékos.Valójában hogy irrlicht alatt ez hogyan működik azt nemtudom de keress valami olyat hogy "CollisionAnimator" vagy "CollisionResponseAnimator" valami és azzal kisérletezz / tanulmányozd


Ja és még valami :

szerk:
Ezt olvasd el lehet hogy segít időközben ezt találtam
http://irrlicht.sourceforge.net/docu/example007.html

Ezt a hozzászólást Dookle módosította (2009.04.18 15:29 GMT+1 óra, ---)
STEVIE RAY VAUGHAN FOREVER !!!!!

http://pinkcatgames.ucoz.com/
   
misi - Törzstag | 971 hsz       Online status #109024   2009.04.18 11:55 GMT+1 óra  
A "lebegés" megszüntetése egyszerű:
a kamera y pozíciója legyen egyenlő a terrain magasságával (a kamera x,z pontjánál).
A többihez, meg egyszerűen egér pozícióját megnézed, a gombokat ellenőrzöd, és az alapján mozgatod a kamerát.
   
Asylum - Törzstag | 5455 hsz       Online status #109018   2009.04.18 07:04 GMT+1 óra  
ötletem van egy rakás de ahhoz programozni kell (tudni).
a többi ötletermhez googlezni kell tudni.
és van egy harmadik is amihez meg dokumentációt kell olvasni.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
mates86 - Tag | 4 hsz       Online status #109015   2009.04.18 04:41 GMT+1 óra  
Hali

Egy kis segítségre lenne szükségem. Az FPS camerát szeretném úgy megoldani, hogy az a WASD billentyűkkel mozogjon. Arra rájöttem, hogy valami sKeyMap* -ra lesz szükség, de használnatára nem jöttem még rá.

A másik amiben a segítségetek kérem, az a lebegés megszüntetése. Tehát ne lebegjen a kamera, hanem csak a terrain -on mozogjon, ne lehessen repülni. A noVerticalMovement bekapcsolása önmagában nem müködik, mert ha a dombon felmegyek, azután tovább lebegek. Úgyhogy ha valakinek van erre jó ötlete, ne tartsa magában.

   
keedav - Tag | 8 hsz       Online status #105187   2009.02.23 08:02 GMT+1 óra  
Kösz a javaslatokat mindekinek. Szerintem menni fog a lock() függvénnyel, de még nem próbáltam magát az adatterületet írni, majd valamikor ha lesz időm kipróbálom.

   
sirpalee - Tag | 1282 hsz       Online status #105165   2009.02.23 03:06 GMT+1 óra  
<off>
Kandur ez nem az a téma hogy mindenki használjon c#-ot...
<on>

keedav tudsz olyan trükköt játszani egy tökéletes körre, hogy kirajzolsz egy quadot, és írsz hozzá egy pixel shadert ami méegnézi hogy az adott részt ki-e kell rajzolni és ha nem akkor kill-ezed a shadert (vagyis nem rajzolsz pixelt).
raytraceisten és übermedic
   
Asylum - Törzstag | 5455 hsz       Online status #105153   2009.02.22 23:27 GMT+1 óra  
az ITexture-nak van olyan metódusa, hogy lock(), ezzel irhatod magát az adatterületet és nem kell image.
én hogy csinálnám: lenne egy db texturám amit mindig felülirok a következö "frame"-el a körböl.

Ezt a hozzászólást Asylum módosította (2009.02.22 23:41 GMT+1 óra, ---)
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Csizmás Kandur - Tag | 436 hsz       Online status #105151   2009.02.22 22:56 GMT+1 óra  
Idézet
keedav :
Mit tegyek ahhoz, hogy folyamatosan változzon a körcikk, de ne emésszen nagy memóriát?


Használ az Irrlicht.NET-et és nem lesznek ilyen gondjaid.
dynamic calc = GetCalculator();
var sum = calc.Add(10, 20);
   
keedav - Tag | 8 hsz       Online status #105144   2009.02.22 14:20 GMT+1 óra  
Üdv.
Elég nagy problémába ütköztem miközben használtam az irrlichtet C++ alatt, remélem valaki tud segíteni.
Az a helyzet, hogy olyan HUD elemet kezdtem el csinálni, ami egy körcikket rajzol ki egy képből, megadott szöggel. Ezt úgy csináltam, hogy a betöltött képnek csak azokat a pixeleit rajzoltam át egy üres képbe, amik teljesítik az egyenlőtlenséget. Ezzel nincs is probléma. Viszont az van, hogy én csak ITexture* típust tudok kirajzoltatni a képernyőre, pixeleket meg IImage*-en lehet állítani, úgyhogy ideiglenesen létrehoztam egy ideiglenes ITexture* típust és a már manipulált képet abba másoltam és azt rajzoltam ki. Így kirajzolja a növekvő körcikket, futás közben viszont folyamatosan halmozódik fel a textúra a memóriában és ez nem jó. Viszont ha használom a textúratörlő parancsot, akkor meg nem akarja frissíteni az ideiglenes textúrámat az új kép szerint, így a körcikk a képernyőn nem növekszik.
Mit tegyek ahhoz, hogy folyamatosan változzon a körcikk, de ne emésszen nagy memóriát? Itt a függvény amit használok.
Kód:
void korrajzol(video::IVideoDriver* driver,video::IImage* source,video::IImage* image,float szog)
{
int i,j;
video::ITexture* target=NULL;
image->fill(video::SColor(255,255,0,255));
for (i=1;i<=200;i++)
{
for (j=1;j<=200;j++)
{
if (j>(tan(-rad(szog))*(i-100)+100)&&j<100)
{
image->setPixel(i,j,source->getPixel(i,j));
}
}
}
target=driver->addTexture("cur",image);
driver->draw2DImage(target,core::position2d<s32>(300,200),core::rect<s32>(0,0,200,200),
0,video::SColor(255,255,255,255),true);
//driver->removeAllTextures();
//driver->removeTexture(target);
cout<<driver->getTextureCount()<<endl;
//target->drop();
}

Előre is köszi.

   
misi - Törzstag | 971 hsz       Online status #104516   2009.02.14 06:55 GMT+1 óra  
Kösz. Olvasgattam a leírást, de marhára nem értem hogy mi a rákot akar. Lehet hogy én vagyok holt suta, de semmit nem akar nekem csinálni...
   
Korábbi postok
> 1 < [2] [3] [4] [5] [6]