Kezdőlap
EQUINOX-3D: interjú Nagy Gáborral PDF Nyomtatás E-mail
Írta: Kisantal Tibor   
2006. március 12. vasárnap 16:49

EQUINOX-3D. Nagy Gábor szoftvermérnök, a program fejlesztője kis hazánkból indult, olyan híres cégek foglalkoztatták mint a SEGA, Alias|Wavefront és a Sony. Riportunkban munkáiról, a program fejlesztéséről, ingyenes és profi 3D alkalmazásokról és a repülésről kérdeztük.


 A honlapod bemutatkozó részében megtudjuk, hogy a Kandón végeztél, mint programozó-matematikus, aztán a Varga Stúdióban dolgoztál, s innen az önéletrajzban Tokyo, Toronto, USA...  Hogyan jöttek ezek a lehetőségek, olyan híres cégek mint a SEGA, Alias|Wavefront és a Sony?

Ez egy relative hosszú sztori:
A Kandón az egyik tanár akkoriban a Japán-Magyar baráti társaság elnöke volt, és összehozott egy munkalehetőséget Tokyo-ban, három Kandós és egy BME-s végzős számára, egy CSK-nevű cégnél. Nekem akkor még két év hátra volt a Kandóból, de egy gyerekkori barátomnak sikerült kimennie.
Ő késöbb átment a SEGA-hoz, és beletette a bogarat a főnökei fülébe, hogy a haverjára is szüksegük lenne, úgyhogy 1994 májusában kirepültem egy interjúra. Gondolom meg voltak elégedve azzal, amit láttak, mert augusztusra minden papírt elintéztek.
Később, egy amerikai barátom, akit a SEGA-nál ismertem meg, hasonlóképpen szerzett munkalehetőséget az Alias|Wavefront-nál.
Hasonlóképpen történt a jelenlegi Sony állásom is.

Melyik volt eddig a legizgalmasabb munkád? Milyennek látod belülről ezeket a cégeket?

A Sony messze a legjobb környezet (amint azt az itt eltöltött 7 év is mutatja), de természetesen mindenhol vannak érdekesebb és kevésbé érdekes munkák, jobb és rosszabb főnökök.
A barátom és én voltunk az első két mérnök ebben a kutátási-fejlesztési részlegben, amikor meg a PlayStation-2 nagy titok volt, és az első 5 évben szinte mindenben szabad kezet kaptunk.
Idővel persze megnőtt a csoport (ma kb. 80 ember), és manapság a dolgok jóval kötöttebbek.
A SEGA szintén érdekes volt, részben a kulturális különbségek, részben a munka miatt. Egy virtual reality játek prototípusát fejlesztettük, amit a Steven Spielberg is megnézett, mikor meglátogatott minket, még a Dreamworks alapítása előtt (a fia játszott a játékkal).

Úgy tűnik, egyedül fejleszted az EQUINOX-3D programot... Hobbi vagy több annál? A honlapon nagy szeretettel beszélsz róla.

Nagyrészt egyedül, de szívesen fogadnék plugin-fejlesztőket. Nehany ismerősöm írt plugin-okat, sőt van aki az EQUINOX-ot használja, mint fő fejlesztési platformot (pl. új renderelő prototípus fejesztéséhez).
Igen, hobbiként indult, még Magyarországon, de lassan kezdi kinőni magát. A letöltesi szerver-statisztikák, elég gyorsan növekszenek.

Hogyan kezdődött és mi volt a célod vele? Mennyiben hatottak rád azok a programok, környezetek, amivel dolgoztál? Melyikre hasonlít leginkább?

1992 körül elkezdtem játszadozni egy terrain-generátor írásával, főleg csak tanulási céllal. Akkoriban a Varga Stúdióban többféle 2D es 3D programot is használtam TV-reklám gyártáshoz, mint 3D animátor. Gyakran falakba ütköztem a programok hiányosságai miatt, és elkezdett bennem motoszkálni a gondolat, hogy "én ennél sokkal jobbat tudnék írni".
Szerintem minden szoftvermérnök érez így, csak nem mindig követi tett a gondolatot. Smile Úgyhogy hozzáadogattam a modeller alapjait, plugin infrastruktúrát és lassan-lassan át tudtam állni kizárólag az EQUINOX-3D használatára.

