background image

Wydawnictwo Helion

ul. Koœciuszki 1c

44-100 Gliwice

tel. 032 230 98 63

e-mail: helion@helion.pl

Blender. Od planowania,

modelowania

oraz teksturowania

do animacji i renderingu.

Praktyczne projekty 

Autor: Jaros³aw Kolmaga

ISBN: 83-246-1465-6

Format: 168x237, stron: 328

Poznaj tajniki Blendera i twórz wyj¹tkowe projekty w technologii 3D

• 

Jak wykonywaæ rendery statyczne?

• 

Jak przygotowaæ bazê modelu?

• 

Jak wykorzystaæ skrypty jêzyka Python?

Blender to znakomity, darmowy program do modelowania i renderowania obrazów

oraz animacji trójwymiarowej. Posiada niekonwencjonalny interfejs u¿ytkownika,

bez zachodz¹cych na siebie i blokuj¹cych siê okien, w³asny silnik graficzny oraz wiele 

funkcji do edycji obiektów, pozwalaj¹cych uzyskaæ praktycznie dowolny kszta³t. Istnieje 

kilka wersji Blendera — na ró¿ne platformy sprzêtowe i programowe. Za pomoc¹ tej 

aplikacji mo¿na tworzyæ przestrzenne projekty techniczne, gry komputerowe, reklamy 

telewizyjne i profesjonalne logotypy firm. To wszystko sprawia, ¿e Blender jest 

niezwykle popularny i coraz szerzej wykorzystywany.
„Blender. Od planowania, modelowania oraz teksturowania do animacji i renderingu. 

Praktyczne projekty” to nietypowy podrêcznik, pokazuj¹cy dzia³anie programu i jego 

zaawansowane funkcje na przyk³adzie budowania konkretnego projektu — czo³gu M1A2 

Abrams. Dziêki temu mo¿esz nauczyæ siê, na czym polega modelowanie, teksturowanie, 

rozpakowywanie siatek, rigging oraz rendering. Taka konstrukcja to wielki atut ksi¹¿ki, 

bowiem pozwala Ci podj¹æ pracê nad projektem w dowolnym miejscu, przyjrzeæ siê 

sposobowi rozwi¹zania danego problemu, poznaæ nie tylko narzêdzia i funkcje, ale tak¿e 

sposoby organizacji pracy nad projektem.

• 

Bluprints

• 

Skrypty jêzyka Python

• 

Przygotowanie projektu

• 

Modelowanie

• 

Rewaloryzacja

• 

Pêdzle, desenie i efekty ze zdjêæ

• 

Malowanie modelu hi-poly oraz low-poly

• 

UV Unwrapping

• 

Rigging

• 

Rendering i œrodowisko renderingu Kerkythea

• 

Typy œwiate³ i oœwietlenia

Ca³a teoria i praktyka, których potrzebujesz, aby tworzyæ niesamowite projekty 3D

background image

Spis treci

Wstp ..............................................................................................................7

Rozdzia 1. Przygotowanie projektu  ....................................................................9

Cz 1.1. Materiay ........................................................................................................................... 9

1.1.1. Zasoby referencyjne ........................................................................................................... 9
1.1.2. Blueprints ..........................................................................................................................10
1.1.3. Szkice .................................................................................................................................. 11

Cz 1.2. Warsztat ...........................................................................................................................12

1.2.1. Opis skryptów jzyka Python .........................................................................................12
1.2.2. Skrypt Geom Tool  ...........................................................................................................13
1.2.3. Skrypt UV Tool  ................................................................................................................15
1.2.4. Przygotowanie miejsca pracy  .........................................................................................15

Cz 1.3. Czog M1A2 Abrams  .....................................................................................................16

1.3.1. Historia serii M1 ...............................................................................................................16
1.3.2. Opancerzenie  ...................................................................................................................17
1.3.3. Uzbrojenie gówne, dodatkowe i urzdzenia celownicze ...........................................17

Rozdzia 2. Modelowanie  .................................................................................19

Cz 2.1. Przygotowanie bazy modelu  ....................................................................................... 20

2.1.1. Brya korpusu  .................................................................................................................. 20
2.1.2. Wieyczka  ........................................................................................................................ 24
2.1.3. Lufa i boczne pyty pancerza ......................................................................................... 30
2.1.4. Koa prowadzce i napdowe ........................................................................................ 34

Cz 2.2. Detale  ............................................................................................................................. 39

2.2.1. Przód pojazdu  ................................................................................................................. 40
2.2.2. Przednia pyta pancerza  ................................................................................................ 52
2.2.3. Boki korpusu ................................................................................................................... 57
2.2.4. Ty pojazdu  ..................................................................................................................... 62
2.2.5. Pyty pancerza bocznego  ............................................................................................... 75
2.2.6. Lufa ................................................................................................................................... 78
2.2.7. Wieyczka: boki i ty  ...................................................................................................... 84
2.2.8. Wieyczka: cz górna .................................................................................................. 90
2.2.9. Ukad jezdny  ..................................................................................................................110

Cz 2.3. Rewaloryzacja ............................................................................................................... 116

2.3.1. Sharp Modifier i F-Gony  .............................................................................................. 116
2.3.2. Dalsze detale .................................................................................................................. 122

background image

Blender. Od planowania, modelowania oraz teksturowania do animacji i renderingu

Rozdzia 3. Teksturowanie ............................................................................. 127

Cz 3.1. UV Unwrapping .......................................................................................................... 128

3.1.1. Teoria  .............................................................................................................................. 128
3.1.2. Siatki lufy i gniazda  ....................................................................................................... 131
3.1.3. Siatki M2HB i M240  .....................................................................................................138
3.1.4. Siatki podstawowej bryy wiey ....................................................................................167
3.1.5. Siatki systemu trakcji .....................................................................................................175
3.1.6. Siatki korpusu  ............................................................................................................... 177

Cz 3.2. Przygotowanie materiaów  .........................................................................................183

3.2.1. Logistyka  .........................................................................................................................183
3.2.2. Pdzle, desenie i efekty ze zdj  ...................................................................................185
3.2.3. Opracowanie materiaów dla czogu M1A2  ............................................................. 188

Cz 3.3. Malowanie modelu hi-poly  ....................................................................................... 189

3.3.1. Przygotowania i radzenie sobie ze szwami  ................................................................ 189
3.3.2. Col BKG z maskowaniem lenym  ............................................................................. 190
3.3.3. Highlighting .................................................................................................................. 192
3.3.4. Mapy bazowe (kompozycja Color) ............................................................................ 192
3.3.5. Mapy rozchodzenia si wiata (kompozycja Diff)  ..................................................195
3.3.6. Mapy wypukoci (kompozycja Bump) ......................................................................196
3.3.7. Mapy odbijania wiata (kompozycja Spec), twardoci odbi
(kompozycja Hard) oraz odbi lustrzanych (kompozycja Mirror)  ................................ 198

Cz 3.4. Malowanie modelu low-poly  .................................................................................... 199

3.4.1. Proste wypukoci i wgbienia  ................................................................................... 200
3.4.2. Wycicia ......................................................................................................................... 201
3.4.3. Sztuczne wiato ............................................................................................................ 203

Cz 3.5. Tekstury w praktyce .................................................................................................... 205

3.5.1. Siatki UV  ........................................................................................................................ 206
3.5.2. Malowanie tekstur ........................................................................................................ 206

Rozdzia 4. Rigging  ........................................................................................213

Cz 4.1. Podstawowy szkielet czogu ....................................................................................... 214
Cz 4.2. Podstawowa funkcjonalno szkieletu  .................................................................... 219
Cz 4.3. Zaawansowana funkcjonalno szkieletu  ............................................................... 223

4.3.1. Dualny system namierzania ........................................................................................ 223
4.3.2. Animacja ruchu gsienic  ............................................................................................. 225

Rozdzia 5. Rendering  ................................................................................... 229

Cz 5.1. Kompozycja .................................................................................................................229

5.1.1. Kadr ................................................................................................................................. 230
5.1.2. Perspektywa  ................................................................................................................... 235
5.1.3. Kolor, kontrast, równowaga…  ...................................................................................242

Cz 5.2. Owietlenie  .................................................................................................................. 243

5.2.1. Typy wiate i owietlenia  ............................................................................................244
5.2.2. Sposoby owietlenia modelu  ...................................................................................... 245
5.2.3. Kompozycja wietlna w rónych sytuacjach  ............................................................249

