Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Rozdział4Obiektynadrzędneipodrzędne
narękojeścipistoletu.Wtensposób,gdybędziemyumieszczaćtenobiekt,tobędziemy
określać,gdziemasięznaleźćjegorękojeść,anienaprzykładlufa.
Naszczęścienaraziemamydoczynieniajedyniezsiatkamipodstawowychkształ-
tów,więcwszystkopowinnobyćdośćprzewidywalne.Czasamijednakmożemychcieć
samidostosowaćpunktobrotujakiegośobrotu-iniejesttotrudne.
Powiedzmy,żewgrzemamybudynkipodobnedowłaśniezrobionegoprzeznas
drapaczachmurichcemypozwolićgraczowikupowaćirozmieszczaćtebudynkiwróż-
nychmiejscachnaobszarzegry.Punktobrotumożestanowićwtedyproblem,ponie-
ważniemożemypoprostuumieszczaćnaszychbudynkównapoziomiepodłoża-wten
sposóbumieścimyśrodeksześcianunapodłożu,ajegodolnaczęśćbędziewystawać
podpodłożem.Musielibyśmyzawszeumieszczaćbudynkinadpodłożemnawysoko-
ścirównejpołowiewysokościdolnegosześcianu,abyzawszeznajdowałysiędokładnie
napodłożu.Jeślijednakkażdyzbudynkówmiałbyinnąwysokośćdolnegosześcianu,
możetobyćkłopotliwewkodowaniu.
Najlepiejchcielibyśmy,abypunktobrotubyłnaśrodkusześcianuwzględemosiX
iZ,alenasamymjegodolewzględemosiY,kiedywięcbędziemy„umieszczaćbudynek
wjakimśpunkcienapodłożu”,towpunkcietymznajdziesiędółbudynku.Wtenspo-
sóbżadnaczęśćbudynkuniebędzieprzenikaćprzezpodłoże.
Łatwotonaprawić.Możemyutworzyć„pustyelementGameObject”.Jesttoele-
mentGameObject,któryniemażadnychskładnikówpozaTransform-jestwięcjedy-
niepunktemwprzestrzenitrójwymiarowej.Oczywiściemoglibyśmypóźniejdodawać
doniegojakieśskładniki,aleniemusimytegorobićwtymprzypadku.
TworzymypustyelementGameObject,korzystajączopcjiGameObjectCreate
Empty(utwórzpusty)albozeskrótuklawiszowegoCtrl+Shif+N.Nadajemymusen-
sownąnazwę:Skyscraper(drapaczchmur).BędzietogłównyelementGameObject
hierarchiiobiektówskładającychsięnanaszbudynek-tzn.najbardziejnadrzędny
obiekt,doktórego(bezpośredniolubpośrednio)będądołączonewszystkieinne.Gdy
będziemygoprzenosić,przenoszonybędziecałybudynek.Wartowięcnadaćmunazwę
określającą,comająstanowićłączniewszystkiejegoobiektypodrzędne.Używanieod-
powiednichnazwjestdobrąpraktyką,którąwartostosować!
Umieszczamygowmiejscu,gdziechcemymiećpunktobrotunaszegoobiektuiczy-
nimygoobiektemnadrzędnymdlaobiektuCubeBase.Pokażępewnąsztuczkę,jakod-
powiednioustawićjegopołożenie.
Mówiłemwcześniej,żelokalnewspółrzędnepołożeniaopierająsięnaskaliobiektu
nadrzędnego.JeśliobiektSkyscrapermaobiektnadrzędny,którypowiedzmymaska-
10naosiY,tokażdajednostkapołożeniaYwobiekcieSkyscraperbędziewynosiła
43