Come faccio a “ genitore ” oggetti?

Sto cercando un modo per collegare due oggetti separati, in modo che quando sposto il primo oggetto si muoverà anche il secondo. Il termine genitore viene utilizzato, ma come genitore un oggetto?

Risposta

Per una risposta rapida e semplice, seleziona loggetto che sarà connesso per primo (oggetto figlio), quindi selezionare loggetto che trasferirà i dati di trasformazione alloggetto figlio (oggetto padre). Lordine di selezione è importante, loggetto padre deve essere selezionato per ultimo in modo che sia oggetto attivo . Ora premi Ctrl P > Oggetto .


Ci sono molti modi per genitore di oggetti in Blender. Puoi genitore di oggetti da cinque diverse finestre: Vista 3D, Editor delle proprietà, Outliner, Editor di testo e Console; in più cè un elenco scoraggiante di diversi tipi di genitori.
elenco di tutti i p Non ci sono opzioni
Sembra che la genitorialità sia un calvario complesso, quindi lasciami provare a semplificarla.
Di questo lungo elenco, ci sono davvero solo tre tipi di genitorialità. Questi sono Oggetto , Armatura e Vertex .

Le differenze nei molti tipi di genitorialità

  • Oggetto È di gran lunga il tipo più comune di genitore. Viene utilizzato in otto dei tredici tipi di genitorialità.
    Ogni volta che vengono selezionati due o più oggetti, il tipo di genitorialità delloggetto è disponibile. Qualsiasi traslazione (rotazione della scala e posizione) alloggetto genitore avrà effetto sul bambino.

  • Deformazione dellarmatura Questo è probabilmente il gruppo più complicato di genitorialità tipi. La deformazione dellarmatura è disponibile solo quando loggetto attivo è unarmatura. Imposta un Oggetto genitore, con loggetto selezionato come figlio e loggetto attivo (larmatura) come genitore. Aggiunge un modificatore Armature alloggetto figlio, con larmatura già impostata come Oggetto di destinazione del modificatore. A questo punto non farà altro che un normale oggetto genitore. Le tre opzioni secondarie Gruppi vuoti , Pesi automatici e Pesi avvolgenti vengono utilizzati nel processo di rigging.

  • Osso È disponibile solo quando loggetto attivo è unarmatura. È esattamente uguale a un oggetto genitore, ma qui il bambino viene trasformato da un singolo osso.
    Nellimmagine sotto ho posizionato lanello attorno il dito, quindi Shift ha selezionato larmatura. Con larmatura ora come oggetto attivo puoi entrare in modalità Posa e selezionare losso appropriato. Infine genitore delloggetto con il bone, con Ctrl P > Bone . esempio di utilizzo del tipo di genitore osseo

  • Relativo osseo È uguale allosso con la differenza che qualsiasi modifica fatto in modalità di modifica allosso genitore non avrà effetto sulloggetto figlio.

  • Deformazione curva È disponibile solo quando loggetto attivo è un oggetto curva ( Curva di Bézier o di Nurbs). Imposta un Oggetto genitore, con loggetto selezionato come figlio e loggetto attivo (la curva) come genitore. Aggiunge un modificatore Curva alloggetto figlio con la curva già impostata come Oggetto di destinazione del modificatore.

  • Segui percorso di nuovo è disponibile solo quando loggetto attivo è un oggetto curva. Is imposta un Oggetto genitore, come fa Curve Deform. Inoltre anima il Tempo di valutazione per il Animazione percorso sulloggetto curva.
    finestra delle proprietà che mostra la scheda curva con tempo di valutazione evidenziato

  • Vincolo percorso È lultima opzione disponibile solo per gli oggetti curva. Non imposta alcun padre, ma aggiunge un vincolo Segui percorso alloggetto selezionato con il vincolo “è lobiettivo come oggetto attivo (la curva).

  • Lattice Deform È unopzione speciale disponibile solo quando loggetto attivo è un reticolo. Imposta il reticolo come genitore e loggetto selezionato come figlio, inoltre aggiunge un modificatore Lattice alloggetto selezionato.

  • Vertex Questo è uno dei tre principali tipi di genitorialità. Si differenzia da un oggetto genitore in quanto al bambino vengono fornite solo le informazioni sulla posizione. È la posizione del vertice che è il genitore. Loggetto genitore non deve muoversi, ma un modificatore può cambiare la posizione del vertice, loggetto figlio si sposterà.

  • Vertice (Triangolo) A prima vista può sembrare lo stesso di un oggetto genitore ma piuttosto è esattamente la stessa cosa di un vertice genitore, tranne che ora ci sono 3 vertici. Da tre vertici il figlio ora ottiene posizione, scala e rotazione come in un oggetto genitore; con il vantaggio di tracciare i vertici.

La vista 3D