background image

  

Spis 

treci 

5

Cz 5.3. Silnik renderujcy Yaf(a)Ray ..................................................................................... 251

5.3.1. Instalacja i uruchomienie renderera Yaf(a)Ray  ........................................................ 251
5.3.2. Zakadka Object/Light/Camera dla obiektów Mesh oraz kamery ....................... 252
5.3.3. Zakadka Object/Light/Camera dla wiate  ............................................................. 255
5.3.4. Zakadka Material  ........................................................................................................ 257
5.3.5. Zakadka Render ........................................................................................................... 260

Cz 5.4. rodowisko renderingu Kerkythea  .......................................................................... 267

5.4.1. Rozpoczcie pracy z Kerkythe  .................................................................................. 268
5.4.2. Ustawienia sceny  .......................................................................................................... 276
5.4.3. Ustawienia nieba ...........................................................................................................282
5.4.4. Ustawienia materiaów  ................................................................................................284
5.4.5. Instancing Brush  ...........................................................................................................311
5.4.6. Rendering  ...................................................................................................................... 314

Skorowidz .................................................................................................... 317

background image

Rozdzia  4.
Rigging

Niektórzy  spo!ród  grafików  3D  uwa"aj#  rigging  za  zb$dny  podczas  wykony-
wania renderów statycznych. Po cz$!ci jest to prawda — mo"na pracowa& bez
ko!&ca, a jego nieobecno!& wcale nie zmieni wyniku ko'cowego. Wyobra( sobie
jednak, "e chcia)by! przetestowa& ró"ne sposoby ustawienia czo)gu — bez ko!&ca
ka"dorazowo konieczne by)oby r$czne ustawianie kursora 3D na osi obrotu da-
nej bry)y, zaznaczanie wierzcho)ków przynale"nych danej transformacji i wreszcie
modyfikacja  ustawienia  kszta)tu.  Sytuacja  mog)aby  wygl#da&  znacznie  gorzej
— utworzenie szkieletu i jego skonfigurowanie pozwala bowiem w bardzo )atwo
modyfikowa& sposób ustawienia g#sienic, a wi$c na przyk)ad odwzorowanie ich
zniekszta)cenia po wjechaniu pojazdu na nierówny teren. Bez wykorzystania ar-
matur odpowiednie zmodyfikowanie g#sienic by)oby du"o trudniejsze, zw)asz-
cza je!li konieczne okaza)oby si$ ich kilkukrotne poprawianie. Je!li za! chodzi
o animacj$, trudno sobie wyobrazi&, jak bez ko!&ca mog)aby ona przebiega&.

Kiedy mowa o szkielecie czo)gu, naturalnie koncentrujemy si$ na riggingu czo)-
gowej g#sienicy. Sam z tematem zetkn#)em si$ po raz pierwszy podczas mode-
lowania i riggingu futurystycznego pojazdu z uniwersum znanej gry bitewnej.
Po dniu pe)nym pracy, rozczarowa' i sukcesów uda)o mi si$ stworzy& funkcjo-
nalny system, na tyle skuteczny, by animacja czo)gu sta)a si$ czyst# przyjemno!ci#,
i na tyle skomplikowany, "e pod koniec pracy potrafi)em tylko jasno okre!li&
funkcje kilku zewn$trznych kontrolerów — do nich te" odnosi)em si$, dobu-
dowuj#c kolejne elementy szkieletu — zupe)nie nie wiedzia)em jednak, „jak to
dzia)a” w !rodku. Specjalnie na okazj$ pracy z czo)giem M1 od!wie"y)em stary
system, posprz#ta)em go nieco i upro!ci)em, wykona)em te" dziesi#tki testów
maj#cych na celu odnalezienie „jedynych s)usznych rozwi#za'”. Nie ukrywam,
"e monta" tego szkieletu mo"e by& trudny, nie tylko ze wzgl$du na wielo!& ele-
mentów, ale te" pewne drobne niuanse, jak chocia"by  konieczno!& wykorzysty-
wania po!redników dla relacji dziecko – rodzic. Nie zra"aj si$ wi$c, je!li co! nie
wychodzi — z pomoc# poni"szego tekstu oraz dost$pnego na p)ycie CD mode-
lu powiniene! móc stworzy& w)asn# wersj$ systemu  sterowania  trakcj#  czo)gu.

background image

214

Blender. Od planowania, modelowania oraz teksturowania do animacji i renderingu

Zach$cam te" do eksperymentowania na w)asn# r$k$ — poni"szy tekst jest w ko'-
cu najlepszym dowodem na to, "e blenderowy system modyfikatorów posiada
olbrzymie mo"liwo!ci!

Ko!ciec wykorzystywany dla renderów statycznych oraz ten dla animacji s# nie-
mal identyczne. Ró"nica polega na pewnych usprawnieniach, które wymagane
s# podczas animowania obiektów — jak na przyk)ad kontrolery poruszania si$
g#sienic czy inny system namierzania wykorzystywany dla dzia)a oraz karabinów
maszynowych. W cz$!ci po!wi$conej riggingowi opisz$, w jaki sposób stworzy&
intuicyjny  interfejs  u"ytkownika  z  wykorzystaniem  systemu  ko!ci  i  ograniczni-
ków Blendera.

Cz$%& 4.1. Podstawowy szkielet czo gu

Podstaw# dobrego szkieletu jest planowanie. Musimy wi$c si$ zastanowi&, jakie
grupy obiektów b$d# nam potrzebne, i odpowiednio podzieli& model. Podzia)
ten mo"e przebiega& na dwa sposoby. Je!li posiadasz wyj#tkowo szybki kompu-
ter  lub  skupi)e!  si$  na  nisko  poligonowym  modelu,  wybierzesz  zapewne  naj-
bardziej „naturaln#” metod$ podzia)u poprzez tworzenie grup wierzcho)ków.
W przeciwnym razie !wietnym pomys)em jest stworzenie kilku obiektów oraz
kilku szkieletów, wspó)pracuj#cych z sob# jak jeden, lecz pozwalaj#cych na odse-
parowanie poszczególnych systemów. W wypadku naszego czo)gu wystarcz# trzy
takie systemy: korpusu, trakcji oraz uzbrojenia. Pierwszy z ko!&ców b$dzie s)u-
"y)  do  kontroli  po)o"enia  czo)gu,  jego  przechy)u  oraz  elementów  ruchomych
takich jak kalpy; b$dzie te" systemem g)ównym, do którego b$d# odwo)ywa& si$
pozosta)e ko!&ce. System trakcji powinien odpowiada& za kontrol$ g#sienic oraz
kó) — w wersji statycznej ograniczy si$ on do ustalania po)o"enia poszczególnych
kó) oraz okre!lenia, w jaki sposób na nie zostanie na)o"ona g#sienica. Ostatni
system b$dzie kontrolowa) obrót oraz pochylenie armaty oraz obu karabinów.

Zanim przejd$ do opisu ko!&ca korpusu, s)ów kilka o kwestiach nazewnictwa.
Podczas tworzenia ko!&ca niezwykle du"o zale"y od odpowiedniego dobrania
i przestrzegania nazewnictwa — zarówno ko!ci jak i ca)ych obiektów. Pracuj#c
nad ogranicznikami, co chwil$ b$dziemy musieli odnosi& si$ do jakiego! obiek-
tu, st#d te" lepiej, "eby!my nie zastanawiali si$, jak w)a!ciwie nazywa si$ ko!&
odpowiadaj#ca za czwarte ko)o z lewej strony. W  miar$ opisywania  kolejnych
systemów b$d$ tak"e t)umaczy) wykorzystane przeze mnie nazewnictwo. W swo-
ich pracach z przyzwyczajenia u"ywam nazw angielskich (w ko'cu ca)e !rodo-
wisko programu bazuje na tym j$zyku), takich te" b$d$ u"ywa) podczas pracy nad
czo)giem Abrams. Kwesti# pochodn# od nazewnictwa, o nieco tylko mniejszym
znaczeniu,  jest  u"ywanie  siatek 

Mesh  podstawianych  jako  sposób  wy!wietlania

ko!ci (

custom draw type) — ich wykorzystanie potrafi zmieni& uci#"liw# prac$

background image

Rozdzia  4. 

 

 Rigging

215

