Vlado Stan∞k, vlado@vlado.cz
Tento Φlßnek lze voln∞ Üφ°it jen se svolenφm autora.
Obsah |
V dneÜnφ lekci se
pokusφme osv∞tlit problematiku sv∞tel, tak aby ji₧ nikdy v budoucnu nebylo toto marnΘ
zvolßnφ slyÜet z ·st p°φznivc∙ 3D Revue. Sv∞tlo je jednφm ze zßkladnφch kamen∙ ka₧dΘ scΘny. Kdo podce≥uje moc sprßvnΘho nasvφcenφ, m∙₧e jen t∞₧ko dosahovat dobr²ch a realistick²ch v²sledk∙. SebedokonalejÜφ model je velmi snadnΘ zniΦit ledabyl²m nasvφcenφm, anebo naopak p°φliÜ horliv²m a p°φliÜ efektnφm nasvφcenφm mnoha r∙znobarevn²mi sv∞tly. ScΘna se nakonec utopφ v zßplav∞ barevn²ch stφn∙.
|
Tedy jakΘ jsou mo₧nosti v trueSpace? |
Panel nabφzφ t°i zßkladnφ typy sv∞tel. Odshora jsou to rovnob∞₧nΘ p°φmΘ sv∞tlo (Infinite light), zßplavovΘ sv∞tlo (Local light) a bodovΘ sv∞tlo (Spotlight). Poznßmka: Mo₧nß nejsme v p°ekladu anglick²ch termφn∙ pedantn∞ p°esnφ, ale sna₧φme se vystihnout charakter sv∞tel. Ka₧dΘmu sv∞tlu se p°i°azujφ Φty°i zßkladnφ parametry (viz. panel Lights):
Krßtce se zastavme u poslednφ volby. ProΦ urΦujeme, zda sv∞tlo bude, nebo nebude vrhat stφn, kdy₧ ka₧dΘ sv∞tlo ve skuteΦnΘm sv∞t∞ stφn vrhß? To je pravda. Pokud modelujeme potemn∞lou scΘnu v interiΘru, nap°φklad temnou pracovnu, kde jedinΘ sv∞tlo vrhß lampiΦka a sv∞tlo z ulice, pak jist∞ aktivujeme stφny u ka₧dΘho sv∞tla. Na druhou stranu dennφ scΘny exteriΘru vy₧adujφ jin² p°φstup. Ve skuteΦnΘm sv∞t∞ nejsou objekty osvφceny jen z ·hlu, pod kter²m dopadajφ sluneΦnφ paprsky. Proto₧e n∞kterΘ paprsky se odrß₧ejφ do zcela jin²ch sm∞r∙, jejich rozptyl osv∞tluje i st∞ny budov, kterΘ jsou ve stφnu, tak₧e nejsou absolutn∞ tmavΘ. trueSpace takovou funkci zatφm neumφ. Proto musφme nasvφtit "p°φliÜ tmavΘ" st∞ny tak, jakoby je ovliv≥ovaly odra₧enΘ paprsky slunce. Tento efekt se samoz°ejm∞ vyu₧φvß i k dalÜφm zajφmav²m kreacφm.
|
Typy sv∞tel |
BodovΘ sv∞tlo
SPOTLIGHT ZaΦn∞me bodov²m sv∞tlem (Spotlight). Jeho pou₧itφ je nejjednoznaΦn∞jÜφ. BodovΘ sv∞tlo vytvß°ejφ ku₧elovit∞ se rozbφhajφcφ paprsky emitovanΘ sv∞teln²m zdrojem v jednom bodu. V praxi takovΘ sv∞tlo vydßvajφ reflektory, kapesnφ svφtilny nebo t°eba sv∞tla automobil∙. P°idßme
si jedno sv∞tlo do scΘny. trueSpace p°ipravφ ku₧el reprezentujφcφ bodovΘ sv∞tlo,
kter² je implicitn∞ namφ°en rovnob∞₧n∞ s osou Z tedy "do zem∞".
Reflektor namφ°φme rotacφ, jako ka₧d² jin² objekt. Z Φeho se sklßdß bodovΘ sv∞tlo? Podφvejme se na obrßzek. Zßkladnφm parametrem je bφl² ku₧el, kter² urΦuje rozptyl, pod kter²m budou paprsky ze zdroje emitovßny. Tento ·hel ovlivnφme pou₧itφm nßstroje pro zv∞tÜovßnφ/zmenÜovßnφ objekt∙ (Object Scale). ╚φm otev°en∞jÜφ - m∞lΦφ - bude ku₧el, tφm v∞tÜφ Φßst scΘny bude osvφcena. Bφlß kru₧nice - zßkladna ku₧elu - tedy urΦuje vn∞jÜφ hranici osv∞tlenΘho prostoru. V reßlnΘm ₧ivot∞ vÜak nikdy nenφ tato hranice ostrß, ale je tvo°ena vφce Φi mΘn∞ rozost°en²m p°echodem ze sv∞tla do tmy, kter² zßvisφ na vlastnostech sv∞telnΘho zdroje, intenzit∞ sv∞tla a charakteru osv∞tlenΘ plochy. K dosa₧enφ tohoto efektu slou₧φ tzv. "hotspot". Hotspot je z≤na maximßlnφ intenzity sv∞tla. Naopak okraj sv∞tla urΦuje minimßlnφ intenzitu a p°echod do tmy. Prstenec mezi hotspotem okrajem sv∞tla vytvo°φ plynul² p°echod do tmy. Jak to funguje? trueSpace vyÜle ze zdroje o urΦitΘ intenzit∞, °ekn∞me 0,80, paprsek. Pokud paprsek protne modr² kruh (hotspot), ne₧ opustφ reflektor, intenzita poΦφtanΘho paprsku bude ponechßna 0,80. Paprsek tedy ovlivnφ scΘnu celou svou silou. trueSpace vyÜle dalÜφ a dalÜφ paprsky, aby postupn∞ vyplnil cel² ku₧el. UrΦitß Φßst jich bude ku₧el opouÜt∞t vn∞ modrΘho kruhu, tedy v mφstech, kde by sv∞tlo m∞lo slßbnout, aby vytvo°ilo plynul² p°echod do tmy. ╪ekn∞me, ₧e jeden paprsek opustφ ku₧el sv∞tla p°esn∞ v polovin∞ vzdßlenosti mezi okrajem hotspotu (modrΘho kruhu) a okrajem sv∞tla (zßkladnou ku₧ele). Pak bude trueSpace d∞lit jeho intenzitu 50% a v²slednΘmu paprsku p°id∞lφ pouze intenzitu 0,40, kterou osv∞tlφ scΘnu. Ostrost p°echodu mezi sv∞tlem a tmou ku₧elovΘho reflektoru ovlivnφme, kdy₧ myÜφ zv∞tÜφme nebo zmenÜφme velikost modrΘho kruhu, a to kliknutφm na modr² kruh a ta₧enφm myÜi. Jakß je optimßlnφ velikost hotspotu? To nem∙₧eme jednoznaΦn∞ °φci. Dφvejme se kolem sebe. Pak uvidφme, ₧e sv∞tlo starΘ baterky matn∞ svφtφ na ze∩ domu a vytvß°φ jen nejasn∞ ohraniΦen² kruh. Naopak chansoniΘrka na p≤diu potemn∞lΘho hudebnφho klubu je osv∞tlena siln²m bodov²m reflektorem s naprosto p°esn∞ "za°φznut²m" okrajem. Obecn∞ lze konstatovat, ₧e s implicitnφ (p°edem nastavenou) hodnotou, kterou trueSpace nabφzφ, vystaΦφme ve v∞tÜin∞ p°φpad∙. ZßplavovΘ sv∞tlo LOCAL LIGHT U zßplavov²ch sv∞tel je vhodnΘ experimentovat s r∙zn²mi druhy slßbnutφ intenzity (Falloff) k dosa₧enφ maximßlnφ v∞rohodnosti nasvφcenφ scΘny. Rovnob∞₧nΘ p°φmΘ sv∞tlo
INFINITE LIGHT A prßv∞ tento druh sv∞tla reprezentuje rovnob∞₧nΘ p°φmΘ sv∞tlo. V²raz "infinite" (nekoneΦn²) nenφ odvozen od nevyΦerpatelnosti sφly paprsku vzhledem ke vzdßlenosti, ale vyjad°uje, ₧e paprsky dopadajφ rovnob∞₧n∞, tedy ze zdroje nekoneΦn∞ vzdßlenΘho. Intenzita m∙₧e klesat stejn∞, jako u ostatnφch sv∞tel. Dßle nastavujeme sm∞r dopadajφcφch paprsk∙ rotacφ Üipky, kterß sv∞tlo reprezentuje.
|
Stφnohra |
Na ovlßdacφm panelu
sv∞tla m∙₧eme urΦit, ₧e bude vrhat stφny. Prav²m kliknutφm vyvolßme panel, na
kterΘm se urΦφ typ vrhanΘho stφnu. Nejd°φve se rozhodneme, zda-li bude stφn generovßn raytracingem anebo pomocφ map stφn∙ (Shadowmap). Co je to raytracing vydß na dlouhΘ povφdßnφ snad v n∞kterΘ dalÜφ 3D Revue. ╪ekn∞me si n∞kolik fakt: ZaprvΘ pokud chceme vid∞t efekt raytracingu, musφme tuto mo₧nost zapnout na panelu pro renderovßnφ (Render Options). ZadruhΘ raytracing je jedinou mo₧nostφ, jak renderovat odlesky a odrazivost povrch∙ t∞les. Zat°etφ raytracing je mnohem p°esn∞jÜφ ne₧ obyΦejn² rendering, ale takΘ zabere vφce Φasu. Mapy stφn∙ (Shadowmaps) na druhΘ stran∞ jsou generovßny rychleji. Jejich zubatΘ okraje vÜak nemusφ p∙sobit dob°e. LeΦ prßv∞ geometrickß p°esnost raytracovan²ch stφn∙ m∙₧e b²ti scΘn∞ na Ükodu, kterou m∞kkΘ mapy stφn∙ ji odstranφ. Na obrßzku vidφme porovnßnφ jednotliv²ch metod a druh∙ stφn∙. RaytracovanΘ stφny jsou nejp°esn∞jÜφ. Anti-alias (vyhlazovßnφ) je vypnuto, a proto okraj stφnu - jak vidφme na Φty°nßsobnΘm zv∞tÜenφ - mß ostrΘ hrany. Stφny generovanΘ mapou stφn∙ jsou mΘn∞ ostrΘ. Pro ukßzku jsou zde uvedeny dva extrΘmy. NejlepÜφ mß malou velikost (Size) a vysokou ostrost (Sharpness). Druh²m extrΘmem je velk² a neostr² stφn. Na n∞m je hodn∞ vid∞t "zubatost" mapy stφn∙ a nehodφ se pro obrßzky s vysok²m rozliÜenφm.
|
Zßv∞rem |
Osv∞tlenφ scΘny je skuteΦn∞ zßkladnφm kamenem. Nikdo se tomuto um∞nφ nenauΦφ p°es noc. Je t°eba peΦliv∞ pozorovat scΘnu, kterou modelujeme, jak vypadß v b∞₧nΘm ₧ivot∞. V∞°φme, ₧e nßÜ Φlßnek p°edstavil zßkladnφ mo₧nosti sv∞tla a posunul vßs blφ₧e k ovlßdnutφ um∞nφ sv∞tel ve scΘnßch trueSpace. |
Designed by VLADO Quality, ⌐ 1998 |