Etsin tapaa yhdistää kaksi erillistä objektia siten, että kun siirrän ensimmäistä objektia, myös toinen liikkuu. Termi vanhempaa käytetään, mutta miten objektia vanhennetaan?
Vastaa
Jos haluat saada nopean ja yksinkertaisen vastauksen, valitse objekti, joka ensin liitetään (lapsiobjekti), ja valitse sitten objekti, joka siirtää muunnostiedot aliobjektiin (pääobjekti). Valintajärjestys on tärkeä, pääobjekti on valittava viimeisenä, jotta se on aktiivinen objekti . Paina nyt Ctrl P > objekti .
On monia tapoja emo esineitä tehosekoittimessa. Voit hallita objekteja viidestä eri ikkunasta: 3D-näkymä, Ominaisuuseditori, Outliner, Tekstieditori ja -konsoli; lisäksi on olemassa pelottava luettelo erilaisista vanhemmista.
Ylittää, että vanhemmuus on monimutkainen koetus, joten haluan yrittää yksinkertaistaa sitä.
Tästä suuresta luettelosta vanhemmuutta on todellakin vain kolme tyyppiä. Nämä ovat Object , Armature ja Vertex .
Monien vanhemmuuslajien erot
-
Objekti on ylivoimaisesti yleisin vanhempien tyyppi. Sitä käytetään kahdeksassa kolmestatoista vanhemmuuden tyypistä.
Aina kun valitaan kaksi tai useampi objekti, objektin vanhemmuuden tyyppi on käytettävissä. Kaikki käännökset (mittakaavan kierto ja sijainti) pääobjektiin vaikuttavat lapseen. -
Armature Deform Tämä on kiistatta monimutkaisin vanhemmuusryhmä tyypit. Ankkurin muodonmuutos on käytettävissä vain, kun aktiivinen objekti on armeija. Se asettaa Object -vanhemman, valitun objektin ollessa lapsi ja aktiivisen objektin (ankkuri). Se lisää Armature -muuttujan lapsiobjektiin, ja ankkuri on jo asetettu muokkauksen kohdeobjektiksi. Tässä vaiheessa se ei tee mitään muuta kuin tavallinen objektin vanhempi. Kolme alavaihtoehtoa Takilauksessa käytetään tyhjiä ryhmiä , automaattisia painoja ja kirjekuoripainoja .
-
Bone on käytettävissä vain, kun aktiivinen objekti on ankkuri. Se on täsmälleen sama kuin kohteen vanhempi, mutta tässä lapsi muuttuu yhdestä luusta.
Sijoitin renkaan alla olevaan kuvaan sormen, sitten Vaihto valitsi ankkuri. Kun ankkuri on nyt aktiivisena objektina, voit siirtyä Pose -tilaan ja valita oikean luun. Lopuksi vanhenna objekti luu, ja Ctrl P > Bone . -
Bone Relative on sama kuin luu sillä erolla, että kaikki muutokset vanhemman luun muokkaustilassa tehty ei vaikuta lapsiobjektiin.
-
Käyränmuoto on käytettävissä vain, kun aktiivinen objekti on käyräobjekti ( Bezier- tai Nurbs-käyrä). Se asettaa Object -vanhemman, valitun objektin ollessa alatason ja aktiivisen objektin (käyrän) vanhemman. Se lisää Käyrä -muuttujan lapsiobjektiin siten, että käyrä on jo asetettu muokkauksen kohdeobjektiksi.
-
Seuraa polkua taas on käytettävissä vain, kun aktiivinen objekti on käyräobjekti. Se asettaa Object -päätason, kuten Käyränmuotoilu. Se myös animoi Arviointiaika Polun animaatio käyräobjektissa.
-
Polun rajoitus on viimeinen vaihtoehto vain käyräobjekteille. Se ei aseta vanhempia, vaan lisää Seuraa polkua -rajoituksen valittuun objektiin rajoituksen kohde aktiivisena objektina (käyrä).
-
Lattice Deform on erityinen vaihtoehto, joka on käytettävissä vain, kun aktiivinen objekti on ristikko. Se asettaa hilan vanhemmaksi ja valitun objektin lapseksi, ja se lisää ristikon muokkaajan valittuun objektiin.
-
Vertex Tämä on yksi kolmesta vanhemmuuden tyypistä. Se eroaa kohteen vanhemmasta siinä, että lapselle annetaan vain sijaintitiedot. Se on kärkipisteen sijainti. Pääobjektin ei tarvitse liikkua, mutta muokkaaja voi muuttaa kärkipisteen sijaintia, lapsiobjekti liikkuu.
-
Kärki (kolmio) Ensi silmäyksellä se voi näyttää samalta kuin objektin vanhempi, mutta pikemminkin se on täsmälleen sama asia kuin kärkipiste, paitsi että nyt on 3 kärkeä. Kolmesta kärjestä lapsi saa sijainnin, mittakaavan ja pyörimisen samalla tavalla kuin kohteen vanhemmassa; pisteiden seuraamisen etuna.
3D-näkymä
Yleisin tapa vanhemmille objekteille on 3D-näkymässä, kun kaksi tai useampi objekti on valittu, paina Crtl P > esine . Huomaa, että vanhempi on aktiivinen objekti ja lapsi on valittu objekti. Tämä on sama kuin 3D-näkymän otsikon valikon käyttäminen Objekti > Vanhempi > Objekti . Lapsen vanhempien suhteiden aluksia edustaa 3D-näkymässä pieni katkoviiva, joka yhdistää esineiden alkuperät.
Tässä kuutio ja apina on jo Object parentoitu. Kuutio on ylätaso (aktiivinen objekti) ja apina on lapsi.
Outliner
Outliner on hieno, koska siinä ei ole sekaannusta aktiivisen objektin kanssa tai millä tavalla vanhempi on menossa. Vedät yksinkertaisesti haluamasi lapsiobjektin kuvaketta ja pudotat sen halutun pääobjektin päälle. Jos vanhemmuuteen on enemmän kuin yksi vaihtoehto, tehosekoitin kysyy, mitä haluat käyttää.
Ominaisuudet-ikkuna
Voit yksinkertaisesti valita objektin, josta tulee vanhempi. Tätä menetelmää käytettäessä aktiivinen objekti on aina lapsi .
Tätä menetelmää käyttävät vanhemmuuskohteet kuitenkin tuottavat hyvin erilaisia tuloksia kuin 3D-näkymä tai ääriviiva.
Alla olevassa kuvassa kuutio ja kartio ovat täsmälleen samassa paikassa ja niillä ei ole pyörimistä tai mittakaavaa. Vasen puoli on, miten molemmat näyttivät ennen vanhemmuutta. Parentoin kuution kartioon sekä keskellä että oikealla puolella. Keskus on vanhentunut 3D-näkymän kautta, ja oikealla käytin kenttää ominaisuusikkunassa.
Ero tulee eri python-komennoista (lisää python-osiossa). Tärkeää on, että kun käytetään ominaisuusikkunan kenttää, lapsiobjektin etäisyys maailman alkuperästä (0,0,0) siirtyy vanhemman poikkeamaan. Tämä näkyy yllä olevassa kuvassa, kun kuutio on 4 yksikköä kartion X-akselia pitkin.
Python
Kaksi viimeistä paikkaa, joita voit hallita, ovat tekstieditori ja konsoli . Molemmat antavat pääsyn vanhemmuuteen suoraan pythonin kautta. Kaksi vanhemmuuden komentoa ovat
bpy.ops.object.parent_set()
ja bpy.data.objects["child"].parent = bpy.data.objects["parent"]
Tämä komentosarja on vanhempi kuin 3D-näkymä.
import bpy bpy.data.objects["child"].select = True bpy.data.objects["parent"].select = True bpy.context.scene.objects.active = bpy.data.objects["parent"] bpy.ops.object.parent_set()
Tämä koodirivi kuitenkin
bpy.data.objects["child"].parent = bpy.data.objects["parent"]
on vanhempi kuin ominaisuusikkunan käyttö. Syynä on, että ominaisuusikkuna toimii bpy.context.object.parent = bpy.data.objects["parent"]
, mutta kaikkialla muualla tehosekoitin käyttää parent_set()
.
Voit kuitenkin välttää bpy.ops.object.parent_set()
-toiminnon käyttämisen ja antaa lapsiobjektin jäädä sen sijaintiin vanhempien jälkeen g. Tätä varten sinun on määritettävä lapsi ”s matrix_parent_inverse
vanhemman käänteiseen maailmamatriisiin. Katso alla oleva koodi:
parent = bpy.data.objects.get("parent") child = bpy.data.objects.get("child") if child: child.parent = parent if parent: child.matrix_parent_inverse = parent.matrix_world.inverted()
Muut vaihtoehdot
On olemassa kaksi muuta tapaa saada saman tyyppinen suhde kuin objektin vanhempi, nämä kaksi ovat Rajoituksen lapsi ja ylätason toimilaite .
Rajoituksen lapsi
Child Of Constraint toimii samalla tavalla kuin objektin vanhempi, ja lisäetu, joka liittyy rajoitukseen: animoitava, useita vanhempia samassa objektissa, joka vaikuttaa vain tiettyihin muunnoksiin ja vaikuttaa vain tiettyihin akseleihin.
Kuten manuaalisesti, kun olet määrittänyt kohdeobjektin, haluat todennäköisesti painaa " Aseta käänteinen " -painiketta rajoitus (tämä palaa samaan asiaan kuin ero vanhemmassa omistusikkunassa verrattuna 3D-näkymään) . Nyt sinulla on objekti, joka käyttäytyy aivan kuten objektin vanhemmassa oleva lapsiobjekti.
Yksi rajoitus rajoitteesta on, että jos valitset sekä lapsi- että vanhempainobjektit ja siirrät niitä, lapsella tapahtuva liike olla yhdistelmä, eli se liikkuu kaksi kertaa nopeammin kuin vanhempi. Siirron jälkeen painat " Aseta käänteinen " -painiketta uudelleen saadaksesi lapsen takaisin oikea sijainti.
Rajoitetun lapsen suosikkini on, että voit vaikuttaa vain tiettyihin muunnoksiin. Tämä osoitetaan yllä olevassa gifissä.
Vanhempien toimilaite
Vanhempien toimilaitteiden looginen tiili toimii vain pelimoottorissa.Se tekee täsmälleen saman asian kuin tavallinen objektin vanhempi. Vaikka tavallinen vanhemmuus toimii pelimoottorissa (on joitain oudot ). Ylemmän toimilaitteen etuna on, että vanhempaa voidaan hallita dynaamisesti pelissä logiikkatiilien tai pythonin avulla.
Kommentit
- Hyvä kattava luettelo uudelleen – ohjaa ihmisiä.
- Erittäin mukavaa! Mitä eroa 3D-näkymässä on " -objektin " ja " -objektin ( Pidä muunnos) "?
- Anson Savage, Keep Transform -kohdassa objekti säilyttää täsmälleen saman sijainnin kuin sinä järjestit objektin kolmiulotteisessa näkymässä.