w zabaw$.  Co  jednak  jest  znacznie  wa"niejsze,  ko!ciec  wykorzystuj#cy  dobre
siatki podstawione pod ko!ci mo"e by& u"ywany bez samego modelu — wystar-
czy bowiem rzut  oka  na  szkielet, by dowiedzie&  si$,  co w  danej  chwili  dzieje
si$ z czo)giem. Jest to niezwykle wa"ne, gdy animujemy obiekty o do!& du"ej
z)o"ono!ci.

System sterowania korpusem, nazwany przeze mnie 

Main Sys musi si$ opiera&

na  ko!ci  bazowej.  Wbrew  pozorom  nie  chodzi  tu  o  ko!&  steruj#c#  korpusem,
ale o ko!&-matk$, steruj#c# wszystkimi ko!&mi wszystkich systemów. Ko!& tak#
zazwyczaj nazywam mianem 

Omega i umieszczam w centrum obiektu — w tym

wypadku  wzd)u"  dolnej  kraw$dzi  kad)uba.  Siatka  reprezentuj#ca  ko!& 

Omega

powinna by&  mo"liwie  du"a  i  )atwo  dostrzegalna  —  !wietnie  sprawdza  si$  fo-
remny wielo!cian, nadaj#cy modelowi wygl#d jednostki z gier strategicznych. Do-
piero w drugiej kolejno!ci pojawia si$ ko!& odpowiedzialna za korpus (

Corpse),

pod)#czona oczywi!cie do ko!ci 

Omega i umieszczona nad ni#. Wizualizacja kon-

trolera korpusu  mo"e  przebiega&  na  dwa  sposoby.  Jednym  z  nich jest  umiesz-
czenie niewielkiego znacznika w dowolnym kszta)cie ponad czo)giem, drugim za!
stworzenie  trójwymiarowych  obejm,  znajduj#cych  si$  na  wierzcho)kach  prosto-
pad)o!cianu, w jakim mo"na by nasz czo)g zamkn#&. W dalszej kolejno!ci nale-
"y okre!li& wszystkie ruchome cz$!ci modelu — w naszym wypadku b$dzie to
sze!& otwieralnych (b#d( przesuwalnych) pokryw. Oczywi!cie nie wymodelowa-
li!my wn$trza czo)gu, wi$c ich pe)ne otworzenie nie jest by& mo"e najlepszym
pomys)em, jednak samo ich uchylenie mo"e znacznie zmieni& wygl#d modelu.
Nie ma te"  problemu,  by  sam#  klap#  lub  innym  elementem  zas)oni&  otwór
— w takim wypadku stwarzamy pozory wielowymiarowo!ci przekraczaj#cej na-
wet to, co wymodelowali!my. 6wietnie sprawdza si$ tu modu)owy system nazew-
nictwa — wykorzystamy przedrostek 

P_ oznaczaj#cy ruchom# pokryw$ oraz

dwie litery oznaczaj#ce jej po)o"enie — 

F i C oznaczaj#ce odpowiednio front

i centrum oraz 

RL, C oznaczaj#ce praw# stron$ obiektu, lew# stron$ obiektu

lub jego !rodek. Zgodnie z tym nazewnictwem przednia !rodkowa klapa b$dzie
nazywa&  si$ 

P_FC,  !rodkowa  prawa  za!  P_CR.  O  ile  same  nazwy  s#  by&  mo"e

ma)o intuicyjne, to stosuj#c taki system, nie musimy ich wcale zna& — mo"emy
je bowiem wyprowadzi& w ka"dej chwili. Podczas tworzenia ko!ci dla klap pa-
mi$taj,  "e  musisz  odpowiednio  wycentrowa&  kursor!  W  wypadku  klap 

P_FR

P_FL jest konieczne dwukrotne centrowanie kursora. Za pierwszym razem okre-

!lamy miejsce, w którym znajduje si$ o! obrotu obiektu i umieszczamy w nim
trzon ko!ci, za drugim  —  szukamy takiego punktu, by ko!& przyj$)a dobry zwrot,
centruj#c do niego koniec ko!ci. Drugie centrowanie kursora mo"na przeprowa-
dzi& wzgl$dem pr$ta po przeciwnej stronie zawiasu. Wygl#d armatury 

Main Sys

prezentuje rysunek 4.1.

Nast$pny z systemów, 

Armanent Sys, sk)ada si$ w sumie z o!miu ko!ci, tworz#cych

po)#czenia  nieco  bardziej  skomplikowane  ni"  w  wypadku 

Main  Sys.  Podstaw#

b$dzie  oczywi!cie  ko!&  odpowiadaj#ca  za  ca)o!&  wie"y,  która  musi  si$  znale(&

background image

216

Blender. Od planowania, modelowania oraz teksturowania do animacji i renderingu

Rysunek 4.1. Armatura Main Sys

na jej osi obrotu — 

Turret. Ko!& ta ukazuje doskonale, jak wygodne mo"e oka-

za&  si$  tworzenie  siatek zast$pczych  dla  ko!ci —  tutaj  warto  stworzy&  okr#g)y
kszta)t o du"ym promieniu lub  krzy",  którego  ramiona b$d#  przenika&  przez
!cianki  wie"y.  Oczywi!cie  mo"na  by  te"  przenie!&  ko!&  wzwy"  na  osi  obrotu,
rozwi#zanie to jest jednak niepraktyczne — chc#c wykorzysta& je dla wszystkich
ko!ci znacznie zwi$kszymy panuj#cy w!ród nich chaos. Nast$pna w kolejno!ci
jest ko!& 

Cannon, która musi odpowiada& za unoszenie armaty. W tym wypadku

jako siatk$ zast$pcz# zwyk)em wykorzystywa& okr#g)y kszta)t otaczaj#cy armat$
— jest on prosty do odnalezienia i do!& dobrze komponuje si$ z reszt# szkiele-
tu, nie wprowadzaj#c ba)aganu. Zaraz za ko!ci# 

Cannon musi te" znajdowa& si$

zale"na od niej ko!& 

Gun, która w przysz)o!ci pozwoli nam na symulowanie od-

rzutu  wynik)ego  z wystrza)ów.  Do  ko!ci 

Cannon  pod)#czone  powinno  by&  wy-

)#cznie gniazdo lufy, sama lufa za! musi by& przyporz#dkowana ko!ci 

Gun. Kolej-

ne ko!ci dotycz# karabinów maszynowych oraz ich pokryw — w tym wypadku
zastosowa)em system nazewnictwa wykorzystuj#cy nazw$ karabinu oraz litery 

H,

V oraz P dla oznaczenia ko!ci steruj#cych k#tem w poziomie (od angielskiego
horizontal),  pionie  (od  vertical)  oraz  unoszeniem  pokryw  w)azów.  Sposób  tworze-
nia ko!ci w du"ej mierze zale"y od karabinów. W wypadku M2HB ko!ci 

V i P s#

dzie&mi ko!ci 

H, jako "e ostatnia z nich porusza ca)ym w)azem; z kolei w wypad-

ku karabinu M240 istnieje zale"no!& pomi$dzy ko!&mi 

V oraz H; ko!& P jest ju"

zale"na  tylko  od  ko!ci-matki  ca)ego  systemu, 

Turret.  Dodatkowo  zwró&  uwag$

na to, by ko!& 

M240 H by)a dobrze umiejscowiona — musisz j# wyrówna& do

szyny otaczaj#cej w)az )adowniczego, jednak szyna ta jest nieco obci$ta — dlatego

background image

Rozdzia  4. 

 

 Rigging

217

nie zaznaczaj jej  ca)ej,  lecz  dwa  naprzeciwleg)e  wierzcho)ki,  kraw$dzie  lub  po-
wierzchnie! Armatur$ nale"y jeszcze uzale"ni& od ko!ci 

Corpse z ko!&ca Main Sys.

W jaki sposób to zrobi&? Procedura jest bardzo prosta — wystarczy, "e w)#czysz
tryb 

Pose Mode dla ko!&ca Main Sys, zaznaczysz ko!ciec Armanent Sys, nast$pnie ko!&

Corpse  i  wywo)asz  menu  tworzenia  zwi#zku  rodzic  –    dziecko  standardowym
skrótem 

Ctrl+P. Z menu kontekstowego wybierz opcj$ Bone — dzi$ki temu ca)y

system 

Armanent Sys zostanie uzale"niony od ko!ci Corpse. Ko!ciec Armanent Sys pre-