Il modo più comune per gli oggetti principali è nella vista 3D con due o più oggetti selezionati, premi Crtl P > Oggetto . Nota che il genitore è l oggetto attivo e il figlio è loggetto selezionato. Equivale a Usare il menu nellintestazione della vista 3D Oggetto > Parent > Oggetto . Le navi della relazione padre figlio sono rappresentate nella vista 3D da una piccola linea tratteggiata che collega le origini degli oggetti. Impostazione genitore tramite scorciatoia nella vista 3D
Qui il cubo e la scimmia sono già stati oggetto di genitore. Il cubo è il genitore (oggetto attivo) e la scimmia è il bambino.

The Outliner

Il outliner è fantastico perché non cè confusione con loggetto attivo, o in che modo il genitore sta andando. È sufficiente trascinare licona delloggetto figlio desiderato e rilasciarla sopra loggetto padre desiderato. Se cè più di unopzione per la genitorialità, Blender ti chiederà quale vorresti usare. gif animata che mostra il processo genitoriale nella struttura

La finestra Proprietà

Puoi semplicemente scegliere loggetto che sarà il genitore. Utilizzando questo metodo loggetto attivo è sempre loggetto figlio .
oggetto editor delle proprietà impostazione genitore scheda evidenziata
Tuttavia, gli oggetti genitoriali che utilizzano questo metodo producono risultati molto diversi dalla vista 3D o dal contorno.
Nellimmagine sotto sia il cubo che il cono si trovano esattamente nello stesso posto e non hanno rotazione o scala. Il lato sinistro è laspetto di entrambi prima di ogni genitorialità. Ho associato il cubo al cono sia al centro che sul lato destro. Il centro è genitore attraverso la vista 3D e a destra ho usato il campo nella finestra delle proprietà. differenza tra le diverse opzioni genitoriali
La differenza deriva dai diversi comandi python (di più su questo nella sezione python). Ciò che è importante è che quando si utilizza il campo nella finestra delle proprietà, la distanza delloggetto figlio dallorigine del mondo (0,0,0) diventa loffset dal genitore. Ciò è mostrato nellimmagine sopra dal cubo di 4 unità lungo lasse X del cono.

Python

Gli ultimi due posti in cui puoi genitore di oggetti sono l Editor di testo e la Console . Entrambi danno accesso alla genitorialità direttamente tramite python. I due comandi genitoriali sono

bpy.ops.object.parent_set() e bpy.data.objects["child"].parent = bpy.data.objects["parent"]

Questo script sarà genitore proprio come la vista 3D.

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() 

Tuttavia questa riga di codice

bpy.data.objects["child"].parent = bpy.data.objects["parent"] 

sarà come genitore utilizzando la finestra delle proprietà. Il motivo è che la finestra delle proprietà esegue bpy.context.object.parent = bpy.data.objects["parent"], ma ovunque blender usa parent_set().

Tuttavia puoi evitare di utilizzare bpy.ops.object.parent_set() e lasciare che loggetto figlio rimanga nella sua posizione dopo parentin g. Per fare ciò dovrai impostare esplicitamente il figlio “s matrix_parent_inverse alla matrice del mondo inverso del genitore. Vedi il codice seguente:

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() 

Altre opzioni

Ci sono altri due modi per ottenere lo stesso tipo di relazione di un oggetto genitore, questi due sono i Child Of Constraint e Parent Actuator .

Child Of Constraint

Il Child Of Constraint funziona allo stesso modo di un oggetto genitore, con lulteriore vantaggio derivante dallessere un vincolo: animatibile, più genitori sullo stesso oggetto, che influenzano solo alcune trasformazioni e influenzano solo determinati assi.
Come notato nella manuale dopo aver specificato loggetto di destinazione, probabilmente vorrai premere il pulsante " Imposta inverso " nel vincolo (questo risale alla stessa cosa della differenza nel genitore dalla finestra delle proprietà rispetto alla vista 3D) . Ora hai un oggetto che si comporterà proprio come loggetto figlio in un oggetto genitore.
Una stranezza con il vincolo, è che se selezioni sia loggetto figlio che loggetto genitore e li sposti, il movimento sul figlio lo farà essere composto, il che significa che si muoverà due volte più velocemente del genitore. Dopo il movimento, premi nuovamente il pulsante " Imposta inverso " per riportare il bambino al posizione corretta.
gif animata che mostra il figlio del vincolo

La mia caratteristica preferita del figlio del vincolo è che puoi influenzare solo alcune trasformazioni. Ciò è dimostrato nella gif sopra.

Attuatore principale

Lattuatore principale, essendo un mattone logico, funziona solo nel motore di gioco.Fa esattamente la stessa cosa di un normale oggetto genitore. Sebbene la genitorialità regolare funzioni nel motore di gioco (ci sono alcune stranezze ). Lattuatore genitore offre il vantaggio che il genitore può essere controllato dinamicamente nel gioco, tramite mattoni logici o python.

Commenti

  • Buon elenco completo da ri -indirizza le persone a.
  • Molto carino! Per la visualizzazione 3D, qual è la differenza tra " Object " e " Object ( Keep Transform) "?
  • Anson Savage, in Keep Transform loggetto manterrà la stessa posizione in cui hai disposto loggetto nella vista 3D.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *