Estou procurando uma maneira de ter dois objetos separados conectados, de modo que quando eu mover o primeiro objeto, o segundo também se moverá. O termo pai é usado, mas como faço para pai um objeto?
Resposta
Para uma resposta rápida e simples, selecione o objeto que será conectado (objeto filho) primeiro e, em seguida, selecione o objeto que irá transferir dados de transformação para o objeto filho (objeto pai). A ordem de seleção é importante, o objeto pai deve ser selecionado por último para que seja o objeto ativo . Agora pressione Ctrl P Objeto .
Existem muitas maneiras de criar um pai de objetos no blender. Você pode criar objetos de cinco janelas diferentes: Visualização 3D, Editor de propriedades, Outliner, Editor de texto e Console; além disso, há uma lista assustadora de diferentes tipos de pais.
Parece que ser pai é uma provação complexa, então deixe-me tentar simplificá-lo.
Fora dessa grande lista, existem realmente apenas três tipos de pais. Esses são Objeto , Armadura e Vértice .
As diferenças nos muitos tipos de pais
-
Objeto é de longe o tipo mais comum de pai. É usado em oito dos treze tipos de criação de filhos.
Sempre que dois ou mais objetos são selecionados, o tipo de criação de filhos está disponível. Qualquer translação (rotação de escala e localização) para o objeto pai afetará a criança. -
Deformação de armadura Este é sem dúvida o grupo mais complicado de pais tipos. A Deformação de armadura só está disponível quando o objeto ativo é uma armadura. Ele define um Objeto pai, com o objeto selecionado como filho e o objeto ativo (a armadura) como pai. Ele adiciona um modificador Armature ao objeto filho, com a armadura já definida como o Objeto de destino do modificador. Nesse ponto, ele não fará nada mais do que um objeto pai regular. As três subopções Grupos vazios , Pesos automáticos e Pesos de envelope são usados no processo de manipulação.
-
Osso Só está disponível quando o objeto ativo é uma Armadura. É exatamente o mesmo que um objeto pai, mas aqui o filho é transformado de um único osso.
Na imagem abaixo, posicionei o anel ao redor o dedo e, em seguida, Shift selecionou a armadura. Com a armadura agora como o objeto ativo, você pode entrar no modo Pose e selecionar o osso adequado. Finalmente pare o objeto para o bone, com Ctrl P Bone . -
Relativo de osso É o mesmo que osso, com a diferença de que qualquer mudança feito no modo de edição para o osso pai não afetará o objeto filho.
-
Curve Deform Só está disponível quando o objeto ativo é um objeto de curva ( Curva de Bezier ou Nurbs). Ele define um pai Objeto , com o objeto selecionado como filho e o objeto ativo (a curva) como pai. Ele adiciona um modificador Curve ao objeto filho com a curva já definida como o objeto de destino do modificador.
-
Seguir caminho novamente só está disponível quando o objeto ativo é um objeto de curva. Ele define um Objeto pai, o mesmo que a Deformação da curva. Ele também anima o Tempo de avaliação para o Animação de caminho no objeto de curva.
-
Restrição de caminho É a última opção disponível apenas para objetos de curva. Ela não define nenhum pai, em vez disso, adiciona uma restrição Seguir caminho ao objeto selecionado com o alvo da restrição como o objeto ativo (a curva).
-
Deformação da rede é uma opção especial que só está disponível quando o objeto ativo é um treliça. Ele define a rede como pai e o objeto selecionado como filho, além de adicionar um modificador Lattice ao objeto selecionado.
-
Vértice Este é um dos três principais tipos de pais. Ele difere de um pai de objeto porque apenas as informações de localização são fornecidas ao filho. É a localização do vértice que é o pai. O objeto pai não precisa se mover, mas um modificador pode alterar a posição do vértice, o objeto filho se moverá.
-
Vértice (triângulo) À primeira vista, pode parecer o mesmo que um pai de objeto, mas é exatamente a mesma coisa que um pai de vértice, exceto que agora existem 3 vértices. A partir de três vértices, o filho agora obtém localização, escala e rotação iguais a de um objeto pai; com o benefício de rastrear os vértices.
A visualização 3D
A forma mais comum de objetos pais é na visualização 3D com dois ou mais objetos selecionados, pressione Crtl P Objeto . Observe que o pai é o objeto ativo e o filho é o objeto selecionado. É o mesmo que Usar o menu no cabeçalho da visualização 3D Objeto Pai Objeto . Os relacionamentos dos pais filhos são representados na visualização 3D por uma pequena linha tracejada conectando as origens dos objetos.
Aqui, o cubo e o macaco já foram pai-objeto. O cubo é o pai (objeto ativo) e o macaco é o filho.
O Outliner
O Outliner é ótimo porque não há confusão com o objeto ativo, ou de que forma o pai está indo. Basta arrastar o ícone do objeto filho desejado e soltá-lo em cima do objeto pai desejado. Se houver mais de uma opção para os pais, o liquidificador perguntará qual você gostaria de usar.
A janela Propriedades
Você pode simplesmente escolher o objeto que será o pai. Usando este método, o objeto ativo é sempre o filho .
No entanto, objetos parentais usando este método resultam em resultados muito diferentes da visualização 3D ou do contorno.
Na imagem abaixo, o cubo e o cone estão exatamente no mesmo lugar , e não têm rotação ou escala. O lado esquerdo é como ambos pareciam antes de qualquer criação de filhos. Eu parentei o cubo com o cone no centro e no lado direito. O centro é gerado pela visualização 3D, e à direita usei o campo na janela de propriedades.
A diferença vem dos diferentes comandos python (mais sobre isso na seção python). O que é importante é que ao usar o campo na janela de propriedades, a distância do objeto filho da origem do mundo (0,0,0) torna-se o deslocamento do pai. Isso é mostrado na imagem acima pelo cubo de 4 unidades ao longo do eixo X do cone.
Python
Os dois últimos lugares onde você pode criar objetos são o Editor de texto e o Console . Ambos dão acesso à paternidade diretamente via python. Os dois comandos de paternidade são
bpy.ops.object.parent_set()
e bpy.data.objects["child"].parent = bpy.data.objects["parent"]
Este script terá como pai a visualização 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()
No entanto, esta linha de código
bpy.data.objects["child"].parent = bpy.data.objects["parent"]
terá como pai o mesmo que usar a janela de propriedades. A razão é que a janela de propriedades executa bpy.context.object.parent = bpy.data.objects["parent"]
, mas em todos os outros lugares o blender usa parent_set()
.
No entanto, você pode evitar usar bpy.ops.object.parent_set()
e fazer com que o objeto filho permaneça em sua posição após parentin g. Para fazer isso, você terá que definir explicitamente o filho “s matrix_parent_inverse
para a matriz inversa do mundo do pai. Veja o código abaixo:
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()
Outras opções
Existem duas outras maneiras de obter o mesmo tipo de relacionamento de um pai de objeto, essas duas são Filho da restrição e o Atuador pai .
Filho da restrição
O Child Of Constraint funciona da mesma forma que um objeto pai, com o benefício adicional de ser uma restrição: animatível, vários pais no mesmo objeto, afetando apenas certas transformações e afetando apenas certos eixos.
Conforme observado no manual depois de especificar o objeto de destino, você provavelmente desejará pressionar o botão " Definir inverso " no botão restrição (isso remonta à mesma coisa que a diferença no pai da janela de propriedades em relação à visualização 3D) . Agora você tem um objeto que se comportará exatamente como o objeto filho em um objeto pai.
Uma peculiaridade da restrição é que se você selecionar os objetos filho e pai e movê-los, o movimento sobre o filho ser composto, o que significa que ele se moverá duas vezes mais rápido que o pai. Após o movimento, basta pressionar o botão " Definir inverso " novamente, para trazer a criança de volta ao localização correta.
Meu recurso favorito do filho da restrição é que você pode influenciar apenas certas transformações. Isso é demonstrado no gif acima.
Atuador pai
O atuador pai, sendo um tijolo lógico, só funciona no motor de jogo.Ele faz exatamente a mesma coisa que um pai de objeto regular. Embora a paternidade regular funcione no mecanismo de jogo (existem algumas peculiaridades ). O atuador pai oferece a vantagem de que o pai pode ser controlado dinamicamente no jogo, por meio de blocos lógicos ou python.
Comentários
- Boa lista abrangente para re -direcionar as pessoas para.
- Muito bom! Para a visualização 3D, qual é a diferença entre " Objeto " e " Objeto ( Keep transform) "?
- Anson Savage, em Keep Transform o objeto manterá exatamente o mesmo local em que você organizou o objeto na visualização 3D.