zentuje rysunek 4.2.

Rysunek 4.2. Armatura Armanent Sys

System trakcji (

Traction Sys) nie jest by& mo"e wybitnie skomplikowanym ko!&-

cem, wymaga jednak sporo pracy ze wzgl$du na liczb$ kó). Wszystkie ko)a no!ne
nale"y wyposa"y& w par$ ko!ci, jedn# odpowiadaj#c# za rami$ zaczepu,  drug#
za!, po)#czon# z ni# bezpo!rednio, okre!laj#c# obrót i po)o"enie ko)a — ko!ci
te nie powinny przejmowa& zmian rotacji po swoim rodzicu, tote" nale"y przy-
pisa& im w)asno!& 

Hinge. Ko)o nap$dowe potrzebuje wy)#cznie jednej ko!ci, od-

powiadaj#cej  za  obrót,  któr#  podczas  animowania  b$dzie  te"  okre!la&  obrót
wszystkich innych kó). Oczywi!cie nie ma sensu tworzy& wszystkich ko!ci r$cznie
— wystarczy jedna para, któr# potem b$dziesz kopiowa) i centrowa) do kursora
przesuwanego  pomi$dzy  kolejnymi  ramionami.  Pami$taj  przy  tym,  "e  w  wy-
padku ka"dego zaczepu-ramienia, kursor 3D musi znale(& si$ dok)adnie w tym
samym miejscu (z perspektywy danego ramienia, rzecz jasna)! Po przygotowaniu
wszystkich ko!ci po jednej stronie pojazdu, mo"na nada& im nazwy sk)adaj#ce
si$ z ich numeru (licz#c od frontu czo)gu), kolejno!ci w parze (

U od angielskiego

background image

218

Blender. Od planowania, modelowania oraz teksturowania do animacji i renderingu

Up dla ko!ci bazowej oraz D od angielskiego Down dla ko!ci-dziecka) oraz (po
kropce) inicja)u angielskiego s)owa, odpowiadaj#cego lewej lub  prawej  stronie
— 

L dla lewej (left) oraz R dla prawej (Right). Zapis taki, w formie na przyk)ad 1U.R,

pozwala wykorzysta& funkcje odnosz#ce si$ do stron w ko!&cach. W naszym wy-
padku  mo"emy  skopiowa&  armatur$,  wykona&  odbicie  lustrzane,  wszystkim  ko-
!ciom zmieni& nazwy na odpowiadaj#ce „drugiej stronie” za poc# funkcji 

Flip

Left-Right Names dost$pnej z menu kontekstowego Specials [W] w trybie Edit Mode
i  scali&  obie  armatury —  mimo  do!&  d)ugiego  opisu  procedura  zajmuje  kilka
sekund, co jest do!& mi)# odmian# wobec monotonnego nazywania kolejnych
ko!ci dla ka"dego z kó). Nale"y jeszcze ca)y ko!ciec uzale"ni& od ko!ci 

Main Sys

Omega, zanim przejdziemy do etapu nast$pnego — a jest nim przygotowanie
krzywej, na której „zawini$ta” jest g#sienica. Krzywa ta musi zosta& poci$ta tak,
by jej dolny fragment posiada) liczb$ wierzcho)ków równ# dwukrotnej liczbie
kó) no!nych w dolnej cz$!ci pomniejszonej o jeden — innymi s)owy, ka"de ko-
)o  musi  posiada&  „swój”  wierzcho)ek,  dodatkowe  wierzcho)ki  musz#  te"  zna-
le(& si$ pomi$dzy ka"d# par# kó). W efekcie w dolnej cz$!ci g#sienicy powinno
znajdowa& si$ 13 wierzcho)ków. Ka"dy z nich nale"y nast$pnie przyporz#dkowa&
pojedynczemu kontrolerowi 

Hook — mo"na to zrobi&, zaznaczaj#c kolejno ka"-

dy z 13 wierzcho)ków i z menu kontekstowego 

Hooks (Ctrl+H) wybieraj#c Add/To

New Empty. Zostanie stworzonych 13 dodatkowych obiektów Empty, które wyko-
rzystamy podczas pracy nad ogranicznikami systemu trakcji, a na razie mo"e-
my je pomin#&. Podobnie nale"y tak"e przygotowa& drug# krzyw#, odpowiadaj#c#
drugiej g#sienicy. System 

Traction Sys prezentuje rysunek 4.3.

Rysunek 4.3. Armatura Traction Sys

background image

Rozdzia  4. 

 

 Rigging

219

Cz$%& 4.2. Podstawowa funkcjonalno%& szkieletu

Teoretycznie  szkielet  jest  ju"  w  pe)ni  funkcjonalny  —  poza  systemem  trakcji,
rzecz jasna. Wie"a, karabiny, pokrywy w)azów — wszystkimi tymi elementami
mo"na porusza& wedle woli. Ostatnie s)owa nie maj# jednak wyd(wi$ku pozy-
tywnego,  wci#"  jest  bowiem  mo"liwe  takie  modyfikowanie  poszczególnych  ele-
mentów,  które  absolutnie  nie  by)oby  mo"liwe  w  rzeczywisto!ci.  Aby  problem
ten naprawi&, potrzebne b$d# ograniczniki.

Zacznijmy od ko!&ca 

Armanent Sys. Wykona& nale"y tutaj seri$ ogranicze'. Przede

wszystkim  nale"y  uniemo"liwi&  przemieszczanie  si$  wszystkich  elementów
z wyj#tkiem dzia)a, jemu za! nale"y umo"liwi& jedynie niewielkie przesuni$cie,
maj#ce odwzorowywa& odrzut lufy po wystrzale. Stworzenie odpowiednich ogra-
niczników jest w tym wypadku banalne — wystarczy, "e w trybie 

Pose Mode ka"dej

ko!ci dodasz 

Limit Location Constraint, w)#czaj#c wszystkie z podanych przycisków:

MinXMinYMinZMaxXMaxYMaxZ i Local. Modyfikuj#c warto!ci liczbowe
przy ka"dym z przycisków, mo"esz ustali& pewien zakres ruchu dla ko!ci, pami$-
taj jednak, "e warto!ci przyporz#dkowane przyciskom 

Min musz# by& ujemne!

W podobny sposób dzia)a ogranicznik obrotu 

Limit Rotation — w jego wypadku

nale"y zaznaczy& przyciski 

LimitXLimitYLimitZ oraz Local. Oczywi!cie ogra-

niczników nie musisz dodawa& pojedynczo — je!li zaznaczysz wszystkie ko!ci
tak, by wyró"ni& jedn# z nich, kombinacj# 

Ctrl+C uzyskasz dost$p do menu kon-

tekstowego  pozwalaj#cego  kopiowa&  w)a!ciwo!ci  ko!ci  wyró"nionej  do  reszty
zaznaczonych ko!ci. Wybieraj#c opcj$ 

Constraints… albo Constraints (All), mo"esz

skopiowa& tak"e wybrane lub wszystkie ograniczniki. Dobrym pomys)em jest
wi$c zdefiniowanie „pustych” ograniczników dla jednej ko!ci i skopiowanie ich
do pozosta)ych — potem za! modyfikowane b$d# tylko poszczególne warto!ci.
W wypadku ko!ci 

Turret ograniczenie musi zakazywa& obrotu na dwóch osiach,

pozwala& za! na pe)en obrót wzgl$dem osi 

Z

, co jednak niekoniecznie musi ozna-

cza& odznaczenie przycisku 

LimitZ. Kiedy ko!& jest ustawiona pionowo, b$dzie

konieczne odznaczenie przycisku 

LimitY, jako "e interesuj# nas osie lokalne, o! 

Y

za! biegnie wzd)u" ko!ci i w tym wypadku pokrywa si$ z osi# globaln# 

Z

. W wy-

padku okre!lania ogranicze', nie za! zakazów, musimy jeszcze poda& warto!ci
maksymalnego obrotu b#d( przesuni$cia dla ko!ci, tak"e pos)uguj#c si$ osiami
lokalnymi. Jedyn# ko!ci# wymagaj#c# stworzenia ogranicznika (nie za! zakazu)
po)o"enia jest oczywi!cie ko!& 

Cannon.

W wypadku  ko!&ca 

Main  Sys  tak"e  nale"y  przygotowa&  kilka  ograniczników,

