SNEWS
21 - BLENDER
Best
things in life are free. Akár ez is lehetne a jelmondata
az egészen professzionális és kemény
milliókba kerülõ programokkal is bátran
versenybe állítható Blendernek. Hogyan
is született ez a csöppség, és hogyan
jutott el hozzánk?
Egy
bizonyos NeoGeo névre hallgató holland animációs
stúdió, amely többek között
a Philipsnek is dolgozott eljutott arra a pontra, amikor
az addigi 3D programjait és eszközeit már
egyszerûbb volt a további toldozgatás-foltozgatás
helyett a nulláról újraírni.
Ez 1995-ben meg is kezdõdött, és így
született meg az a program amit ma Blender néven
ismerünk.
A
programot NaN (Not a Number) néven egy újonnan
alapított cégben fejlesztették és
népszerûsítették tovább.
A céljuk egy minél több platformon futó,
és nem utolsósorban ingyenes 3D program megalkotása
volt. A NaN természetesen nem levegõbõl
élt: a bevételeit a Blenderhez járó
pénzbe kerülõ szolgáltatások
hozták. A Blender elsõ bemutatója az
1999-es Siggraph-on hatalmas sikert hozott, és nagyszámú
érdeklõdõ kapta fel rá a fejét.
Eredményként
több mint 4.5 millió EUR folyt be a céghez,
aminek köszönhetõen a cég rögtön
50 fõssé nõtte ki magát, dolgozókkal
már Japánban és az Egyesült Államokban
is. 2000 végére a regisztrált Blender
felhasználók száma meghaladta a 250000
fõt.
Természetesen
nem lehet minden fenékig tejfel az ingyenes szoftver
világában sem: a NaN végül felélte
tartalékait és nem tudta fenntartani magát,
és lehúzta a redõnyt: megszakadt a
Blender fejlesztése is. A történetnek
pedig itt akár vége is lehetne.
Vagy
mégsem? A tulajdonos, Ton Roosendaal 2002 márciusában
a hatalmas felhasználói bázisra támaszkodva
létrehozta a non-profit Blender Foundation-t.
Ahhoz,
hogy a korábbi befektetõktõl a Blender
összes jogát megszerezhessék, és
Open Source Projectként újraindíthassák
nem kis összeget, 100000 EUR-t kellett volna az alapítványnak
összegyûjtenie. Mindenki meglepetésére
mindössze 7 hét alatt az összeg meglett,
és 2002 Október 13-án, egy vasárnapi
napon a Blendert a GNU General Public License szárnyai
alatt szárnyra bocsátották. A Blender
fejlesztése a mai napig folytatódik, rengeteg
vállalkozó programozó segítségével,
az eredeti alkotó irányítása
alatt.
Ennek
köszönhetõ, hogy a nem lebecsülendõ
képességekkel rendelkezõ Blender (amelyekrõl
késõbb még említést teszünk)
2005 augusztus 31-én (amely mondjuk nem vasárnapi
nap volt, de ez nem is érdekes) elsõ alfája
megjelenhetett nálunk is, Guillaume 'YomGui' Roguez
hosszú hónapokra rúgó áldozatos
munkájának köszönhetõen.
Dacára annak, hogy a verziószámban
alfa szerepel, ami arra utalna, hogy még nem befejezett
alkotásról van szó, meglepõen
stabil és használható: személy
szerint egészen mélyen és a nagyon
vadnak számító funkciók között
akadtam olyanra, amely nem úgy mûködik
még mint kellene.
|
Blender
MorphOS |
Hozzátartozik
a dologhoz, hogy sajnos/szerencsére volt már
szerencsém összefutni vele: egy kisebb játékfejlesztõi
projekthez kerestünk szoftvert éppen, és
mivel a pénztárcánk nem az amerikai
árszínvonalhoz méretezett, ezért
bár a legalitásra törekedtünk, az
igen durva sportkocsik árával vetekedõ
3D szoftverek, mint a Max, Maya, XSI nem jöhettek szóba:
így kötöttünk ki a Blendernél,
mint azt teszi még rengeteg ember, kis és
nagy cég is, nagyrészt ugyanebbõl a
megfontolásból: egészen addig, hogy
kisebb dolgokra még a Pókember 2 munkálatainál
is felhasználták.
Vegyük
sorra, mitõl is vadállat ez a program, szaladjunk
végig a "gyártó" által
kiemelt dolgokon (a megjegyzéseim természetesen
az én személyes véleményemet
fogják tükrözni, nem az övékét-Emeric):
Interface
|
Az
alap Interface |
-
Forradalmi
felhasználói interface (Valóban
forradalmi, épp csak a funkciók többsége
nem elérhetõ belõle: ha az egyszerû
dolgoknál többet szeretnénk, kénytelenek
vagyunk nagyrészt teljesen a billentyûzetre
támaszkodni - ez igazából nem feltétlenük
hátrány, viszont irtózatosmód
megnehezíti a tanulási folyamatot. A Blender
nagyon sokat tud, viszont piszok nehezen tanulható.
Mire azonban az utolsó szál hajunkat is
kitépjük, pont beletanulunk, és egy
igen durva eszköz használatának képessége
lesz a kezünkben.-Emeric)
- Flexibilis
és teljesen konfigurálható ablakok,
annyi ablakkiosztással amennyit akarunk
(Ez viszont tényleg így van. Ha valaki egy
ablakban szeret dolgozni megteheti, ha valaki a négy
nézethez szokott szintén beállíthatja:
olyanra kalapálhatjuk a Blendert ami nekünk
megszokott, vagy amilyet szeretünk.)
- Undo
mindenhol (Ez
magától értetõdõnek hangzik
ugyan, de mióta pár olyan tool-lal is dolgoztam
ahol ez _nem_ így van, megtanultam jobbanbecsülni
a dolgot-Emeric)
- Beépített
adatbázisrendszer instance használathoz, és
több projectfile dinamikus összelinkelésére
(Ez
ugyan megint nem egyedülálló, de igen
hasznosan tudja csökkenteni a projektek erõforrásigényét-Emeric)
- Anti-aliased
fontok (Hova
nem fejlõdik a technika ugye-Emeric)
- Külön
ablakok csaknem minden fontos funkciónak, mint az
animáció minden területe, UV-zás
és file kezelés
(Ez szintén egy nagyon hasznos dolog, bár
néhány közülük ismét
csak felhasználóbarátságtalannak
és nehezen tanulhatónak mondható-Emeric)
- Beépített
szövegszerkesztõ a Python scriptekhez
(A program szinte szimbiózisban él a Pythonnal,
futtatásához is kell, olyasminek lehet elképzelni
mint nálunk volt az Arexx-Emeric)
- Ugyanaz
az interface minden platformon
(Ez viszont valóban az egyik legfontosabb dolog:
a program teljesen saját GUI-t használ, ezért
ha mondjuk felállunk Linuxos Blender elõl,
a MorphOS vagy Windows Blenderben pixelre ugyanazt fogjuk
találni, és ugyanúgy folytathatjuk
a munkát.-Emeric)
|
Egy
másik platformon beállított Interface
ugyanúgy jelenik meg MorphOS alatt is |
Modellezés
- Számos
3D objektumtípus támogatása, úgy
mint poligonokból álló mesh-ek, NURBS
felületek, bezier és B-spline spline-ok, metaballs,
vektor fontok
(TrueType,
PostScript, OpenType)
(Azaz majdnem minden ma használatos modern megoldást
támogat. A splineok és a nurbs felületek
valamikor akkor jelentek meg, amikor az Amigás raytracerek
fejlesztése épp befejezõdött-Emeric)
- "Smooth
proxy" stílusú catmull-clark osztásos
felületek optimális iso-line megjelenítéssel
és sharpness állítással (Jólvan
mindent én sem tudhatok, viszont a kettõvel
mellettem ülõ grafikustól már
hallottam ilyen szavakat-Emeric)
- Mesh
modellezés vertex, edge és/vagy face kiválasztással
(Ez triviálisnak tûnhet, de nem az: én
órákat kerestem a dokumentációban,
hogyan lehet egy modellt vertexekbõl egyesével
megépíteni.-Emeric)
- Boolean
mesh funkciók
(Szintén alapkövetelmény, kivonhatunk,
hozzáadhatunk mesheket egymásból/egymáshoz-Emeric)
- Extrude,
bevel, cut, spin, screw, warp, subdivide, noise, smooth
soft selection szerkesztõfunkciók
(Szintén elvárhatóak akármelyik
programtól-Emeric)
- Python
scripting
(Szintén elvárás ma már, hogy
egy 3D programhoz scripteket lehessen írni, meggyorsítva
a munkát-Emeric)
|
Egy
vertexekbõl összerakott egyszerû modell |
Animáció
- Skeleton
deformációk forward/inverse kinematics segítségével,
auto skinning-el és interaktív 3D festés
(Ilyen az Amigás programok közül egyedül
a Tornado3D-ben volt, ha visszaemlékszünk-Emeric)
- Nemlineáris
mixer az animációkhoz, automatizált
járásismétléssel az utak mentén
(Azaz mi csak megmondjuk a kisbáránynak, hogy
hova menjen, és azt hogy a lábait hogyan rakosgassa
azt már a program fogja megoldani egyetlen lépésanimáció
alapján-Emeric)
- Constraint
system
(Amigás programokben nem is volt, ha jól emlékszem,
persze erre most nem esküszöm meg-Emeric)
- Vertex
kulcsolás Morph-oláshoz, sliderekkel szabályozhatóan
(Nem,
ez a funkció nem pillangókészítésre
szolgál, a vertexfázisok közti automatikus
átmenetek szabályozhatóak vele-Emeric)
- Pose
editor karakteranimációkhoz
(Na ilyenünk se volt még sosem szerintem, pedig
ma már elengedhetetlen-Emeric)
- Animálható
lattice deformációk
(Ilyeneket még a kettõvel arrébb ülõ
grafikustól sem hallottam-Emeric)
- "Ipo"
rendszer a motion curve és a hagyományos kulcsrendszer
összefogására
- Audiolejátszás,
a mozgások és a hang összeszinkronizálásához
(Ez nem egy bonyolult dolog, a munkát azonban iszonytatóan
meg tudja könnyíteni-Emeric)
- Python
script hozzáférés az animációs
effektekhez
Rendering
- Beépített,
nagysebességû raytracer (Mint tudjuk raytrace
esetében a gyors jelzõ mindig csak viszonylagos,
maradjunk annyiban hogy egyáltalán nem rossz
a sebessége-Emeric)
- Belsõ
támogatás a Yafray render engine-hez (Ez
bennünket ugyan nem érint, hiszen ennek még
nincs MorphOS vagy AmigaOS változata, mindenesetre
láttam már vele készült képeket,
pontosan három méternyire pattogott el az
állam a fényképektõl, amelyek
állítólag nem fényképek
voltak-Emeric)
- Oversampling,
motion blur, post effektek, fieldek, nem négyzet
alakú pixelek támogatása
(Megint semmi extra-Emeric)
- Environment
map, halo, lens flare, fog
(Még mindig semmi extra-Emeric)
- Lambert,
Phong, Oren-nazar, Blinn, Toon shading
(Csak én utálom a Toon shadingot vajon?-Emeric)
- Körvonal
a toon shadinghoz
(És még piszkálnak is miatta :)-Emeric)
- Procedural
textures (Éljenek
a generált textúrák-Emeric)
- Ambient
Occlusion
(Ez egy nagyon hasznos kis tool, ha az unalmas textúráinkat
a környezeti fényhatások általt
árnyalttá szeretnénk varázsolni-Emeric)
- Radiosity
solver
(Ahogy a játékok zárkóznak fel
a Ray Trace színvonalához, (Például
a játékokban a fent említett Ambient
Occlusion is kezd már teret hódítani)
egyre kevesebb dolog van, ami játékokból
megvalósítható, és kizárólag
a "lassú" Ray Tracerek monopóliuma:
a Radiosity számításigénye okán
egyelõre még ilyen dolog, viszont lélegzetelállító
megvilágítást kapunk általa.-Emeric)
- Renderman,
Povray, Virtualight támogatása
(Természetesen nem kötelezõ a Blender
beépített renderelõjét használnunk,
számos egyéb külsõ engine támogatott-Emeric)
- UV
texture editor, számos mesh kiterítési
móddal
(Ez fõleg a játékkészítõknek
érdekes, nagyban megkönnyíti a modellek
textúrázását-Emeric)
|
Egy
netrõl letöltött Blender scene lerenderelve |
Realtime
3D/game creation
- Grafikus
editor interktív viselkedések beállításához
programozás nélkül
(Van egy igen durva funkciója a Blendernek, mégpedig
a saját Game engine. Ha ez a rész is elkészül,
igen durva eszköz lesz a kezünkben saját
játékok gyártásához-Emeric)
- Ütközésvizsgálat
és fizika szimuláció
- Python
script API a vezérléshez, AI íráshoz,
és game logic megírásához
- Minden
OpenGL funkció támogatása, áttetszõség,
animált és tükrözõdõ
textúrákat is beleértve
- Fordítás
vagy elõfeldolgozás nélkül kipróbálható
játék
- SDL
alapú hang
- Scene-k
rétegként használata
Formátumok
- .blend
formátumú scene file-ok, amely támogat
tömörítést, digitális aláírást,
titkosítást, kompatibilitást a korábbi
és jövõbeni .blend fileokkal
- Írni
és olvasni képes TGA, JPG, PNG, Iris, SGI
Movie, IFF, AVI és Quicktime, GIF, TIFF, PSD, MOV
fileokat
- Natív
DXF exporter és importer, Inventor és VRML
támogatás, valamint Python scripteken keresztül
számos egyéb 3D formátum hozzáférhetõ
- Interaktív
3D tartalmat prezentáló programok vagy 3D
böngészõplugin-ek által megjeleníthetõ
tartalom készítési lehetõsége
(Nagy kérdés persze, vajon a mi böngészõink
mikor fognak VRML-t vagy bármi egyebet támogatni?-Emeric)
Támogatott
platformok
- Windows
98, ME, 2000, XP
- Mac
OS X
- Linux
(i386)
- Linux
(PPC)
- FreeBSD
5.3 (i386)
- SGI
Irix 6.5
- Sun
Solaris 2.8 (sparc)
És
most már a listához hozzávehetjük
a MorphOS, és várhatóan rövidesen
az AmigaOS platformokat is. A MorphOS verzió már
letölthetõ Yomgui oldaláról:
Blender
MorphOS port
Összefoglalásként:
említettem a programról, hogy kegyetlenül
nehezen tanulható. Ha azonban hozzávesszük,
hogy amikor mi is még csak ismerkedtünk a 3D-vel
Amigán mennyi idõ ment el azzal, mire megtanultuk
használni, vagy akár csak elsõ képünk
megszületett a korabeli Ray-Tracerekben, akkor végülis
rájövünk, hogy nem (sokkal) nehezebben kezelhetõ
más megoldásoknál, csak más mint
amihez hozzászoktunk. Így pedig talán
megbocsájtható az a néhány napos
vagy hetes élénk szókincsfejlesztõ
tréning, amíg kellõ gyakorlatra teszünk
szert benne. És bár én csak lowpoly objektumokat
gyártottam benne (félreértések
elkerülése végett ez messze nem a legegyszerûbb
dolog benne, hiszen a toolok többsége nem erre
szolgál, és amik nekem kellettek nyomokban sem
voltak a GUI-ban, mindent billentyûzetrõl kellett
intéznem-Emeric) azért nagyszerû dolgokat
csinálhatunk Blenderben. Igazából akár
olyanokat is, amelyekkel a legmodernebb, méregdrága
programok szokták reklámozni magukat. És
ne feledjük: a Blender igazi pozitív tulajdonsága,
azon felül, hogy nagytudású és rengeteg
év folyamatos fejlesztése fekszik benne: egy
fillérbe sem kerül.
Szerzõ:
Emeric SH |
|
|