3Dscena.cz: 3D grafika jako na dlani
GALERIE DISKUSE SOFTWARE HARDWARE SLUÄBY



3D Max
Blender
Cinema 4D
Lightwave
Maya
Rhino3D
Truespace



Amapi 3D
D∞nφ v 3D
Freeware utility
Kolekce 3D model∙
Konverze formßt∙
Animace
Sv∞tlo
Krajina
Ohe≥
Postavy
P°edm∞ty
Voda

Peeeefka
Galerie 3dscΘny:
Peeeefka
p°idal: Milan Svoboda
komentß°∙: 2
3Dscena \ Φlßnky


Tutorißl k plug-inu Fiber Generator

09.10.2002 Autor: Pavel ╚ernohous - Typ: Tutorißl

SouΦßst serißlu: 

Po₧adavky na spuÜt∞nφ a instalace Pythonu pro Windows 2000/XP

Jak jsem psal ji₧ minule, Fiber generßtor vy₧aduje:
Blender 2.23 nebo 2.25
modul Dynoise
nainstalovan² Python 2.1 a vyÜÜφ

Modul Dynoise si m∙₧ete stßhnout na adrese http://www.stormpages.com/eeshlo/VariousPython.html, nejnov∞jÜφ Python pak na www.python.org

U modulu Dynoise se jednß o soubory dynoise.dll a dynoise.so, Python musφ b²t nejen nainstalovßn, ale musφ b²t takΘ zavedeny cesty k jeho knihovnßm pro jinΘ programy, tedy i pro Blender. Jak toho docφlit v systΘmu Windows 98 jsem psali ji₧ v Φlßnku "Mßte problΘmy s Python skripty pro Blender?" a proto se zde zam∞°φm jen na instalaci pro Windows 2000 nebo XP.

Po sta₧enφ Pythonu z www.python.org spustφte instalaci z exe souboru. Na ploÜe klikn∞te prav²m myÜφtkem na ikonu Tento poΦφtaΦ a vyberte Vlastnosti.

V okn∞, kterΘ se objevφ, vyberte zßlo₧ku Up°esnit a ·pln∞ dole je tlaΦφtko Prom∞nnΘ prost°edφ

Tφmto tlaΦφtkem otev°ete dalÜφ okno v n∞m₧ nßs zajφmß zejmΘna dolnφ polovina oznaΦenß jako SystΘmovΘ prom∞nnΘ

V tΘto Φßsti okna klikn∞te na Novß, do pole Nßzev prom∞nnΘ napiÜte "PYTHONPATH" a do Hodnota prom∞nnΘ pak "C:\PYTHON22;C:\PYTHON22\DLLS;C:\PYTHON22\LIB;C:\PYTHON22\LIB\LIB-TK" za p°edpokladu, ₧e vaÜe verze Pythonu je 2.2 a je nainstalovßna v adresß°i c:/Python22.

Nakonec jeÜt∞ pro jistotu restartujte a pokud vßm n∞kterΘ Python skripty pro Blender nefungovali, je docela dob°e mo₧nΘ, ₧e nynφ ji₧ budou. Minimßln∞ Fiber generßtor by fungovat m∞l :-)

Ovlßdßnφ Fiber generßtoru

Spus¥e Blender a naΦt∞te si do n∞j soubor s Fiber generßtorem. V levΘ polovin∞ obrazovky se objevφ normßlnφ 3D okno s terΘnem, v pravΘ je pak okno s vlastnφm skriptem.

Oproti mnoh²m jin²m skript∙m Fiber neovlßdßme p°es u₧ivatelsk² interface, ale p°φmo vepisovßnφm hodnot do zdrojovΘho k≤du. V duchu zßsad pana KomenskΘho zaΦneme tφm jednoduÜÜφm a nejprve pou₧ijeme autorem vytvo°en² terΘn k zßkladnφ demonstraci prßce se skriptem. Vertex painting, kter² toti₧ budeme pot°ebovat k p°φprav∞ terΘnu pro generßtor, je kapitola v tomto serißlu jeÜt∞ neprobranß a vrßtφme se k nφ pozd∞ji.

Tedy prohlΘdn∞me si zdrojov² k≤d skriptu. Jako prvnφ uputß naÜi pozornost °ßdek