w tym jeden pozwalaj#cy na niewielki obrót (w zakresie do kilku stopni) ko!ci
Corpse — w animacji odpowiada ona za odwzorowanie bezw)adno!ci korpusu
np.  podczas  gwa)townego  hamowania.  Kapy 

P_FC  oraz  P_CR  nale"y  jednak

ogranicza& nie tak, by dzia)a)y na zasadzie zawiasów, lecz by da)o si$ je „wyj#&”
z ich wg)$bie' i „od)o"y&” na bok. W wypadku klap 

P_FR oraz P_FL sytuacja

background image

220

Blender. Od planowania, modelowania oraz teksturowania do animacji i renderingu

jest nieco bardziej skomplikowana — specyficzny system obs)ugiwania ko!ci
w Blenderze sprawia, "e osie ko!ci ustawionych pod k#tem innym ni" 

0

90

180

lub 

270

° na globalnej osi 

Z

… nie odpowiadaj# oczekiwaniom w nich pok)ada-

nych. Mo"emy wi$c zapomnie& o u"ywaniu ograniczników czy rotowaniu ko-
!ci w ogóle, chyba "e w trybie 

Pose Mode obrócimy ko!ci wzgl$dem ich osi 

Y

 tak,

by osie dopasowa& do naszych oczekiwa', potem za! w trybie 

Edit Mode siatki

Mesh korpusu odpowiednie kszta)ty obrócimy „z powrotem”. Innym sposobem
jest  wykorzystanie  zewn$trznego  rotatora.  W takim  wypadku  tworzymy  nowy
okr#g 

Mesh Circle, który ustawiamy tak, by sam jego kszta)t odwzorowywa) !cie"k$,

po jakiej klapa powinna si$ porusza&. Mo"na to zrobi&, wykorzystuj#c boczne
powierzchnie zawiasów dla centrowania kursora 3D oraz jako koordynaty dla
funkcji 

Align View. Nast$pnie centrujemy kursor 3D do jednego z wierzcho)ków

okr$gu i w tym w)a!nie punkcie tworzymy obiekt 

Empty, który )#czymy z okr$-

giem jako jego dziecko. Wracamy do ko!ci 

P_FR (P_FL) i dodajemy nowy ogra-

nicznik 

Constraint — IK Solver. W polu Target wpisujemy nazw$ obiektu Empty

(w moim wypadku jest to odpowiednio 

P_FR Target oraz P_FL Target) i warto!&

ChainLen ustawiamy na 1 — w przeciwnym razie nie tylko interesuj#ca nas ko!&,
ale tak"e ko!ci 

Corpse oraz Omega b$d# dostosowywane tak, by pokrywa znalaz)a

si$ w odpowiednim miejscu! Wy)#cz tak"e przycisk 

Stretch, w ko'cu nie chcemy,

by metalowy element rozci#ga) si$ jak guma. Po wykonaniu wszystkich tych ope-
racji, obracaj#c okr#g wzgl$dem osi 

Local Z, mo"emy kontrolowa& stopie' otwar-

cia klapy. Kontroler 

P_FR prezentuje rysunek 4.4.

Rysunek 4.4. Kontroler P_FR pozwalaj(cy obej)* specyficzne ograniczenia Blendera w zakresie okre)lania
osi lokalnych pojedynczych ko)ci

background image

Rozdzia  4. 

 

 Rigging

221

W wypadku 

Traction Sys sytuacja jest du"o bardziej skomplikowana. Na pocz#tek

mo"emy zrobi& to, co najprostsze — a wi$c zdefiniowa& i przypisa& wszystkim
„dolnym” ko!ciom (zawieraj#cym znacznik 

D) ograniczenie obrotu takie, które

pozwoli im obraca& si$ wy)#cznie wzgl$dem jednej osi. Ograniczenie po)o"enia
nie  jest  konieczne  —  tym  zajmuj#  si$  rodzice  ko!ci  (wyj#tkiem  s#  oczywi!cie
ko)a nap$dowe). Owi rodzice (ko!ci 

U) przysporz# nam nieco wi$cej problemów

— musimy ograniczy& stopie' ich rotacji, a jednocze!nie umo"liwi& sobie ich
swobodn# kontrol$. Najlepszym sposobem by)oby wykorzystanie ogranicznika
Track  To  lub  IK  Solver,  jednak  kiedy  tylko  ogranicznik  taki  zaczyna  dzia)a&,
wszystkie ograniczniki rotacji i lokacji s# ignorowane. Rozwi#zaniem jest wyko-
rzystanie ograniczników nie dla ko!ci bazowych (

U), ale dla celów do których

b$d# si$ one odwo)ywa&. Cele te musz# wi$c by& ko!&mi — obiektom 

Empty nie

mo"na niestety przypisywa& ograniczników bazuj#cych na przestrzeni lokalnej.
Ko!ci te nale"y stworzy& w miejscu )#czenia si$ „górnych” (

U) oraz „dolnych”

(

D)  ko!ci  kó)  no!nych.  Nast$pnym  etapem  jest  przypisanie  nowo  powsta)ym

ko!ciom ograniczników po)o"enia, umo"liwiaj#cych im niewielki ruch w gór$
oraz w dó), a tak"e dodanie do „górnych” (

U) ko!ci kó) no!nych ograniczników

Track To, wykorzystuj#cych jako cel jedn# z nowo utworzonych ko!ci — pami$-
taj, "e najpierw w polu 

Target musisz wpisa& nazw$ armatury, a wi$c Traction Sys!

W ten sposób utworzony zostaje kontroler k#ta pochylenia zaczepów na ko)a
oraz poziomu kó), jednak daleko jeszcze do ko'ca prac. W chwili obecnej mo"-
liwe jest symulowanie bezw)adno!ci pojazdu, jednak je!li skorzystasz z tej mo"-
liwo!ci, zaczepy kó) oderw# si$ od korpusu — wynika to z faktu, "e ca)a arma-
tura  kopiuje  po)o"enie  i  rotacj$  ko!ci 

Main  Sys  Omega,  ale  nie  uwzgl$dnia

przesuni$&  ko!ci 

Corpse!  Musimy  wi$c  kolejne  ko!ci  U.L  (U.R)  oraz  ko!ci  kó)

nap$dowych (

9.L9.R) uzale"ni& od korpusu relacj# rodzic – dziecko. Nie jest

to  mo"liwe  bezpo!rednio  pomi$dzy  dwiema  armaturami,  my  za!  nie  chcemy
ich )#czy& — co zrobi& w takiej sytuacji? W ko!&cu 

Traction Sys utwórz ko!& Corpse

Controller,  po)o"on#  dok)adnie  w  tym  samym  miejscu  co  ko!&  Main  Sys  Corpse,
nadaj#c jej jednocze!nie dla odró"nienia inny zwrot. Do ko!ci tej do)#cz relacj#
rodzic – dziecko kolejne ko!ci 

U.L (U.R), nast$pnie za! dodaj trzy ograniczniki

— 

Copy LocationCopy Rotation oraz Limit Rotation. Ostatni z ograniczników sko-

piuj tak, by ko!& 

Corpse Controller realizowa)a dok)adnie taki sam zakres obrotu,

co ko!& 

Corpse. Ogranicznik Limit Rotation jest wymagany ze wzgl$du na dzia)anie

tego typu ograniczników: je!li ograniczymy ko!& do obrotu o warto!& 

45°

 i nada-

my jej obrót 

90°

, ko!& „zapami$ta” drug# warto!& wizualnie zostanie za! obró-

cona tylko o 

45°

. Odwo)uj#c si$ do rotacji takiej ko!ci, otrzymujemy wi$c warto!&

90°

 z pomini$ciem wp)ywu ogranicznika. Ograniczniki 

Copy Location oraz Copy

Rotation nale"y skonfigurowa& tak, by wskazywa)y na armatur$ Coprse Sys i jej ko!&
Corpse, zaznaczaj#c jednocze!nie opcj$ Local. Tak skonfigurowana para ko!ci po-
zwala przenie!& modyfikacj$ z ko!ci w jednej armaturze do ko!ci w drugiej ar-
maturze tak, jakby by)y jedn# ko!ci#. W tej chwili system powinien ju" dzia)a&
do!& efektownie — spróbuj „pobawi& si$” ko!ci# 

Corpse. Ca)y czo)g powinien

background image

222

Blender. Od planowania, modelowania oraz teksturowania do animacji i renderingu

