123

Attention! The website uses cookies to offer you better browsing experience. Find out more on Privacy Policy. Now your browser has blocked cookies. This information will be displayed until you enable cookies in your browser.
I understand and accept cook­ies!
*
:
/
o
[
]
Z
U

Wpro­wa­dze­nie

Pro­jek­tor K3D, to na­rzę­dzie umoż­li­wia­ją­ce rzu­to­wa­nie gra­fi­ki ra­stro­wej oraz wek­to­ro­wej na po­wierz­chnie brył (rzu­to­wa­ne gra­fi­ki na­zy­wać bę­dzie­my tek­stu­ra­mi bit­ma­po­wy­mi i we­kto­ro­wy­mi, a po­wierz­chnie brył – po­wierz­chnia­mi ste­ru­ją­cy­mi, bo­wiem ste­ru­ją one wy­świ­etla­niem wła­ści­wych tek­stur).

Two­rząc ten pro­gram sta­ra­liś­my się za­cho­wać rów­no­wa­gę mię­dzy moż­li­wo­ścia­mi tech­nicz­ny­mi pro­gra­mu, a stop­niem skom­pli­ko­wa­nia je­go ob­słu­gi. Zda­je­my so­bie spra­wę z fak­tu, że na ryn­ku jest wie­le pro­gra­mów do ob­rób­ki 3D, ale wie­my też, że ich moż­li­wo­ści czę­sto przy­po­mi­na­ją moż­li­wo­ści ar­ma­ty, któ­rą mu­si­my za­sto­so­wać, by unie­szkod­li­wić przy­sło­wio­wą mu­chę.