selection = 0 #0 = user, 1 = fur, 2 = lawn 3= tall grass

Zm∞nami hodoty za Selection p°epφnßme mezi u₧ivatelsk²m nastavenφm generovßnφ a t°emi autorem p°ednastaven²mi efekty.
Selection= 0 je pak tedy u₧ivatelskΘ nastavenφ,
Selection= 1 je srst
Selection= 2 vytvo°φ trßvnφk
Selection= 3 vysokß trßva.

O pßr °ßdk∙ v k≤du nφ₧ je blok s nadpisem " #CHANGE THESE VALUES FOR DIFFERENT RESULTS", kde jsou ji₧ vlastnφ parametry, kterΘ se pou₧ijφ v p°φpad∞ u₧ivatelskΘho nastavenφ (tedy selection=0).

density = /hustota stΘbel na Blenderovskou jednotku (Φtverec grid)
gravity = /mφra gravitace
segments = /kolik segment∙ bude mφt jedno stΘblo
length = /dΘlka jednoho segmentu
width = /Üφrka stΘbla
init = /zßkladnφ gravitace
rand = /mφra r∙znosti sm∞ru, kam sm∞°ujφ jednotlivß stΘbla
FollowNormals = .5/ procentußlnφ mφra v jakΘ stΘbla sledujφ sm∞r normßl; 100%, tedy hodnota 1 odpovφdß vlas∙m, 0 pak trßv∞.
pointed= /hodnota 1 odpovφdß ÜpiΦatΘmu zakonΦenφ stΘbla, 0 pak plochΘmu.

Pro Blender 2.25 je tu pak jeÜt∞ jeden parametr.
matName = "jmeno_materialu" / jmΘno materißlu, kter² bude automaticky p°i°azen generovan²m stΘbl∙m (verze 2.23 mß bug v Python Api a proto je tam nutnΘ p°i°azovat materißl manußln∞)

P°φprava terΘnu

Fiber generßtor umφ vytvß°et trßvu a dalÜφ efekty z jakΘhokoli objektu typu Mesh za p°edpokladu, ₧e obsahuje informace o barevnosti vertex∙, kterΘ skript pot°ebuje. TerΘn tedy p°ipravφme pomocφ funkce VertexPaint, o kterΘ jsem v tomto serißlu jeÜt∞ nepsal.

Vertex painting je p∙vodn∞ nßstroj z oblasti manipulace s materißly a mß s nimi tedy hodn∞ spoleΦnΘho. Nebudu se na tomto mφst∞ zab²vat teoriφ, je sice velmi zajφmavß, ale nenφ ·Φelem tohoto Φlßnku. Moc p∞kn² Φlßnek o VertexPaint vyÜel ji₧ p°ed n∞jak²m p°ed Φasem na www.gamasutra.com, tak₧e zßjemce tφmto odkazuji na tento server (doufßm, ₧e to nebude brßno jako skrytß reklama- jß s nimi FAKT nemßm nic spoleΦnΘho:-) )

Pro nßs je te∩ d∙le₧itß jen ·prava meshe pro Fiber generßtor. Vlo₧te tedy nap°. Grid s n∞jak²mi menÜφmi hodnotami (p∙vodnφ 32 vertex∙ na ka₧dou stranu je z hlediska nßroΦnosti budoucφ trßvy na pam∞¥ mo₧nß trochu moc) a p°epn∞te se do EditButtons.

Zde pro jistotu klepn∞te na tlaΦφtko Make vedle nßpisu VertCol, Φφm₧ zp°φstupnφte vertex paintig pro tento mesh. PφÜi "pro jistotu", proto₧e za normßlnφch okolnostφ je tato hodnota u novΘho meshe implicitn∞ nastavenß jako pozitivnφ.

Dßle si povÜim∞te ikonky Üt∞tce. Prßv∞ tou vstoupφte do Paint buttons, kde budeme pracovat.

Pro nßs nejd∙le₧it∞jÜφ jsou slidery pro nastavenφ barvy (R, G a B), krytφ (Opacity) a koneΦn∞ velikost Üt∞tce (Size). JednotlivΘ parametry jsou ji₧ podle nßzvu dostateΦn∞ v²mluvnΘ a prßci s nimi jist∞ ka₧d² zvlßdne. Po nastavenφ barvy, krytφ a velikosti Üt∞tce staΦφ aktivovat Üt∞tec klßvesou v a potΘ najet myÜφ na Mesh v 3D okn∞ a stφskem levΘho myÜφtka zaΦφt nanßÜet barvu.