zmienia& nieco swój przechy), jednak ko)a zareaguj# nieco odmiennie, staraj#c si$
zrównowa"y& obci#"enie, a ich zaczepy same dostosuj#  si$  do zaistnia)ej  sytu-
acji.  Do  zako'czenia  pracy  pozosta)a  jeszcze  naj"mudniejsza  cz$!&  —  wszyst-
kim obiektom 

Empty kontroluj#cym po)o"enie g#sienic nale"y utworzy& ogranicz-

niki 

Copy Location, uzale"niaj#ce je od ko!ci odpowiadaj#cych im kó). Oczywi!cie

efektem takiego dzia)ania b$dzie nag)e przeniesienie w przestrzeni haka, co z kolei
skutkuje niechcian# modyfikacj# krzywej. Aby temu zaradzi&, wystarczy, "e po
zaznaczeniu krzywej w panelu 

Modifiers znajdziesz odpowiedni hak i wybierzesz

opcj$ 

Reset  —  sprawi  to,  "e  obecne  po)o"enie  i  rotacja  obiektu  Empty  stan#  si$

warto!ciami  bazowymi.  Do  specyficznej  sytuacji  dochodzi,  gdy  edytujemy
obiekt 

Empty ustawiony pomi$dzy dwoma ko)ami — w takim wypadku doda-

jemy dwa ograniczniki, ustawiaj#c je tak, by ich wp)yw roz)o"y) si$ po po)owie,
ustawiaj#c dla pierwszego (dolnego) parametr 

Influence na 

0,5

, dla drugiego po-

zostawiaj#c  za! 

Influence  ustawione  na 

1

. Na  pierwszy rzut  oka  mo"e  si$  to  wy-

dawa& b)$dem — w ko'cu interesuje nas, by obiekt ten pobiera) po)o"enie za-
le"nie  od  obu  ko!ci,  na  ka"dej  opieraj#c  si$  jednakowo  mocno,  my  jednak
wprowadzamy ró"ne warto!ci parametru 

Influence — dlaczego? Odpowied( jest

prosta — w obliczaniu si)y wp)ywu Blender dzia)a na warto!ciach wzgl$dnych,
nie za! globalnych. Oznacza to, "e parametr 

Influence drugorz$dnego modyfika-

tora równy 

100%

 (

1,0

) oznacza nie 100% wp)ywu ca)kowitego, ale 100% wp)ywu

pozostawionego  przez  pozosta)e  modyfikatory.  A  zatem  sposób  ustawienia
modyfikatorów sprawia teraz, "e pierwszy z nich wp)ywa na obiekt w 50%, drugi
za! w 100% pozosta)ych 50%, czyli po prostu w 50%. Tak"e ko)a o numerach 1 i 9
wymagaj# indywidualnego podej!cia — dla ko!ci kontroluj#cej dane ko)o nale"y
doda& po!rednik oraz nowy obiekt 

Empty, który pos)u"y jako hak. Po!rednik,

o którym mowa, to ko!&, która stanie pomi$dzy ko!&mi 

Corpse Controller oraz ko-

!ci# odpowiadaj#c# za ko)o — jest ona konieczna, by pozostawi& sobie mo"li-
wo!& obracania ko)em, inaczej obrót ko)a spowoduje te" obrót krzywej! Ko!& ta
musi by& ustawiona w tym samym miejscu, co ko!& odpowiadaj#ca ko)u, nale"y
j# po)#czy& relacj# 

Parent z ko!ci# Corpse Controller, do niej za! nale"y t# sam# rela-

cj#  po)#czy&  ko!&  odpowiadaj#c#  za  obrót  ko)a.  Obiekt 

Empty  musi  by&  po)#-

czony z tym w)a!nie po!rednikiem za pomoc# modyfikatora 

Copy Location oraz

Copy  Rotation.  Do  obiektu  tego  nale"y  jeszcze  do)#czy&  te  wierzcho)ki  krzywej,
które nie zosta)y po)#czone z "adnym z pozosta)ych kó). W tym wypadku nale-
"y  zaznaczy&  najpierw  obiekt 

Empty,  potem  za!  krzyw#  i  w  trybie  Edit  Mode,

z zaznaczonymi odpowiednimi wierzcho)kami, wybra& opcj$ 

Add/To Selected Object

z menu kontekstowego 

Hooks. Istnieje te" bardzo du"e prawdopodobie'stwo,

"e modyfikator 

Copy Rotation spowoduje b)$dne przekszta)cenie krzywych — w tym

jednak  wypadku  wystarczy  wykorzysta&  funkcj$ 

Reset  dost$pn#  w  opcjach  mo-

dyfikatora 

Hook. Mo"liwe te", "e w dalszym ci#gu obrót ko!ci Main Sys Omega na

jednej z osi spowoduje nieoczekiwane efekty, kiedy ko'cowe elementy krzywej
nie obróc# si$ tak jak ca)a jej reszta. Wówczas nale"y modyfikator 

Copy Rotation

zmieni& tak, by odwróci& rotacj$ na danych osiach — s)u"# do tego przyciski „

background image

Rozdzia  4. 

 

 Rigging

223

przy przyciskach odpowiadaj#cych poszczególnym osiom. Inne z haków mog#
„masowo” pobiera& obrót z ko!ci 

Main Sys Omega za pomoc# relacji dziecko – ro-

dzic, nie jest wi$c potrzebne "mudne definiowanie modyfikatorów 

Copy Rotation.

Na  koniec  musimy  zaradzi&  jeszcze  jednemu  problemowi  —  je!li  przechylisz
czo)g tak, by jedna g#sienica znalaz)a si$ poni"ej drugiej, zauwa"ysz, "e g#sieni-
ce nie zmieniaj# swojej rotacji — co jest efektem co najmniej interesuj#cym, nie-
mniej jednak niechcianym. Aby problem zlikwidowa&, b$dziemy potrzebowali
dwóch dodatkowych obiektów 

Empty, umieszczonych w !rodkach obu krzywych.

Obiekty te, nazwane przeze mnie 

LT

 i 

RT Driver

 (

Left\Right Track Driver) nale"y

po)#czy& relacj# rodzic – dziecko z ko!ci# 

Main Sys Omega, krzywymi oraz g#sie-

nicami tak, by krzywe oraz g#sienice uzale"ni& od obiektu 

Driver, a sam obiekt

od ko!ci 

Omega. Zwró& uwag$, "e bezpo!rednie po)#czenie g#sienic z ko!ci# Omega

nie przyniesie spodziewanych efektów! W idealnej sytuacji nasza praca ko'czy
si$  w  tym  momencie,  mo"liwe  jednak,  "e  do  jej  zako'czenia  potrzeba  wci#"
kilku drobnych modyfikacji. We( te" pod uwag$, "e je!li do stworzenia g#sienic
wykorzysta)e! krzyw# 

Bezier, to wierzcho)ki w jej spodniej cz$!ci, pod)#czone do

poszczególnych  kó)  no!nych,  musz#  zosta&  przeskalowane  do  zera!  Inaczej
podczas zmiany po)o"enia kó) krzywa mo"e zosta& wyrysowana w z)y sposób!
Wa"ne jest tak"e, by krzywa ko'czy)a si$ od strony przeciwnej ni" ta z ko)em
nap$dowym — je!li natomiast tak jest, nale"y odwróci& jej kierunek! Ka"da mo-
dyfikacja po)o"enia kó) zmienia nieco d)ugo!& krzywej, a co za tym idzie, tak"e
sposób „nawini$cia” na ni# g#sienicy — my natomiast nie mo"emy dopu!ci&, by
precyzyjnie dopasowana do ko)a nap$dowego g#sienica nagle z niego „zjecha)a”.

Cz$%& 4.3.
Zaawansowana funkcjonalno%& szkieletu

4.3.1. Dualny system namierzania

System przypisany szkieletowi wie"y mo"na na pewno nazwa& funkcjonalnym
— w ko'cu pozwala wycelowa& zarówno dzia)o jak i karabiny w dowolne miej-
sce  na  scenie.  W  tym  w)a!nie  tkwi  problem  —  spróbuj  teraz  wycelowa&  luf$
czo)gu w pewien daleko po)o"ony punkt. Nie jest to a" tak proste, jak by& po-
winno,  to  pewne.  Wyobra(  sobie  teraz  rotacj$  wie"y  czo)gu  podczas  animacji
— by)oby to niezmiernie czasoch)onne i trudne, trzeba wi$c wyci#gn#& asa z r$-
kawa i rozbudowa& system celowniczy naszego czo)gu.