Szóval, természetesen hatottak rám a programok, amiket éppen használtam, de inkább az volt jellemző, hogy valamit nem bírtam elviselni bennük, és ez motivált arra, hogy máshogy/jobban oldjam meg a problémát.
Mivel animátor es "hobby 3D művész"-kent is dolgozom, keményen használom az EQUINOX-3D-t, ez egy relatíve ritka perspektívát ad a program fejlesztéséhez.
Szerintem, ez az egyik alapvető dolog, ami megkülönbözteti a többi, hasonló programtól.

Természetesen, még nincs annyi funkciója, mint a Mayá-nak, vagy az XSI-nak, de gyorsabban fejlődik (azokat több száz programozó fejleszti), most, hogy már az infrastrúktúra ki van építve, és egy fejlesztőkent nem kell időt töltenem a nagy céggel járó bürokráciával stb.
Amint valószínűleg olvastad, nemrég azt is megértem, hogy a Maya tőlem "lopott" ötletet.

 Ha itt tartunk, mi volt ez az ötlet, amit a Maya-ba beépítettek?

A kamera "fly-to". A legtöbb 3D programban rá lehet "frame-elni" kiválasztott objektumokra, vagy az egész scene-re, de az EQUINOX-3D-ben nem hirtelen ugrik oda a kamera, hanem szép folyamatosan "oda repül", először felgyorsulva, majd lelassítva.

Ezt kb. másfél-két évig mutogattam, amikor együtt dolgoztunk az Alias, Softimage stb. cégekkel, úgyhogy elég egyértelmű, hogy honnan vették az ötletet...  Smile
Ami érdekes, hogy az EQUINOX-ban egyesítve van a grafikus ablak-infrastrúktúra, úgyhogy pl. a kamera fly-to funkciók minden ablakban működnek (3D, schematics, animation stb.). A Maya-ban viszont csak a 3D ablakokban működik a fly-to (amennyire emlékszem ott minden ablak-típus külön kód volt, és gondolom nem volt idejük mindre megírni).

Rengeteg programocskát talál az ember az interneten mindenféle műfajban, amit egy-egy lelkes ember megír, aztán kisebb fejlesztői, felhasználói közösségek szerveződnek köréje. Aztán - mi ezt már kevésbé látjuk - a nagy trükkstúdiók saját fejlesztésű programokat írnak. Ott vannak még a méregdrága 3D-s kereskedelmi programcsomagok. Hogy látod a programod jövőjét, melyiknek örülnél: ha kialakulna az EQUINOX-os közösség, ha jól tudnád használni a munkádhoz vagy ha eladható lenne?


Először legszívesebben egy nagy EQUINOX-os közösséget látnék, főleg hobby 3D művészekkel, valamint iskolákban. Ez lassan-lassan kezd kialakulni.
Majd több programozót, és később termeszetesen szeretnék "betörni" a special-effect piacra is, ahogy a megfelelő szintet eléri a funkcionalitás.

 Ha nem titok, mire használod a munkádban az Equinoxot? Többféle érdekes projekt is fenn van a honlapon (Naprendszer, térképészeti vizualizáció), ezek is a munkádhoz tartoznak?

Azok a projektek pillanatnyilag hobbi célúak, de mások nagyban segítik a munkámat. Néhány projektünk soha nem lett volna készen, ha arra vártunk volna, hogy valamit a Maya-hoz, vagy a 3DS-Max-hez hozzáadjanak.
Gyakran megesett, hogy az Alias-nek 3-4 hétbe telt megírni egy funkciót, ami nekem 2-3 órába tellett az EQUINOX-ban.