Fiber Generator pracuje s barvami takto:

╚ervenß- gravitace
Zelenß- dΘlka stΘbel
Modrß- zatφm nevyu₧ita

Barvy je mo₧nΘ kombinovat, "absolutnφ" ₧lutß (R=1.0; G=1.0; B=0.0) tedy pak bude p°edstavovat 50% dΘlku stΘbla, kterΘ je p°itahovßno 50%-nφ gravitacφ.

Animovßnφ

Zde nßs Φekß trocha prßce s "linkovßnφm", tedy p°φ°azenφm skriptu ke konkrΘtnφmu objektu, v naÜem p°φpad∞ k mesh, ze kterΘho trßva roste.

VÜim∞te si ikonky potiÜt∞nΘho listu papφru, kterß nßm zp°φstupnφ Skript buttons. Vyselektujte mesh a ve Skript buttons nastavte FrameChanged a do prßzdnΘho pole vypiÜt∞ skript, kter² chcete aplikovat, tedy "Fiber" nebo "FiberWind" (pozor na velkß a malß pφsmena- v tomto je Blender case sensitiv). Rozdφl mezi ob∞ma skripty je v tom, ₧e FiberWind obsahuje i rutinu pro simulaci v∞tru.

FrameChange znamenß, ₧e se skript provede znovu pro ka₧d² frame animace a v ka₧dΘm framu tak trßva m∙₧e mφt r∙znou hustotu, dΘlku atd.

A co vφtr?

Na tuto krßsnou vlastnost Fiber generßtoru samoz°ejm∞ nemohu zapomenout:-) Pro simulaci v∞tru slou₧φ druh² skript dodßvan² v balφku s nßzvem FiberWind. Ve Script buttons tedy musφ b²t za FrameChanded nßzev "FiberWind" a ve scΘn∞ pak jeÜt∞ musφme vytvo°it Empty objekt s nßzvem "Wind" (tΘ₧ case sensitiv).

Pozice a velikost empty objektu oproti originßlnφ pozici (co₧ je st°ed sφt∞ vyznaΦen² pr∙seΦφkem zelenΘ a oran₧ovΘ Φßry) ovliv≥uje vlastnosti v∞tru a to nßsledovn∞:

X-ovß a Y-ovß sou°adnice urΦuje sm∞r v∞tru
Z-ovß sou°adnice sφlu v∞tru
Velikost podle X-ovΘ a y-ovΘ sou°adnice ovliv≥uje "Üum", nebo spφÜe vln∞nφ v pohybu v∞tru ve sm∞ru podle tΘ kterΘ sou°adnice

Velikost empty takΘ obecn∞ ovliv≥uje dosah v∞tru, kdy₧ tedy bude Empty p°φliÜ daleko od vygenerovan²ch stΘbel a nebude dostateΦn∞ velkΘ, nebude ani p°φliÜ znßt p∙sobenφ v∞tru.

Po nastavenφ empty objektu do po₧adovanΘ pozice a velikosti pak ji₧ jen spus¥te skript klßvesami Alt+p (myÜφ p°φtom musφte b²t na oknem se skriptem) a poΦkejte, a₧ se trßva vygeneruje. Pak znovu vyselektujte terΘn (po provedenφ skriptu se automaticky selekce p°esune na stΘbla) a s myÜφ v 3D okn∞ spus¥e animaci klßvesami Alt+a. M∞li byste vid∞t, jak se stΘbla pohybujφ ve v∞tru.

-Pavel ╚ernohous- (dalÜφ Φlßnky autora)

  aktußlnφ hodnocenφ: 1.53 (136 hlas∙)
 1 = v²born², 3 = dobr², 5 = Üpatn²
v²born² velmi dobr² dobr² podpr∙m∞rn² Üpatn²


TISKNOUT
ODESLAT NA E-MAIL
INFORMACE O AUTOROVI


© 2002 - 2003
Grafika Publishing - vÜechna prßva rezervovßna
Designed by deepcube.com