Systemy namierzania u"ywane w riggingu mo"na podzieli& na dwa rodzaje na-
zywane przeze mnie systemami pierwotnymi i wtórnymi. Systemy pierwotne to
dok)adnie to, co ju" zamontowali!my na naszym Abramsie — system celowania

background image

224

Blender. Od planowania, modelowania oraz teksturowania do animacji i renderingu

zale"ny od k#ta obrotu i uniesienia lufy podanych przez u"ytkownika progra-
mu. System ten cechuje si$ wysok# precyzj# i prostot# w uzyskiwaniu obrotu
o dok)adnie za)o"ony k#t, st#d te" ten w)a!nie system jest idealny, gdy chcemy
obróci& wie"$ do pozycji spoczynku. Jak ju" zauwa"yli!my, nie jest on jednak
najlepsz# opcj#, gdy chcemy mierzy& do jakiego! konkretnego celu. W tej chwi-
li na scen$ wkraczaj# systemy wtórne — u"ytkownik podaje wy)#cznie koordy-
naty celu, najcz$!ciej przesuwaj#c na' specjalnie do tego celu przygotowany ce-
lownik, wie"a za! sama przyjmuje taki obrót, by lufa wskazywa)a dok)adnie zadany
punkt. „Monta"” systemu wtórnego w Abramsie jest banalnie prosty — wystar-
czy, "e ko!ciom 

Turret i Cannon (lub M240 H i V oraz M2HB H i V) ko!&ca Armanent

Sys przypiszemy modyfikatory Locked Track, dobieraj#c odpowiednie osie To i Loc.
Bardzo przydaje si$ w)#czenie opcji wy!wietlania osi dla ko!ci, dzi$ki czemu )a-
twiej jest okre!li&, która z nich ma nakierowywa& si$ na cel (

To) oraz która ma

pozosta& niezmieniona (

Loc). W polu Target nale"y wpisa& nazw$ obiektu Empty

lub jego siatkowego odpowiednika — obiektu bez powierzchni 

faces, widoczne-

go w strefie 

3D View, lecz niewidocznego na renderze. W moim wypadku nazwy

poszczególnych „celowników” to 

Cannon TargetM2HB Target oraz M240 Target.

Niestety, modyfikator 

Track To znosi ograniczenia obrotu, st#d te" nale"y u"y-

wa& go ostro"nie! Mo"emy tak"e wykorzysta& ma)# sztuczk$, dzi$ki której zyska-
my  dost$p  do  obu  systemów  jednocze!nie  —  starczy,  "e  na  osi  obrotu  wie"y
stworzymy nowy obiekt 

Empty lub (co jest lepszym rozwi#zaniem) „pust#” siatk$

— obiekt ten pos)u"y nam za kontroler, który nale"y po)#czy& relacj# dziecko
– rodzic z u"ytym wcze!niej celem tak, by cel uzale"ni& od obrotu kontrolera.
Dzi$ki  temu,  obracaj#c  kontroler,  mo"emy  kontrolowa&  wie"$  z  u"yciem  sys-
temu  pierwotnego;  przemieszczaj#c  cel,  zyskujemy  natomiast  dost$p  do  syste-
mu wtórnego.  Sam  kontroler  nale"y  te"  po)#czy&  relacj#  rodzic  –  dziecko  lub
modyfikatorem 

Copy Location z ko!ci# Main Sys Omega. W pierwszym przypadku

wie"a czo)gu b$dzie obraca& si$ razem z nim, w drugim — pozostanie niezale"-
na od obrotów korpusu. Dobrym rozwi#zaniem jest te" wykorzystanie modyfi-
katorów 

Copy Location i Copy Rotation. Modyfikuj#c parametr Influence drugiego

z nich, zyskamy mo"liwo!& kontrolowania sposobu zachowania si$ wie"y. Nie-
stety, opcja taka wymaga u"ycia kolejnego po!rednika, do którego przypiszemy
ograniczniki, po)#czonego za pomoc# modyfikatorów z ko!ci# 

Main Sys Omega

oraz relacj# rodzic – dziecko z kontrolerem wie"y — modyfikator 

Copy Rotation

uniemo"liwia bowiem r$czn# kontrol$ rotacji!

Jako ciekawostk$ wspomn$ jeszcze, "e w ramach zabawy uda)o mi si$ z pomoc#
modyfikatorów uzyska& dynamiczny obiekt nazwany przeze mnie „pe)zaczem”
— sk)ada) si$ on z krzywej oraz podró"uj#cego po niej obiektu 

Empty. Oba te

obiekty by)y skonfigurowane tak, "e z pocz#tku obiekt 

Empty przemieszcza) si$

na koniec krzywej, potem za! krzywa przemieszcza)a si$ tak, by znale(& si$ w miej-
scu wskazanym przez obiekt 

Empty. Powodowa)o to nieustanny ruch, przy kilku

dodatkowych  ogranicznikach  pozwalaj#cy  na  automatyczne  ograniczenie  szyb-
ko!ci obracania si$ wie"y — nawet je!li przemie!cili!my cel z jednego ko'ca

background image

Rozdzia  4. 

 

 Rigging

225

sceny  na  drugi,  mija)  pewien  czas,  zanim  wie"a  by)a  w  stanie  we'  wycelowa&.
Ostatecznie jednak pe)zacz okaza) si$ bardzo problematyczny — bazowa) w ko'-
cu na niedoskona)o!ci architektury programów komputerowych analizuj#cych
dane w pewnej kolejno!ci, w przeciwnym razie stworzenie dwóch obiektów na-
wzajem zmieniaj#cych swoje po)o"enie nie by)oby mo"liwe.

Je!li u#yjesz modyfikatorów Python, wymagaj$cych oczywi!cie znajomo!ci tego j%zyka,
mo#esz znacznie udoskonali& system celowniczy. „Pe(zacza” mo#na wi%c zast$pi& znacznie
mniej zawodnym systemem, wtórny system celowania rozbudowa& za! tak, by bra(
pod uwag% trajektori% pocisku, szybko!& poruszania si% czo(gu czy nawet wcze!niej
zdefiniowany wiatr… Teoretycznie jest nawet mo#liwe odwzorowanie komputera
balistycznego zamontowanego w prawdziwych czo(gach M1!

4.3.2. Animacja ruchu g0sienic

Posiadamy  wi$c  pierwszej  jako!ci  system  kontroli  g#sienic  —  nie  posiadamy
jednak  mo"liwo!ci  poruszania  nimi.  B)#d  ten  nale"y  oczywi!cie  czym  pr$-
dzej naprawi&. Wykorzystamy w tym celu pewn# sztuczk$ — chodzi mianowicie
o  to,  "e  je!li  przemie!cimy  na  odpowiedniej  osi  obiekt  powielony  na  krzywej
modyfikatorami 

Array i Curve, efekt tego powielenia równie" b$dzie podlega&

przesuni$ciu.

Jednak na pocz#tek rzeczy pierwsze — musimy stworzy& dwa nowe, do!& niety-
powe ko!&ce, sk)adaj#ce si$ z pojedynczych ko!ci. Odpowiednio dla lewej i pra-
wej g#sienicy b$d# to 

Track Sys.L oraz Track Sys.R, ko!ci za! okre!li)em mianem

Controler. Do ko!ci tych nale"y przy)#czy& ogniwo g#sienicy (obiekt, nie siatk$),
u"ywaj#c w tym celu relacji rodzic – dziecko (

Make Parent to Bone), nie za! typo-

wej zale"no!ci 

Armature! Oba ko!&ce nale"y z kolei po)#czy& z odpowiadaj#cymi

im krzywymi g#sienic, u"ywaj#c w tym celu modyfikatorów 

Copy Location oraz

Copy Roatation — relacja typu Parent nie zadzia)a, jako "e modyfikator Curve wy-
korzystany  dla  cz)onu  g#sienicy  i  wykorzystuj#cy  t$  w)a!nie  krzyw#  jako  cel
wymaga,  by  by)a  ona  interpretowana  jako  !cie"ka.  W  takim  za!  wypadku  do-
wolny obiekt po)#czony z krzyw# relacj# rodzic – dziecko b$dzie si$ przemiesz-
cza) wzd)u" tej"e !cie"ki — co jest oczywi!cie efektem jak najbardziej niepo"#-
danym w naszej sytuacji.

