HTML

gondolataim elsősorban játékfejlesztésről

Elsősorban játékfejlesztés magyarul: az enginem fejlesztése során felmerülő problémák, ötletek, tévutak stb dokumentálása, amely számomra és talán mások számára is hasznos lehet később Másodsorban gondolatok szavakban...

Kapcsolat:
aalberik 'at' gmail 'dot' com

Haletető

Galéria

Címkék

Összes

Linkblog

Naptár

november 2024
Hét Ked Sze Csü Pén Szo Vas
<<  < Archív
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

éljen május 1 + a szerkesztőm

2009.05.02. 00:53 :: syam

A munka ünnepét sikeresen kihasználva ismét haladtam és remélem, hogy előre. Talán a leghangsúlyosabb dolog az, hogy a szerkesztőm nyelvét "openglesítettem" vagyis a szintaktika és a szemantika is nagyjából hasonló. Minden ami a szereplőkkel kapcsolatos opengl objecthez hasonlóan viselkedik azaz skGen-nel lehet létrehozni, skBind-dal aktualizálni és skParameter-rel beállítani a tulajdonságait. A különböző összetevőket skActorXXXX névvel lehet a szereplőhöz kapcsolni.

A függvények a klasszikus target, param, value argumentumokat használják:

  • az skGen egy targetet vár és valuet ad vissza
  • az skBind egy targetet és egy valuet vár(, amelyet értelemszerűen már korábban létrehoztunk)
  • az skParameter pedig egy targetet, egy paramot és egy vagy több valuet
  • az skActorXXXX függvények nem várnak argumentot, hanem az éppen aktuálisan bind-olt XXXX-t kapcsolja az éppen aktuálisan bind-olt szereplőhöz.

Jelenleg a target actor, shape és emitter lehet, de ezek még kiegészülnek a későbbiekben. A paramból már most nagyon sok van és jó pár target specifikus.

Valószínűleg a jeleneteket scriptként fogom tárolni és lehet érdemes konzolt írnom a szerkesztőhöz...

 

Másik jelentős változás, hogy a scenegraph most már majdnem teljeskörűen kezeli a szereplőket:

  • a body, shapek és emitterek kezelése majdnem kész (konvex shapek majd a modell betöltéssel együtt)
  • jelenleg még nincs modell betöltés
  • az aktív és inaktív szereplők+környezet kiválogatása és kölcsönhatás kezelése tökéletesnek tűnik
  • és ezzel együtt elkészült a közeli szereplők "ingyen" összegyüjtésének lehetősége is

 

Azt hiszem most jön a meshkezelés átalakítása.

 

Végezetül pedig az első "élesben" használt jelenet leíró script:

player0_a=skGen("actor");
player0_s0=skGen("shape");
sparkle0_a=skGen("actor");
sparkle0_s0=skGen("shape");
sparkle0_e0=skGen("emitter");

skBind("actor",player0_a);
skBind("shape",player0_s0);

skParameter("actor","name","PLAYER0");
skParameter("actor","AI_index","player");
skParameter("actor","position",0,0,1);
skParameter("actor","is_rotation_frozen",true,true,true);
skParameter("actor","half_extent",1,1,1);
skParameter("shape","type","sphere");
skParameter("shape","scale",1,1,1);
skParameter("shape","density",5);
skActorShape();

skBind("actor",sparkle0_a);
skBind("shape",sparkle0_s0);
skBind("emitter",sparkle0_e0);

skParameter("actor","name","EMITTER0");
skParameter("actor","AI_index","object");
skParameter("actor","position",2,2,1);
skParameter("actor","is_static",false);
skParameter("actor","half_extent",1,1,1);

skParameter("shape","type","sphere");
skParameter("shape","scale",.5,.5,.5);
skParameter("shape","density",1.5);

skParameter("emitter","scale",.1,.1,1);
skParameter("emitter","type","line");
skParameter("emitter","max_particles",100);
skParameter("emitter","lifetime",.5);
skParameter("emitter","emitting_rate",50);
skParameter("emitter","emitting_velocity",4);
skParameter("emitter","color",1,0,0);
skParameter("emitter","random_angle",3);

skActorShape();
skActorEmitter();

i_a=skGen("actor");
i_s=skGen("shape");

skBind("actor",i_a);
skBind("shape",i_s);
skParameter("actor","name","OBJECT0");
skParameter("actor","AI_index","object");
skParameter("actor","position",-4,-4,2);
skParameter("actor","velocity",1,0,0);
skParameter("actor","half_extent",2,2,2);

skParameter("shape","type","box");
skParameter("shape","scale",1.5,1.5,1.5);
skParameter("shape","density",5);
skActorShape();

--skImport("q3bsp","bsp/test1/test1.bsp");
skImport("q3bsp","bsp/borg/1.bsp");
skCompile();


 Lehet érdemes lenne a sztringek nagy részét konstansokkal helyettesítenem.

Szólj hozzá!

A bejegyzés trackback címe:

https://sakura7.blog.hu/api/trackback/id/tr361098157

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása