123

Uwaga! Ta wi­try­na wy­ko­rzy­stu­je pli­ki cook­ies w ce­lu umoż­li­wie­nia dzia­ła­nia nie­któ­rych fun­kcji ser­wi­su (np. zmia­ny ko­lo­ru tła, wy­glą­du in­ter­fej­su, itp.) oraz w ce­lu zli­cza­nia li­czby od­wie­dzin. Wię­cej in­for­ma­cji znaj­dziesz w Po­li­ty­ce pry­wat­no­ści. Ak­tual­nie Two­ja przeg­lą­dar­ka ma wy­łą­czo­ną ob­słu­gę pli­ków co­o­kies dla tej wi­try­ny. Ten ko­mu­ni­kat bę­dzie wy­świet­la­ny, do­pó­ki nie za­ak­cep­tu­jesz pli­ków cook­ies dla tej wi­try­ny w swo­jej przeg­lą­dar­ce. Kliknięcie ikony * (w pra­wym gór­nym na­ro­żni­ku stro­ny) ozna­cza, że ak­ce­ptu­jesz pli­ki cookies na tej stro­nie. Ro­zu­miem, ak­cep­tu­ję pli­ki 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.