Z te­go też wzglę­du przy­ję­liś­my na­stę­pu­ją­ce za­ło­że­nia tech­nicz­ne pod­czas pro­jek­to­wa­nia te­go pro­gra­mu:

  1. Pro­gram ma na sta­łe przy­pi­sa­ne dwie (i tyl­ko dwie) po­wie­rzchnie ste­ru­ją­ce (dwa obiek­ty). Pierw­szy z nich sta­no­wi wła­ści­wy obiekt, któ­rych chce­my zob­ra­zo­wać, a dru­gi sta­no­wi op­cjo­nal­ne tło (wy­świet­la­nie tej po­wie­rzchni moż­na wy­łą­czyć).

  2. Każ­da (z dwóch) po­wie­rzchni (brył) w pro­gra­mie ma swo­je nie­za­leż­ne źród­ło oświet­le­nia i dwie stro­ny (przód i tył). Każ­da ze stron mo­że być oświet­lo­na in­nym ko­lo­rem.

  3. Pro­gram ma ogra­ni­czo­ne moż­li­wo­ści mo­de­lo­wa­nia po­wie­rzchni i brył (w pro­gra­mie jest edy­tor sia­tek, ale rę­czna ich edy­cja jest praco­chłon­na). Za­kła­da się ko­rzy­sta­nie z go­to­wych po­wie­rzchni i brył przy­go­to­wa­nych przez pro­du­cen­ta oraz moż­li­wość ge­ne­ro­wa­nia po­wie­rzchni za po­mo­cą wzo­rów ma­te­ma­tycz­nych, któ­re są ob­li­cza­ne przez wbu­do­wa­ny kal­ku­la­tor (oczy­wi­ście pro­du­cent do­star­cza wzo­ry for­mu­ją­ce pod­sta­wo­we bry­ły). Roz­wią­za­nie to jest wy­star­cza­ją­ce do zob­ra­zo­wa­nia wie­lu stan­dar­do­wych obiek­tów 3D, jak pu­deł­ka (książ­ki, opa­ko­wa­nia, pro­sto­pa­dło­ścia­ny, itp.), pusz­ki (tu­by, wal­ce), bu­tel­ki (nie­co zmo­dy­fi­ko­wa­ne wal­ce), ku­le (pla­ne­ty, pił­ki), fa­lu­ją­ce po­wie­rzchnie (np. fla­gi), itp., jak np.:

    Wi­deo 1.
    Fa­lu­ją­ca fla­ga w Pro­jek­to­rze K3D.

    Oczywiś­cie na ta­ką po­wierz­chnię (jak np. po­ka­za­ną wy­żej fla­gę) mo­że­my na­ło­żyć wła­sną gra­fi­kę (np. rze­czy­wi­stą, pro­sto­kątną fla­gę), któ­rą łat­wo przy­go­tu­jemy w do­wol­nym pro­gra­mie 2D.

    (Większość po­ka­za­nych na tej stro­nie przy­kła­dów do­stęp­na jest w po­sta­ci do­ku­men­tów pro­jek­to­ra dołączonych do pakietu instalacyjnego. Mo­żesz po­brać pro­gram i sa­mo­dziel­nie z ni­mi po­eks­pe­ry­men­to­wać. Część przy­kła­dów po­cho­dzi z 3N Stock Pho­tos, z któ­re­go bę­dziesz mógł te do­ku­men­ty po­bie­rać wprost z po­zio­mu pro­gra­mu).

  4. Przy­ję­liś­my sze­reg upro­szczeń co z je­dnej stro­ny ułat­wia ob­słu­gę pro­gra­mu, z dru­giej przy­spie­sza je­go dzia­ła­nie. Ta­kim upro­szcze­niem jest np. to, że tło jest zaw­sze wy­świet­la­ne za obiek­tem pier­wszo­pla­no­wym. Nie jest więc moż­li­we ta­kie usta­wie­nie obiek­tów, aby tło przy­sło­ni­ło obiekt pier­wszo­pla­no­wy, ale z dru­giej stro­ny pro­gram nie mu­si ob­li­czać wza­jem­ne­go prze­sła­nia­nia się tych obiek­tów.

  5. Ko­lej­nym upro­szcze­niem jest przy­ję­cie za­ło­że­nia, że każ­dy (z dwóch) obiek­tów skła­da się z pro­sto­kąt­nej siat­ki czwo­ro­ką­tów. Ta­kie roz­wią­za­nie umoż­li­wi­ło pro­stą i szyb­kę im­ple­men­ta­cję mor­fin­gu 3D.

    Wi­deo 2.
    Mor­fing 3D w Pro­jek­to­rze K3D.

    A mając już takie na­rzę­dzie mo­że­my w kil­ka mi­nut zwi­zu­ali­zo­wać np. opa­ko­wa­nie cu­kier­ka.

    Wi­deo 3.
    Mor­fing 3D wykorzystany do wizualizacji opakowania cukierka.

    Więcej przykładów morfingu znajdziesz na naszym kanale You Tube.

    W związ­ku z ta­kim za­ło­że­niem, nie mo­że­my usu­wać (do­da­wać) do siat­ki po­je­dyn­czych ele­men­tów, mo­że­my za to usu­wać lub do­da­wać wier­sze lub rzę­dy. Mo­żemy ró­wnież wy­łą­czać wy­świet­la­nie po­szcze­gól­nym ele­men­tów siat­ki, co po­zwa­la uzys­kać cie­ka­we efek­ty.

  6. Choć mog­ło­by się wy­da­wać, że po­wyż­sze upro­szcze­nia zbyt moc­no ogra­ni­czą moż­li­wo­ści pro­gra­mu, to za­sto­so­wa­no tu in­ne roz­wią­za­nie, w zna­cznym stop­niu re­kom­pen­su­ją­ce wspo­mnia­ne upro­szcze­nie, a w nie­któ­rych wy­pad­kach zde­cy­do­wa­nie przy­spie­sza­ją­ce pra­cę.

    Otóż mo­żesz na siat­kę na­ło­żyć obiekt wek­to­ro­wy, któ­ry wy­tnie z siat­ki po­trzeb­ny kształt. Je­śli do­da­my do te­go w spo­sób au­to­ma­tycz­ny gru­bość obiek­tu, to ma­my w błys­ka­wicz­nym tem­pie ren­de­ro­wa­ne np. li­te­ry 3D:

    Wi­deo 4.
    Li­te­ry 3D wy­ren­de­ro­wa­ne w Pro­jek­to­rze K3D.

    Oczy­wi­ście mo­że­my do­wol­nie usta­wić i obiekt (je­go po­ło­że­nie, prze­su­wa­nie, ob­ro­ty, itp.) i świat­ło (je­go prze­su­wa­nie, śred­ni­cę, ko­lor, kon­trast), tem­po ani­ma­cji, itp. pod­czas ru­chu.

  7. Ge­ne­ral­nie pro­gram pra­cu­je na tek­stu­rach ra­stro­wych (tzn. na wy­mo­de­lo­wa­ną siat­kę moż­na na­ło­żyć bit­ma­pę). W ta­kiej sy­tua­cji wy­ren­de­ro­wa­ny ob­raz mo­że być za­pi­sa­ny ja­ko plik ra­stro­wy (ty­pu: *.bmp, *.jpg lub *.png).

    Pro­gram mo­że ró­wnież pra­co­wać na tek­stu­rach wek­to­ro­wych (tzn. moż­na rzu­to­wać gra­fi­kę wek­to­ro­wą na po­wie­rzchnię 3D). W tym wy­pad­ku ja­ko wy­jście (po­za pli­kiem ra­stro­wym) moż­na ró­wnież wska­zać plik wek­to­ro­wy (*.eps). W tym roz­wią­za­niu cie­nio­wa­nia są ge­ne­ro­wa­ne w po­sta­ci sze­re­gu ra­mek wek­to­ro­wych.

  8. Można też na­ło­żyć na siat­kę bit­ma­pę, a na to wek­to­ro­wy kształt, któ­ry wy­tnie bit­ma­pę i siat­kę.

    Fot. 1.
    Bit­ma­pa wy­cię­ta kształ­tem wek­to­ro­wym i oświet­lo­na w Pro­jek­to­rze K3D.

  1. Pro­gram po­zwa­la ani­mo­wać większość pa­ra­me­trów opi­su­ją­cych wy­gląd i po­ło­że­nie obiek­tów. Ani­mo­wa­nie po­le­ga na wsta­wia­niu na osi cza­su kla­tek ba­zo­wych, dla któ­rych okreś­la­my właś­nie wspo­mnia­ne wcześ­niej pa­ra­me­try.

    Je­śli np. dla któ­rejś z kla­tek okreś­li­my ko­lor oświet­le­nia (skła­do­we RGB ko­lo­ru), a w in­nej klat­ce skła­do­we te bę­dą in­ne, to pro­gram in­ter­po­lu­je war­to­ści dla po­szcze­gól­nych kla­tek le­żą­cych mię­dzy ty­mi, któ­re ma­ją te skła­do­we okreś­lo­ne. In­ter­po­la­cja mo­że być li­nio­wa lub opar­ta o krzy­we Bézie­ra.

    Wi­deo 5.
    Ani­ma­cja ko­lo­ru w Pro­jek­to­rze K3D.

    Tak wy­glą­da oś cza­su dla ani­ma­cji przed­sta­wio­nej po­wy­żej:

    Fot. 2.
    In­ter­fejs pro­gra­mu z po­ka­za­ną osią cza­su dla ani­ma­cji ko­lo­ru.

    Na tej sa­mej za­sa­dzie ani­mu­je­my wszyst­kie in­ne pa­ra­me­try opi­su­ją­ce po­ło­że­nie, ką­ty, per­spek­ty­wę, itp. nie­za­leż­nie dla pierw­sze­go pla­nu i dla tła.

  2. W pro­gramie ma­my tyl­ko je­dną ka­me­rę, ale do­stęp­ny jest wie­lo­po­zy­cyj­ny scho­wek na da­ne, w któ­rym mo­że­my prze­cho­wy­wać róż­ne po­ło­że­nia ka­me­ry (schow­ki te są op­cjo­nal­nie za­pi­sy­wa­ne na dys­ku wraz z do­ku­men­tem).

    Ka­me­rę moż­na umie­ścić w do­wol­nym pun­kcie prze­strze­ni i ob­ra­ca­jąc ją uzys­ki­wać efekt „roz­glą­da­nia się”. Na tym eta­pie jed­nak pro­gram ma­ksy­mal­nie upra­szcza pro­ce­du­rę usta­wia­nia ka­me­ry. Je­śli wy­ze­ru­je­my po­ło­że­nie obiek­tu i ka­me­ry, to ka­me­ra wi­dzi obraz w stan­dar­do­wym usta­wie­nu „na wprost”. Je­śli teraz obró­ci­my ka­me­rę, to nie „zgu­bi­my” obiek­tu, a uzys­ka­my efekt krą­że­nia wokół obiek­tu.

    Wi­deo 6.
    Ani­ma­cja po­przez ob­rót ka­me­ry.

  3. Po­nie­waż obiekt skła­da się tyl­ko z je­dnej siat­ki, więc moż­na mu przy­pi­sać tyl­ko je­dną tek­stu­rę, ale po­przez od­po­wie­dnie spre­pa­ro­wa­nie tej tek­stu­ry moż­na uzys­kać np. ta­ki efekt:

    Wi­deo 7.
    Ani­ma­cja sze­ścia­nu z róż­ny­mi ob­ra­za­mi na każ­dej ścian­ce. W ta­ki sam spo­sób moż­na wy­ren­de­ro­wać do­wol­ny pro­sto­pa­dło­ścian (np. pu­deł­ko, opakowanie, itp.).

  4. Fil­my są ren­de­ro­wa­ne w po­sta­ci po­je­dyn­czych kla­tek do wska­za­ne­go ka­ta­lo­gu. Aby tak uzys­ka­ne klat­ki po­łą­czyć w film, na­le­ży użyć do­dat­ko­we­go pro­gra­mu (np. bez­płat­ne­go Vir­tual­Dub). Dzię­ki przy­ję­tym upro­szcze­niom i opty­ma­li­za­cji ko­du pro­gra­mu, film ta­ki jak wy­żej w roz­dziel­czo­ści 1280 x 720 pik­seli ren­de­ru­je się w tem­pie ok. 57 kla­tek na mi­nu­tę na kom­pu­te­rze Pen­tium Dual Core z ze­ga­rem 3,2GHz.

  5. W programie zna­jdziemy też sze­reg efek­tów spec­jal­nych. Np. efekt „ka­fel­ko­wa­nia” po­ka­za­ny ni­żej:

    Wi­deo 8.
    Efekt „kafelkowania” .

  6. Pro­gram ma wbu­do­wa­ną ob­słu­gę fil­trów (dok­ła­dnie ta­ką sa­mą, jak pro­gram Kom­bi). Fil­try mo­gą być sto­so­wa­ne za­ró­wno na na­kła­da­nych tek­stu­rach jak i na wy­ren­de­ro­wa­nym ob­ra­zie.

    Wśród tych filtrów zna­jdziemy też ge­ne­ra­to­ry komplet­nych obra­zów, jak i tek­stur. Mo­że­my np. wy­ge­ne­ro­wać galaktykę:

    Fot. 3.
    Galaktyka wy­ren­de­ro­wa­na w na­szym Pro­jek­to­rze K3D.

    jak i wszel­kie­go ro­dza­ju mozaiki, ab­strak­cje i in­ne po­wta­rzal­ne tekstu­ry.

  7. Pro­gram mo­że pra­co­wać zu­peł­nie sa­mo­dziel­nie, ale za­wie­ra wbu­do­wa­ne me­cha­niz­my umoż­li­wia­ją­ce mu po­łą­cze­nie się pod­czas pra­cy z pro­gra­mem Kom­bi. Je­śli ta­kie po­łą­cze­nie na­stą­pi (tzn. jest w sy­ste­mie uru­cho­mio­ny pro­gram Kom­bi), to moż­li­wa jest bez­po­śre­dnia wy­mia­na da­nych mię­dzy ram­ką w do­ku­men­cie Kom­bi, a pro­gra­mem. W kon­sek­wen­cji moż­li­we jest ren­de­ro­wa­nie ob­ra­zów wprost do ram­ki w Kom­bi, a do­ku­ment Kom­bi za­pi­sa­ny z ta­ką ram­ką za­wie­ra kom­plet in­for­ma­cji nie­zbę­dnych do po­no­wne­go ot­war­cia ta­kiej ram­ki w Pro­jek­to­rze i po­no­wne­go jej wy­ren­de­ro­wa­nia np. z in­ny­mi pa­ra­me­tra­mi rzu­to­wa­nia.

  8. In­ter­fejs pro­gra­mu za­wie­ra ok­no głó­wne oraz dwa ok­na po­moc­ni­cze, tj.: ok­no z pod­glą­dem oraz z osią cza­su. Oba ok­na po­moc­ni­cze mo­gą być „wto­pio­ne” w ok­no głó­wne. Ok­no głó­wne za­wie­ra po­nad­to me­nu z za­kład­ka­mi, na któ­rych po­gru­po­wa­no na­rzę­dzia wg kry­te­rium te­ma­tycz­ne­go. Na ko­lej­nych stro­nach tej po­mo­cy oma­wia­my te za­kład­ki. Uży­cie kla­wi­sza F1 w pro­gra­mie ot­wo­rzy tę po­moc na od­po­wie­dniej stro­nie.