A legjobb példa a népszerü fürdőszoba demo a sajtó-bemutatón, Los Angeles-ben:
http://www.gamespot.com/news/2005/05/16/news_6124681.html
A demo környezetét én készitettem az EQUINOX-al, és én írtam a demo-renderelő nagy részét. (igen, az az én fürdőszoba csempém, a törölköző textúra pedig egy régi kisházank-beli törölközőről van Wink.
Az EQUINOX-3D Cg shader támogatása nélkül ez a demo biztosan nem jött volna össze.
Érdekes, hogy egy-két kezdetleges probálkozástól eltekintve, a Maya-ban a mai napig nincsen hardver shader támogatás, főleg olyan szinten, mint az EQUINOX-ban:
Példaul a Cg plugin automatikusan generál komplex Cg shadereket. Más plugin-ek tudnak új shader-osztályokat regisztrálni (Blinn, Anisotropic stb.), és a Cg infrastruktúra minden shader-osztalyhoz több millió shader változatot tud generalni, attól függően, hogy hány textúravan a shaderen, van-e normal-map stb.
Természetesen az eredmény egyből látható a 3D modellen, majd egy gombnyomással le lehet menteni az egészet a video-játék konzolra, minden más program használata nélkül.
Megdöbbentő, hogy a legnagyobb videojátek-cégek is még nagyrészt kézzel irják a Cg/GLSL/HLSL shader-eket minden egyes variációját (Phong, egy texture stb.).

 Korábban beszéltünk a hasonlóságokról. Voltak-e olyan pontok a fejlesztés során, amikor gyökeresen más irányba indultál, mint az eddig megszokott vagy jól bevált módszerek?

Ami gyökeresen különbözik, az főleg az infrastruktúra.
A nagyobb 3D programoknak, bár van plugin interfésze, a program nagy monolitikus core-ra épül, és néhány év után nulláról kell kezdeni a feljesztést, mert a nagy része elavul, és lehetetlenné válik a fenntartása (pl. Alias Power Animator -> Maya; én éppen az Alias-nál dolgoztam amikor elkezték a Maya az első terveit a táblára rajzolni).
Az EQUINOX-3D, úgynevezett runtime-typing-ra (runtime-reflection-nek is nevezik) épül, és több, mint 90%-a plugin. Ez lehetővé teszi korlátlan számú funkció hozzáadását minimális függőséggel a core-tol. Ha esetleg valami elavul, csak egy plugin-t kell "kidobni".

Ez a flexibilitás nagyságrendekkel gyorsítja a fejlesztést és az elmúlt 14 évben egyszer sem kellett nulláról kezdenem.

A másik egyedülálló dolog, hogy az EQUINOX-3D az egyetlen 3D program, amiben 100%-osan integrált interaktív ray-tracer van. Bármelyik 3D ablakban futhat egy ray-tracer minden segédeszközzel (wireframe, kiválasztott polygon-ok, vertex-ek stb. mutatva).

A harmadik, talán az, hogy nem tervezem, a NURBS-felület támogatásának hozzáadását, és inkább subdivision-surface modellézesre koncentrálok, mivel a subdivision-surface-k teljesen elavulttá teszik a NURBS modellezést.
Ezt nehány kisebb program is bizonyítja (Wings-3D, MODO stb.), de tudtommal az EQUINOX-3D lesz az egyedüli komplett 3D csomag, ami erre épül.
Gyakran szoktam viccelni, hogy a Maya kódjának 80%-a a NURBS felületek hiányosságainak pótlását szolgálja, amit mind ki lehet dobni, most, hogy a subdivision-surface-ekkel ugyanazt "fájdalom nélkül" el lehet érni.

Persze sok apróbb "trükk" is van a programban, amitől kevesebb, mint egy másodperc alatt elindul, stb.

 Mennyi időt fordítasz a fejlesztésre? Milyen eszközökkel írod? Van-e benne segítséged?


Sok estét és hétvégét, főleg az esős hétvégéket. Smile
Nagyrészt objektum-orientált C99-ben és kisebb részben C++-ban (a C++ nem támogatja a runtime-reflection-t) van írva, egy saját editor-ral, amit még egy baratommal írtunk, és kisebb-nagyobb saját segédprogramokkal, mint peldául az EPaint (a 2D programom).

Mostanában nagy divat többféle platformra is kiadni ugyanazt a programot. Az EQUINOX viszont Unixon (Linux, Irix) elérhető. Mi a véleményed a Windows, Mac OS X oprendszerekről? Átírnád ezekre?

Igen a Mac OS X-n már relatíve régen működik, csak még szeretném "csiszolgatni" mielőtt kibocsátom.

Saját honlapunk látogatottságából arra következtetek, hogy ma Magyarországon sokan nagy érdeklődéssel fordulnak a 3D programok, különösen a Blender felé. Ismered-e ezeket az ingyenes alternatívákat (Blender, Wings, Anim8or, Open FX stb.), s ha igen, mi a véleményed róluk?

Igen ismerem, és a nagy részüket ki is próbáltam. Érdekesnek látszanak, és jó, hogy ilyen lelkesen fejlesztik őket.
A Blenderrel a fő probléma a felhasználói interfész. Próbálják "marketingelni", mint egy jobb megoldást, de az emberek többsége természetellenesnek találja (engem is beleértve, de én nyilván elfogult vagyok Smile ). Számtalan email-t kapok új EQUINOX-3D felhasználóktól, amiben az első mondat az, hogy: "Próbáltam a Blender-t használni, de nem boldogultam a interfésszel, úgyhogy nagy örömmel találtam meg az EQUINOX-3D-t, és egyből átálltam."
Ezen az elején meglepődtem, mert őszintén szólva, a Blender-ben pillanatnyilag több funkció van és többen fejlesztik.
A Wings-3D-nek elég jó a subdivision-surface támogatása és relatíve egyszerű a felhasználói interfésze, de sajnos egy ritka nyelvben van írva (Erlang), ugyhogy nem valószínű, hogy egy nagy fejlesztői közösség fog kialakulni köré.
Azért játszom a gondolattal, hogy felkérjem a fejlesztőit, hogy segítsenek be a subdivision-sufrace plugin-be.

 

Végezetül néhány nem szakmai kérdés: A honlapodról megtudjuk, hogy hobbid a repülés. Mióta repülsz és melyik a kedvenc géped?

1999-ben keztem repülőt vezetni, és 2003-ban helikoptert. Mostanában főleg Cessna 182-es repülőt, és Enstrom 280C helikoptert vezetek, de ha "nagy leszek", szeretnék valaminyen kis sugárhajtású gépet (pl. Eclipse 500), és gázturbinás helikoptereket vezetni.
 A eddigi kedvenceim, amit vezettem is, az a "Gazelle" gázturbinás helikopter és az L29 vadász-kikepző gép, de incselkedem az L39-el is...

Ha már erre terelted a szót, mint érdekesség:
Tizenéves koromban (még Magyarországon) sokat játszottam az "Interceptor" nevű szimulátorral (Amigán), ami ezen a környékén játszódott, persze mit sem sejtve, hogy egyszer igazi gépeket fogok vezetni az igazi San Francisco Bay felett.
Valahányszor San Francisco felett repülök, mindig eszembe jutnak az egyszínü (szürke) polygonok, és a a Golden Gate Bridge piros "wireframe"-je. Smile

Szoktál-e hazalátogatni, hol szeretnéd tölteni a következő évtizedeket és milyennek látod a magyarországi lehetőségeket?

Igen, 2005 szeptemberében otthon voltam 3 hétre.
Most már sok minden ide köt, mint például a páratlan magánrepülesi infrastruktúra de sosem lehet tudni... Smile

Üdvözlettel, Gábor   http://www.equinox3d.com

 

 

Utolsó frissités ( 2006. március 12. vasárnap 21:04 )
 
< Előző   Következő >
© 2008 GRAFit
Joomla! is Free Software released under the GNU/GPL License.