Czas zaj#& si$ cz$!ci# nieco bardziej skomplikowan# — dla ka"dego z ko!&ców
musimy doda& now# akcj$, prezentuj#c# przesuni$cie si$ g#sienicy o jedn# jed-
nostk$. Pisz#c „jedn# jednostk$” mam na my!li tyle cz)onów g#sienicy, ile sta-
nowi podstawowy obiekt, pomijaj#c powtórzenia wynikaj#ce z dzia)ania mody-
fikatora 

Array.  Dlatego  te",  je!li  za  pomoc#  wspomnianego  modyfikatora  na

ca)ej d)ugo!ci g#sienicy powtarzany jest jeden cz)on, jego d)ugo!& b$dzie jedn#
jednostk#,  je!li  cztery  cz)ony  —  jednostka  b$dzie  równa  d)ugo!ci  czterech
cz)onów.  Konieczno!&  okre!lenia  wielko!ci  takiej  jednostki  wynika  z  faktu,

background image

226

Blender. Od planowania, modelowania oraz teksturowania do animacji i renderingu

"e nie b$dziemy przemieszcza& ca)ej g#sienicy, to bowiem wymaga)oby systemu
tak skomplikowanego, by ka"dy cz)on g#sienicy by) osobnym elementem, któ-
rego po)o"enie okre!la)by jego w)asny, miniaturowy ko!ciec. Oczywi!cie stworze-
nie takiego systemu by)oby mo"liwe, jednak eksperymenty pozostawiam Tobie
— my za! b$dziemy „oszukiwa&”, wykonuj#c za ka"dym razem to samo przej-
!cie g#sienicy. W praktyce b$dzie to wygl#da& tak, jakby po przesuni$ciu si$
o jedn# jednostk$ g#sienica teleportowa)a si$ z powrotem do pozycji bazowej
i powtarza)a swój ruch. Rzecz jasna widz nie b$dzie mia) szans tej teleportacji
zauwa"y&  —  g#sienica  jest  przecie"  powtarzalna,  a  wi$c  jej  nag)e  przesuni$cie
si$ z powrotem do pozycji bazowej b$dzie wygl#da)o zupe)nie tak samo jak kon-
tynuacja ruchu.

Wracaj#c jednak do cz$!ci praktycznej — ko!ci 

Controler nale"y nada& dwa klucze

IPO Loc, jeden z nich w pierwszej klatce w jej pozycji bazowej, drugi za! w klatce
dziesi#tej po przesuni$ciu ko!ci o odpowiedni# warto!&. Warto!& t$, stanowi#c#
d)ugo!& jednej jednostki, mo"na uzyska& w bardzo prosty sposób — jest przecie"
wpisana w jednym z pól 

Constant Offset modyfikatora Array cz)onu g#sienicy! Tak"e

o!, pod któr# owa warto!& widnieje, ma znaczenie — to w)a!nie na niej przesu-
ni$cie powinno si$ odby&. W oknie 

Action Editor mo"emy teraz nada& takiej ak-

cji  odpowiedni#  nazw$,  na  przyk)ad 

Move.  We(  pod  uwag$,  "e  wystarczy  nam

jedna akcja dla obu g#sienic — w ko'cu ko!ci kontroluj#ce przesuni$cie w obu
ko!&cach maj# t# sam# nazw$. Nale"y jeszcze wybra& odpowiedni rodzaj inter-
polacji — obecnie ruch nie jest jednostajny, lecz przy!piesza z pocz#tku i zwalnia
na ko'cu trasy. Gdyby tak# akcj$ wykorzysta& do „nap$du” czo)gu, ca)a g#sie-
nica porusza)aby si$ ze zmienn# pr$dko!ci#, co poza fatalnym i nierealistycznym
wygl#dem stanowi)oby koszmar synchronizacji ruchu g#sienicy i kó). Dlatego
te" nale"y zaznaczy& oba klucze i z rozwijanego menu 

Key panelu narz$dziowe-

go okna 

Action Editor wybra& podmenu Interpolation Mode, tam za! wskaza& na in-

terpolacj$ liniow# (

Linear). Na koniec usu' akcj$ Move — nie zostanie ona oczy-

wi!cie ca)kowicie usuni$ta, a jedynie wy)#czona, dzi$ki czemu nie b$dzie wp)ywa&
na przemieszczenie g#sienic, dopóki sami jej nie wywo)amy.

Kolejnym elementem b$dzie uzale"nienie przemieszczenia cz)onu g#sienicy od
kontrolera. Nie b$dziemy jednak (jeszcze) tworzy& "adnej zewn$trznej kontrolki
— wykorzystamy inn# metod$, która pozwoli nam zgrabnie zamkn#& kwesti$
przesuwania g#sienicy w innym mechanizmie. Sztuczka, o której mowa, polega
na uzale"nieniu ruchu g#sienicy od ko)a nap$dowego — co jest oczywi!cie od-
wzorowaniem  realnego  stanu  rzeczy,  jednak  stanowi  to  raczej  efekt  uboczny.
Najwa"niejsz# zalet# takiego podej!cia jest ca)kowite wyeliminowanie problemu
synchronizacji pomi$dzy ko)ami a g#sienic# — raz przeprowadzona przestanie
by& istotna! Aby tak# synchronizacj$ przeprowadzi&, trzeba najpierw akcj$ 

Move

ko!ci 

Track Sys Controler uzale"ni& od obrotu ko)a nap$dowego. W tym celu do ko!ci

tej dodajemy ogranicznik 

Action, w pole OB: wpisuj#c nazw$ ko!&ca — 

Traction

Sys

, w pole 

BO: — 

9.L

 (

9.R

), w pole 

AC: — 

Move

, pola 

Start i End uzupe)niamy

background image

Rozdzia  4. 

 

 Rigging

227

za pomoc# warto!ci 

1

 i 

9

, a w pola 

Min i Max wprowadzamy warto!ci 

-180

 i 

180

.

Pierwszym zaskoczeniem mo"e by& warto!& 

9

 w polu 

End — przecie" akcja ko'-

czy)a si$ w dziesi#tej klatce? Jest to oczywi!cie prawda, jednak jej pierwsza i ostat-
nia  klatka  s#  identyczne,  dlatego  te"  nale"y  jedn#  z  nich  pomin#&.  Warto!ci
Min i Max odpowiadaj# oczywi!cie warto!ci obrotu, na jaki reagowa& b$dzie akcja
— nas  interesuje oczywi!cie,  by  dowolny  obrót  ko)a aktywowa)  przemieszcze-
nie g#sienicy. Zaznacz jeszcze przycisk 

Local i wybierz o!, która odpowiada ob-

rotowi ko)a. Nast$pnym krokiem jest przygotowanie synchronizacji — obecnie
pe)en  obrót  ko)a  powoduje  przej!cie  jednego  cz)onu  g#sienicy,  co  jest  oczywi-
!cie b)$dem, poniewa" przemieszczenie powinno wynosi& 11 cz)onów. Wystarczy
jednak  zmodyfikowa&  akcj$ 

Move  tak,  by  realizowane  przez  ni#  przemieszcze-

nie  dotyczy)o  w)a!nie  11  cz)onów  g#sienicy.  Warto!&  takiego  przemieszczenia
obliczysz na podstawie prostego wzoru: 

11*(A/C), gdzie C oznacza liczb$ cz)o-

nów w jednostce d)ugo!ci, 

A oznacza za! warto!& przesuni$cia wpisan# w mo-

dyfikator 

Array. Na koniec nale"y jeszcze uzale"ni& motoryk$ pozosta)ych kó)

od ko)a  nap$dowego —  wystarczy  skopiowa&  jego rotacj$  za  pomoc#  modyfi-
katorów 

Copy Rotation.

Tak przygotowany system trakcji jest ju" praktycznie gotów do u"ycia — mo"-
na go oczywi!cie dalej rozbudowa&, dodaj#c zewn$trzne kontrolery rotacji kó),
a nawet wykorzystuj#c kolejne akcje dla zautomatyzowania animacji g#sienic pod-
czas poruszania si$ czo)gu po !cie"ce — to jednak pozostawiam ju" Twojej inwen-
cji, jako "e w porównaniu do samego systemu trakcji b$dzie to dziecinnie proste.