Manual blender6

Page 1

Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page

Introdução Uma "shape key" (chave de quadro para formato de malha) pode ser projetada para acontecer por outro evento ocorrendo em outro Objeto. A animação desse outro Objeto faz com que a Shape Key exerça sua influência na Malha. Este outro Objeto pode ser qualquer tipo de Objeto, mas é comumente um Objeto de Malha que foi modelado para ter um formato personalizado que indica aquilo que ele faz. Por exemplo, uma Malha que controla as pálpebras de uma face podem ter o formato de uma lua crescente. Como uma analogia, pense em um robô em uma plataforma, com um painel de controle próximo. Conforme você move uma alavanca no painel de controle, os servo-motores dentro do robô são ativados e o robô move seu braço. Neste exemplo, quem guia o movimento é a alavanca, e a Shape Key está no braço do robô. Movimentando, escalando ou rotacionando a guia (alavanca), a Shape Key é ativada.


A relação entre uma mudança na localização/rotação/escala da(o) guia e a influência na Shape Key é feita através na curva IPO que influencia a Shape Key. Com a Shape Key do Objeto base selecionada, execute as seguintes operações: • Vá até a Janela de IPO e altere o tipo de IPO para Shape. • Dentro da Janela de IPO, pressione N para fazer com que apareça o Painel de Propriedades. • Clique no botão na parte de cima, chamado Add Driver. • Dentro do campo de especificação OB:, entre com o nome do Objeto que você deseja utilizar para controlar a influência da Shape Key. Neste exemplo, o Objeto é chamado "Cube" . • Selecione qual o aspecto da animação do Objeto guia que você deseja utilizar para controlar a influência da Shape Key. Neste exemplo utilizamos "Rot X" ( a rotação no eixo X). Dependendo do que você escolher, as unidades na Janela IPO serão alteradas ou para BUs ( Blender Units ou Unidades Blender ) ou para Graus. CtrlLMB clique nos pontos de controle da IPO. Uma altura (eixo Y) indica a percentagem de influência que a Shape Key possui; 0 significa sem influência, e 1.0 significa total influência (100%). O valor de X indica que valor do canal guiado ( Rotação de X neste exemplo) corresponde ao valor de Y. Neste exemplo, caso o Objeto Cubo seja trotacionado sobre o eixo X menos que (-90) graus ou mais que (90) graus, a base da Shape Key terá 100% de influência. Para valores entre (-90) e (90), a influência se alterna de 1 para 0 e retorna para 1 novamente. Caso a rotação do Eixo X (RotX) do Objeto Cube seja 0, a base da Shape Key não terá influência. Conforme o cubo se rotaciona de 0 a 90, a base da Shape Key irá exercer mais e mais influência. Agora, em sua animação, adicione chaves de IPO para o Objeto Cube, e o rotacione em torno do seu eixo X. Conforme você faz isso, a Shape Key na outra Malha será ativada e deformará a Malha. Mantenha a Malha guia fora da visão da câmera, ou escondida em outra camada, ou transparente para que não renderize. Você pode ver que um único Objeto guia pode controlar até 9 Shape Keys diferentes individualmente; um para cada LocXYZ, RotXYZ e ScaleXYZ. •

"Driven Shape Keys" (Shape Keys Guiadas) Uma Driven Shape Key é o controlador do valor de chave ou Key Value de uma Shape Key relativa, pelo movimento de outro Objeto. Caso alguém queira animar Shape Keys relativas no Blender, isso infelizmente, não poderá ser feito com Actions. (Veja o capítulo sobre o Action Editor) Ao invés disso, utilizamos uma construção auxiliar, que são as guias para IPO. Com um(a) Objeto guia ou driver você controle o valor de uma curva 'IPO pela movimentação de outro Objeto. Portanto, como exemplo a cor de um outro Objeto pode ser dependente da rotação de outro Objeto. E igualmente ao Valor de chave ou Key Value – a força da influência – de um formato pode ser dependente da rotação ou movimento de outro Objeto. Isto é especialmente útil, por que alguém pode fazer por exemplo com que a forma de um músculo possa depender da quantidade de rotação de um osso subjacente.


As Driven Shape Keys ou Shape Keys Guiadas são uma função típica do Blender: construída a partir de muitos elementos, que desdobram seu poder somente na combinação correta. Neste caso que é a animação de vértices pelas Shape Keys relativas, e a composição de ações dentro do Editor de NLA para Armaduras. Nós não temos necessariamente que utilizar Armaduras ( e/ou ossos ) como os nossos guias ou drivers para as Shape Keys, mas as possibilidades de animação com as Poses são melhores. Ainda mais pelo fato da funcionalidade integral já estar explicada em outras seções, mesmo assim, muitas vezes não é tão óbvio combinar os elementos. Pela utilização de Driven Shape Keys você está trabalhando em níveis rampantes de abstração. • A coisa mais simples é trabalhar no nível das Shape Keys, como "A pálpebra esquerda para baixo, "O olho direito abrindo", ou um "Sorriso sarcástico". • O pŕoximo nível é controlar um ou mais Formatos ou Shapes com o mesmo osso da armadura, como "Pálpebra" + "Sobrancelha". Ou "Inflar o músculo caso o braço seja rotacionado". • O próximo nível é combinar o movimento de diversos ossos juntos em uma ação, como Feliz, Triste, Piscar os Olhos, Fazer carranca, etc... • O último nível deverá ser combinar as ações dentro do Editor de NLA. Você não precisa utilizar estas coisas, mas certamente elas podem fazer com que sua vide e seu ciclo de trabalho sejam mais fáceis.

Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page Há duas visões da sua animação, e também dois modos de definir e ajustar animações: curvas e quadros-chave. Uma curva liga dois pontos. A forma da curva é ajustada movendo os pontos de manipulação pela janela. Os manipuladores ditam o grau da influência que o ponto tem na curva. Um quadro-chave é uma combinação de valores dos pontos em um particular ponto no tempo. O uso de quadros-chave na animação é chamado de Keyframing.

Curvas Ipo Mode: Ipo Curve Editor Hotkey: C Menu: View->Show Keys (para desligar)


A janela Ipo - modo de exibição de curvas

A janela de curvas Ipo permite a você editar as curvas 2D que definem a animação no Blender. As curvas representam os valores editados para posição, tamanho, rotação, energia, etc. no eixo vertical (Y) e o tempo no eixo horizontal (X). A taxa de mudança desses valores através do tempo pode ser vista na inclinação da curva. Você pode transformar qualquer janela em uma janela do tipo Ipo Curve Editor com o menu Window Type, mas geralmente é útil ter simultaneamente uma 3D View e uma Ipo Curve Editor. Isso mostra todas as curvas Ipo, os canais usados e disponíveis. Você pode aproximar ou afastar a janela Ipo e movê-la assim como qualquer outra janela do Blender. Além dos canais padrão, que são definidos via I, você tem as opções delta, como o dLocX. Esses canais permitem que você defina uma mudança relativa. Essa opção é principalmente usada para controlar múltiplos objetos com a mesma Ipo. Além disso, é possível trabalhar na animação em 'camadas'. Para definir uma curva Ipo para esses canais, selecione o canal e aí crie pontos de controle via CtrlLMB clicando na janela Ipo. As curvas Ipo têm uma característica importante que as distinguem das curvas normais: é possível colocar mais de um segmento de curva horizontalmente. Loops e círculos em uma Ipo são ambíguos e sem sentido. Uma Ipo pode somente ter 1 valor em um tempo. Isso é automaticamente detectado e corrigido no Ipo Editor. Cada canal Ipo que já foi configurado é mostrado na lista de canais na direta da janela com um botão colorido ao seu lado.

Mostrando/escondendo curvas Você pode mostrar uma curva Ipo usando LMB no respectivo nome do canal Ipo à direita (uma que já tenha um botão colorido ao lado de seu nome). Fazendo isso, você esconde todas as curvas mostradas anteriormente. Se você quer mostrar várias curvas Ipo juntas (por exemplo se você está trabalhando com um conjunto de canais como


LocX, LocY, LocZ) use ⇧ Shift LMB (seus nomes aparecem em branco).

em cada nome de canal que você quer mostrar

Seleção de curvas Modo: Todos os modos Menu: Editor de Curvas Ipo → Select Alguns dos métodos padrão de seleção do Blender funcionam na janela de Edição de Curvas Ipo. Clique com RMB usar LMB

em uma curva para selecioná-la. Você também pode

no botão colorido ao lado de seu nome. Você pode selecionar várias curvas

usando ⇧ ShiftRMB em cada curva que é mostrada ou usando ⇧ ShiftLMB em cada botão. Uma curva que é selecionada exibe seus pontos de manipulação em branco e seu respectivo botão colorido aparece destacado em preto (se for o último selecionado do grupo e os outros aparecem como pressionados). Opções RMB Seleciona uma curva Ipo sob o cursor do mouse Selecionar/Deselecionar Todas A Seleciona todas as curvas Ipo visíveis Seleção em caixaB Seleciona as curvas Ipo interativamente com uma caixa de seleção do mouse

Manipulação de curvas Modo: Todos os modos Menu: Editor de Curvas Ipo → Curve → Transform As curvas Ipo também podem ser manipuladas com várias das transformações 2D padrão. A mesma opção de travamento de eixo aplica-se aqui também. Mover curvas para a esquerda e direita irá movê-las adiante ou atrás no tempo. Opções Arrastar/Mover G Move a curva Ipo selecionada Escalonar S Escalona (aumenta/diminui) a curva Ipo selecionada

Interpolação de curvas Modo: Todos os modos Atalho: T Menu: Editor de curvas Ipo → Curve → Interpolation Mode


O modo de interpolação determina como os valores de uma curva Ipo são calculados entre cada ponto na curva. Opções Constante Após cada ponto da curva, o valor permanece constante (horizontal). Nenhuma interpolação acontece. Linear Cada ponto da curva é conectado com uma linha reta Bezier A interpolação suave e curvada padrão

Modo de Extensão de Curvas Modo: Todos os modos Atalho: E Menu: Editor de Curvas Ipo → Curve → Extend Mode O modo de extensão determina como os valores da curva Ipo são calculados fora dos limites horizontais dela. Isso pode ser usado para repetir um pequeno trecho de animação ou fazê-la continuar infinitamente. Opções Constante Os extremos das curvas selecionadas são extrapolados continuamente (horizontalmente). Extrapolação Os extremos das curvas selecionadas continuam na direção em que terminaram Cíclico O comprimento inteiro da curva é repetido ciclicamente Extrapolação Cíclica O comprimento inteiro da curva é extrapolado ciclicamente


Exemplos

IPOs extendidas

Editando Pontos de Curva Modo: Todos os modos Atalho: ⇆ Tab Menu: Editor de Curvas Ipo → Curve → Edit Selected Assim como manipular as curvas como um todo, você também pode editar os pontos individuais que definem a curva. Pontos de curva são adicionados quando um quadrochave é inserido (geralmente com o menu Insert Key I), e esses pontos podem ser manipulados em tempo (eixo X) e em valor (eixo Y). Tecle ⇆ Tab para ir ao modo de edição e poder selecionar cada ponto da curva independentemente. Se você selecionar um ou mais pontos com RMB , você pode movê-los (G), esaloná-los (S) ou rotacionálos (R). Você também pode selecionar e editar os pontos de manipulação, o que permite um controle mais apurado da curva de interpolação. Você pode também definir os valores dos pontos numericamente teclando N e entrando com o valor nos campos "Vertex X" e "Vertex Y" dentro do painel de propriedades de Transformação.

Adicionando Pontos de Curva Modo: Todos os modos Atalho: CtrlLMB / ⇧ ShiftD Menu: Editor de Curvas Ipo → Point → Duplicate


Alternativamente a inserção de pontos de curva via inserção de quadros-chave (ex. na 3D View ou janela de botões), pontos de curva também podem ser adicionados manualmente no Editor de Curvas Ipo usando CtrlLMB . O ponto será adicionado à curva ativa (aquela cujo botão colorido próximo ao seu nome está destacado em preto mesmo que ainda não tenha nenhum ponto de curva definido), na posição do cursor do mouse. Pontos são adicionados de acordo com as seguintes regras: •

• •

Ainda não há bloco de dados Ipo (nessa janela) e um canal é selecionado: um novo bloco de dados Ipo é criado juntamente com a primeira curva Ipo com um vértice colocado onde o mouse foi clicado. Já existe um bloco de dados Ipo, e um canal é selecionado sem uma curva Ipo: uma nova curva Ipo com um vértice é adicionada. Já existe um bloco de dados Ipo, e um canal é selecionado com uma curva Ipo definida: Um novo ponto é adicionado à curva Ipo selecionada e ligado com os pontos mais próximos antes e depois dele. Se múltiplas curvas são selecionadas, e/ou você está no Edit mode, os pontos são adicionados à curva ativa (cujo botão perto ao seu nome de canal está destacado em preto).

Os pontos de curva selecionados também podem ser duplicados. Note que isso não irá duplicar os segmentos da curva, mas os pontos em si, conectados à curva original. Dicas

Clicar repetidamente CtrlLMB ao longo de uma curva pode ser uma boa forma de adicionar aleatoriedade e imprevisibilidade à animação.

Tipos de Pontos de Manipulação Modo: Todos os modos Atalho: H, ⇧ ShiftH, AltH, V Menu: Editor de Curvas Ipo → Point → Handle Type Similarmente ao objetos de curva 3D, pontos de curvas Ipo possuem dois pontos de manipulação, um em cada lado. Esses pontos manipuladores podem ter uma variedade de tipos, que podem ser usados para controlar especificamente a interpolação dos segmentos entre os pontos. Opções Manipulador livre H (preto) Os manipuladores são desconectados e podem ser alterados de qualquer forma. (H alterna entre livre e alinhado) Manipulador alinhado H Os manipuladores são conectados em uma linha reta. (H alterna entre livre e alinhado) Vetor V Ambos os extremos de um manipulador sempre apontam para o manipulador seguinte ou anterior Auto ⇧ ShiftH (amarelo)


Esse manipulador tem comprimento e direção completamente automaticos, baseados na proximidade de um ponto com outro

Assim que os manipuladores são rotacionados, movendo-se um de seus pontos, o seu tipo é mudado automaticamente: • •

Manipulador Auto se torna Alinhado. Manipulador Vecor se torna Livre.

Chaves Ipo Modo: Todos os modos Atalho: K Menu: Editor de Curvas Ipo → View → Show Keys Tão fáil quanto trabalhar com curvas de animação, algumas pessoas acham ainda mais fácil manipular as chaves. Mudar o Editor Ipo para exibição de chaves faz duas coisas acontecerem: •

O Editor de Curvas Ipo agora desenha linhas verticais através de todos os pontos de todas as curvas visíveis (as curvas agora são mostradas em preto). Pontos com o mesmo valor de 'quadro' são ligados com linhas verticais. As linhas verticais (as "Chaves Ipo") podem ser selecionadas, movidas ou duplicadas, assim como os pontos. Você pode mover os pontos apenas horizontalmente. O objeto não só é mostrado na 3D View em sua posição atual, mas objetos 'fantasmas' também são mostrados em todas as posições-chave. Em alguns monitores de vídeo, você pode ter que pressionar K na janela 3D View. Além de agora poder visualizar as posições-chave do objeto, você pode também modificá-las na 3D View. Por exemplo, você pode mover as chaves Ipo selecionadas.

Papel Manteiga e Fantasmas

É possível ver as posições definidas de um objeto na 3D View. Com o editor IPO no modo Keyframe, tecle K na janela 3D View. A posição do objeto será desenhada como contornos fantasmagóricos. A localização fantasma das chaves selecionadas será desenhada em uma cor de destaque. Usando essa ferramenta, você pode ver fisicamente a localização, ou caminho, que seu objeto terá no espaço 3D. Dicas •

• •

• •

Use o modo keyframe para mudar onde um objeto está no tempo. Por exemplo se você atualmente tem um objeto em uma certa posição no quadro 100, mas descobre que ele chega lá muito cedo, vá até o modo de exibição de chaves, selecione a chave no frame 100, arraste-o (G) para a direita. Clique para deixá-lo naquela posição. Segurando Ctrl enquanto arrasta quadros-chave faz com que eles se guiem pelos quadros similares. O comando "Insert Key" I sempre afeta todos os objetos selecionados. As chaves Ipo para múltiplos objetos podem também ser transformados simultaneamente na 3D View. Use o comando ⇧ ShiftK: Timeline ? Show and Select Keyframes para transformar animações completas de um grupo de objetos de uma só vez. Use Page up ? e Page down ? para selecionar chaves subseqüentes na 3D View. Você pode criar chaves Ipo com qualquer arranjo de canais. Pela consciente exclusão de certos canais, você pode forçar uma situação onde mudanças nas posições-chave na 3D View podem somente ser feita para os valores especificados pelos canais visíveis. Por exemplo, com apenas o canal LocX selecionado, as chaves podem somente ser movidas na direção X.


Cada chave Ipo consiste de vértices que têm exatamente o mesmo valor de quadro. Se os vértices são movidos manualmente, isso pode resultar em um alto número de chaves, cada um tendo apenas uma curva. Nesse caso, use o comando J ("Unidr") para combinar as chaves Ipo selecionadas. Também é possível atribuir vértices de chaves Ipo selecionadas para todas as curvas visíveis: use I na janela Ipo e escolha "Chaves selecionadas". A opção Desenhar Chaves e o modo Chave Ipo podem ser ligadas/desligadas independentemente. Use o botão EditButtons->DrawKey par ligar/desligar essa opção para o objeto atual. Você pode ligar/desligar o modo Chave Ipo com K na janela Ipo. Usar somente K na 3D View liga/desliga ambos o Desenhar Chaves e o modo Chave Ipo.

Exemplos

Modo Chave Ipo

Notas Especiais na Curva de Tempo Modo: Todos os modos Com a curva de Tempo você pode manipular o tempo de animação dos objetos sem alterar a animação das outras Ipos. De fato, ela muda o mapeamento do tempo de animação para o tempo glocal de animação (IPO de tempo linear). A curva de Tempo é um canal no objeto Ipo. Nos quadros onde a inclinação da curva é positiva, seu objeto irá avançar em sua animação. A velocidade depende do valor da inclinação. Uma inclinação maior que 1 irá animar mais rápido do que a animação base. Uma inclinação menor que 1 irá animar mais devagar. Uma inclinação de 1 significa nenhuma alteração na animação, inclinações negativas permitem que você retroceda na animação. A curva de Tempo é especialmente interessante para sistemas de partículas, permitindo a você "congelar" as partículas ou animá-las endo absorvidas por um objeto ao invés de serem emitidas. Outras possibilidades são fazer uma movimentação acelerada ou em câmera lenta.


Exemplos

Ipo de Tempo linear

Para compreender esse conceito, faça uma animação simples com quadros-chave de um objeto se movendo de uma posição a outra em, digamos, 50 quadros. Depois, selecione o canal "Time" (Tempo) e crie uma Ipo de Tempo na janela Ipo indo do ponto (1,1) ao ponto (50,50). É fácil definir os pontos de início e o fim de uma Ipo usando N e entrando com os valores numericamente. Múltiplas Ipo de Tempo

Você precisa copiar a Ipo de Tempo para cada sistema de animação para ter uma cãmera lenta completa. Mas se parar somente algumas animações e continuar a animar, por exemplo, a câmera você pode conseguir alguns efeitos muito bons (como os usados no filme "Matrix).

Category: Animation

Blender 2.4 Portuguese • • • •

Page

Doc page Discussion View source History


Mode: Todos os modos Hotkey: I Menu: Object -> Insert Keyframe

O método mais simples para criar uma IPO para um objeto é com o comando "Insert Key" (I) na 3DWindow, com um objeto selecionado. Um menu pop-up fornece uma variedade de opções (menu Insert Key). Selecionando uma opção (ex. Loc) salva a posição atual em X/Y/Z e tudo acontece automaticamente: • • •

Se não houver um bloco IPO, um novo é criado e ligado ao objeto. Se não houver curvas IPO nos canais LocX, LocY e LocZ, elas são criadas. Vértices são então adicionados às curvas IPO com o valores exatos da localização do objeto.

Exemplo

Coloque sua cena no quadro 1. Adicione um objeto mesh à sua cena no Blender. O objeto é adicionado na posição do 3D Cursor e em modo de edição. Pressione ⇆ Tab para sair do modo de edição, e I para inserir um quadro-chave. Na janela pop-up Insert Key, selecione Loc. Na sua janela Ipo, agora você vê, para o modo objeto (Object Mode), que os canais LocX, LocY e LocZ fora preenchidos e selecionados. Agora há uma curva (sem curvatura) com pontos de controle no quadro 1. O valor Y desses pontos define a localização (valor) naquele canal naquele ponto no tempo. Vá 30 quadros adiante (3 x ↑) e mova o objeto para algum outro lugar na cena. Novamente use I. Agora podemos teclar imediatamente ↵ Enter, uma vez que o Blender se lembra da nossa última escolha (Loc) e vai selecioná-la. A nova posição é inserida nas curvas IPO no quadro 30. Podemos ver a animação retrocedendo através dos frames (←). O objeto se move entre as duas posições. Dessa forma, você pode criar a animação navegando pelos quadros, posição a posição. Note que a localização do objeto é diretamente ligada às curvas. Quando você muda os quadros, as IPOs são automaticamente recalculadas e reaplicadas. Você pode mover livremente o objeto dentro do mesmo quadro, mas logo que você muda de quadro, o objeto 'salta' para a posição determinada pela IPO. A rotação e escala dos objetos são totalmente livres neste exemplo. Elas podem ser mudadas ou animadas com o comando Insert key selecionando no menu I as outras opções como Rotation, Size ou uma combinação deles.

Gravando IPOs O Blender possui uma engine de simulação de Física embutida ("Bullet") que lhe permite definir os objetos como tendo uma massa, sendo sólidos, tendo velocidade e


momento angular. Uma vez que você ajustou isso, você pode usar o menu "Game>Record Game Physics to IPOs" para ligar a gravação. Agora, quando você pressiona P para reproduzir, a localização e rotação atuais do objeto selecionado serão gravados para cada quadro da animação. Use essa ferramenta para gravar interações complexas entre mútiplos objetos animados. Para mais informação sobre o uso da Blender Game Engine, d~e uma olhada no wiki book próprio no índice do manual.

Ligando IPOs Uma Ipo é (no Blender) um bloco de dados, ao mesmo tempo em que é um objeto separado. Você faz ela atuar sobre um objeto ligando-o a esse objeto. Você pode equilibrar isso usando o TimeOffset nas definições de animação (Anim) para o objeto.

Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page

Tipos de curvas IPO Interpolação (Ipo) é o processo de estimativa da posição de um Objeto (ou outros atributos) baseados em um valor de início e final, o tempo entre o início e o final, e uma curva contínua que conecta esses dois pontos. Caso eu fique em um espaço 3D (0,0,0) no quadro 1 e eu queira mover este quadro para a localização (2,2,0) na até o quadro 10, e eu defina uma curva de aceleração, então o Blender pode interpolar, a partir do quadro 5, que eu estarei no meio do caminho, ou seja, na posição (1,1,0). Para fazer esta interpolação, você define uma curva Bézier que conecta esses dois pontos, e o Blender utiliza esta curva para saber os valores intermediários.

A Interpolação no Blender O Conceito de animação por Interpolação (IPO) é encontrado e aplicado a muitas coisas diferentes dentro do Blender. E para o Blender, não há diferença se é a localização de um Objeto que está sendo controlada por uma IPO, ou as configurações de seu Material, ou seu tamanho, etc. Quando uma IPO é associada com um Objeto em algum tipo de relação, a IPO → controla um ou mais aspectos de um Objeto em qualquer quadro particular dentro da animação. Por exemplo, há um tipo de Objeto de IPO, que, quando associado com um Objeto específico, pode controlar a localização desse Objeto no espaço XYZ, sua rotação, sua escala, e mais coisas. Exatamente qual aspecto é controlado, depende de quais canais são identificados. Por exemplo, existe um canal de localização que você pode selecionar quando você chaveia um Objeto dentro da Área de visualização 3D. Este canal de localização é representado por três curvas IPO: LocX, LocY, e LocZ que especificam a localização do Objeto (X, Y, Z). Uma vez que você tenha aprendido como trabalhar com as IPOs de Objetos, a maneira com a qual você irá trabalhar com outros canais se tornará óbvia. O Blender faz distinção entre diferentes tipos de IPO e os canais que estão disponíveis, e mantém a observação de todos eles automaticamente.


Cada tipo de bloco de IPO possui um número fixo de canais disponível. Entre estes, cada um possui um nome (LocX, SizeZ, etc.) que indica como eles são aplicados. Quando você adiciona uma Curva IPO para um canal, a animação é iniciada imediatamente. Em sua descrição (e existem canais separados para isto), uma curva pode ser ligada diretamente a um valor (LocX...), ou pode, em algumas instâncias, afetar uma variância desta (dLocX...). A última permite a você mover um Objeto como você usualmente deveria fazer, coim o "Grabber" (Agarrador), sem provocar a disruptura da IPO. A localização atual é então determinada pelas Curvas IPO relativas a esta localização. A interface do Blender oferece muitas opções para a cópia de IPOs, e a ligação de IPOs a mais de um Objeto (uma IPO pode animar múltiplos Objetos.), ou a deleção de ligações de IPO. A Seção de Janela de Referência IPO fornece uma descrição detalhada de como trabalhar com curvas e seus manipuladores. Caso haja uma curva IPO para um canal, os valores de interpolação se sobrepõem a qualquer configuração de painel que seja alterada por você. Você pode alterar as propriedades de valor através do painel e re-chavear (através do comando de Inserção de chaves) para tomar o valor corrente para este quadro. Caso contrário, ele irá reconfigurar para o valor de curva interpolada quando você renderizar ou alterar os quadros ! Isto pode ser bem confuso caso você esqueça que um canal já fora automatizado. Você pode sempre selecionar um canal, selecionar a curva, e Deletá-la utilizando o atalho X caso você não necessite que ela seja animada.

Tipos de curvas IPO

Menu de Tipos de IPO Bem como a IPO de Objetos padrão, existem IPOs para controlar a animação de "Materials" (Materiais), "World" (Mundos), "Shapes" (Formatos), "Constraints" (Restrições), "Vídeo Sequence Strips" (Faixas de Sequência de Vídeo) e mais.... Para cada tipo de Objeto presente no Blender, você pode executar animações (executar alterações conforme o tempo):

Alguns exemplos: • • • •

"Object" (Objetos) – O Objeto em si como um todo, como a sua localização, rotação, "Layer" (Camada), etc... "World" (Mundo) - Configurações de Mundo, como a cor do horizonte, a luz ambiente, etc ... "Constraint" (Restrições) – controla os limites impostos ao Objeto}} "Sequence" (Sequências) – uma faixa de efeito de Vídeo dentro do VSE Editor de Sequências de Vídeo do Blender.


Menu de tipos de IPO Dependendo do tipo de Objeto que esteja selecionado, aspectos adicionais animáveis se tornam disponíveis. Por exemplo, a Curva de IPO relativa a Curvas aparece caso o Objeto selecionado seja uma Curva e não uma Malha; A Curva de IPO do tipo Lâmpada aparece somente caso o Objeto selecionado seja uma Lâmpada. Todo o conjunto de canais adicionais, ou outros conjuntos de canais específicos se tornam disponíveis para a animação com base no Objeto selecionado, exemplo: • •

• • • • • • • •

"Mesh" (Malhas) - Materiais (cores, grandeza especular, alfa), Texturas e o formato da Malha. "Curve" (Curvas) – Tanto o formato quanto a velocidade quando é utilizada como caminho (para variar a velocidade de um Objeto quando este segue a curva como um caminho) "Surface" (Superfícies) – O formato de superfícies NURBS ( Esferas, Toróides, etc) podem ser deformados. "Meta" (Metas) – Sem animação adicional "Text" (Textos) – Sem animação adicional "Empty" (Vazios) – Nada adicional para animar "Camera" (Câmera) – Lentes, bordas de corte, Abertura, Distância focal... "Lamp" (Lâmpdas) – Energia (brilho), cores, texturas... "Armature" (Armaduras) - Poses, que são conjuntos de rotações para todos os ossso dentro da Armadura. Lattice – O formato do Objeto Lattice

No cabeçalho da Janela de IPO, logo após o menu, existe um ícone de Olho. Habilite isto para fazer com que o canal fique mudo (ou para fazer com que o Blender não mostre) o canal e quaisquer curvas IPO. Isto é muito útil quando estiver limpando defeitos de suas cenas na tentativa de determinar, por exemplo, se a iluminação ou as mudanças de Material estão fazendo com que seu personagem se pareça mais engraçado. Próximo disso, está o Tipo de IPO, e você pode clicar dentro do seletor para cima/baixo para alternar entre os diversos Tipos de IPO. Para aqueles canais que Mapeiam para uma Textura, existirá um seletor de número de canal que indica qual canal de mapeamento de Textura está sendo automatizado. O próximo após é o nome do "datablock" (Bloco de dados) da IPO. Materiais diferentes podem compartilhar o mesmo Bloco de Dados. Por exemplo, você pode fazer com que todos os Materiais esmaeçam pela criação de uma curva IPO somente para o canal Alfa. Caso você tenha aplicado esta curva para cada Material em sua Cena, então independente da cor do Material, Grandeza especular, etc, eles serão todos esmaecidos conforme o seu valor de Alfa no canal seja controlado pela curva. Clique no X para deletar, ou utilize o atalho F para inserir um usuário falso para o canal e causar a retenção desta curva, mesmo caso ninguém a utilize atualmente.


O próximo na lista são os botões de copiar/colar, o seletor de ampliação (zoom, clique e utilize a seleção por caixa para selecionar um campo de quadros no qual você quer focar), e o ícone de travamento, que força as outras Janelas a serem atualizadas quando você faz alterações.

Animando Materiais Curvas IPO de Materiais podem ser utilizadas para animar um Material para que este seja alterado conforme o tempo; por exemplo, a face de um personagem pode ser alterada de vermelho para azul em 10 segundos conforme ele segura a respiração. Bem como com outros Objetos, Curvas de IPO de Material podem ser utilizadas para especificar 'posições chave' para Materiais. Cada aspecto de um Material é animado através de um Canal. Bem como as IPOs de Objetos possuem canais para automatizar a localização nos eixos X, Y, e etc, as IPOs de Material possuem canais para alterar as cores em vermelho, verde e azul. Qualquer animação que você fizer para um Material será refletida em todos os Objetos (e em seus índices de Material) que compartilharem este Material. Qualquer animação pode ser guiada por algum outro aspecto de outro Objeto (veja Drivers/Guias IPO). Uma vez que um canal de Material é animado, os deslizadores do painel e seus valores irão refletis o que o valor significa para este quadro. A alteração dos valores dentro do Painel não terá qualquer efeito, porque o valor está sendo determinado pela curva interpolada. Para acessar estes canais na Janela IPO, selecione o tipo de IPO de Material. Podem existir outros canais que poderão estar sendo mostrados dentro da Janela. Para ver quais os canais que foram rolados para fora da tela, arraste a sua Janela com MMB para obter o panorama da Janela mais acima/abaixo. Ajuste o espeço de trabalho para poder ver a curva ( ou trabalhe em modo de Keyframe (Chaves de Quadro). Criando Canais

Existem dúzias de canais de Material. Para uma maior eficiência na utilização da memória e processamento, e simplesmente para poder te auxiliar com uma melhor eficiência em seu fluxo de trabalho, quando você cria inicialmente uma IPO para um Material, você tem de escolher entre um conjunto de canais de Material comumente utilizados. Com o Mouse dentro da Janela de botões, dentro da amostragem do contexto Shading F5, nos botões de Material, o comando de Inserção chama um menu tipo Popup com opções para diversos conjuntos de canais de Material: RGB As cores do Material. Alpha Transparência para a Malha/Material. Halo Size Diâmetro do Halo, caso selecionado. Mode Um número inteiro que especifica diferentes configurações do Material.


1 – Traçável para "Ray-tracing" (Traçador de Raios), mas que não recebe sombras. • 2 – Não traçável, mas recebe sombras. • 3 – Sem sombreamento (O Material é insensível a Luz ou Sombras) • e por aí vai. A maneira mais simples de determinar o restante e sua necessidade, é a sua utilização. •

All Color Muitos canais relacionados a Cores – base, specular, alpha, emit... (são 16 ao todo) All Mirror Muitas variáveis de reflexividade para Ray-tracing – valores e cores. Ofs O offset ( deslocamento) da Textura selecionada na superfície. Size As dimensões da Textura aplicada a Malha/Material. All Mapping Todas as configurações de Texturas – Cores (A cor Atual e seu montante de influência, quantidade de Normal afetada, offsets, tamanhos e por aí vai.

A lista tipo Pop Up descrita acima é somente um conjunto comumente utilizado de canais, e não todos os canais possíveis que estão incluídos no conjunto total destas listas. Por exemplo, a opção RGB simplesmente inicializa/configura uma curva para os três canais R,G e B. Para "Emit" (Emissão), a seleção do tipo "All Color", chaveia este canal entre os outros. A lista completa e exaustiva de canais de Material é listada no lado de baixo da Janela IPO. Escolhendo a seleção a partir do Menu Pop-Up pode, mas não necessariamente, configurar curvas e valores para cada canal IPO relacionado. Por exemplo, você pode ir através de todas as seleções dos menus Pop-Up, e a cor de espelhamento não estar chaveada, mesmo que você pense que deveria estar por ter selecionado "All Mirror". Considere a eficiência de memória e processamento quando estiver selecionando um conjunto. Não é eficiente criar Curvas (e ter de executar a interpolação para cada Quadro) quando há chances de elsta não estar sendo empregada/utilizada atualmente para fazer algo. Os conjuntos de IPO de Material estão ali para manter o número de canais nos quais o Blender deve se alternar em seu mínimo.Lembre-se que quando estiver renderizando, o Blender terá de passar por cada Objeto X Materiais X Canais para determinar um valor, portanto os canais tem um fator de efeito de multiplicação no tempo de renderização. Animando os Valores dos Canais

Depois de você ter selecionado um conjunto, curvas IPO são criadas para os canais neste conjunto, e os valores correntes para estes canais ficam travados. Nem todos os valores para todos os canais tem uma curva inicializada. Existem duas maneiras de inicializar uma curva para um canal selecionado. Primeiro, clique com LMB

para


selecionar o canal (por exemplo, Emit). Então, dentro da Janela IPO, proceda escolhendo uma das seguintes maneiras: •

Clique com CtrlLMB em qualquer lugar da Janela em si para inserir um ponto de controle aonde o cursor está. Portanto, caso você queira que sua emissão seja inicialmente 0, clique em (Quadro 1, Valor 0). O Blender criará um valor constante (uma linha horizontalmente lisa) para a Curva. Mova o mouse ou role a janela para o quadro aonde você quer que haja mudança, e clique novamente. O Blender cria uma curva, que você então pode alterar. Selecione outro canal e copie esta curva para a memória (usando a pequena seta de copy to buffer no cabeçalho da parte de baixo da Janela) dentro do Editor de IPO. Então selecione o canal alvo e aplique para o canal desejado selecionado (utilizando o botão de seta para cima).

Curvas de Material, são como qualquer outro tipo de curva, e pode ser de diferentes tipos de pontos de controle, tipos de curvas, modos de extensão, e podem ser mostradas como curvas ou "Keyframes" (Chaves de Quadro). Animando o Mapeamento de canais de Textura

Caso você esteja em um bloco de Ipo de Material, Lamp ou World, então um pequeno campo de número aparecerá próximo ao Menu de Tipo de IPO, dentro da Janela de ferramentas de IPO. Isto indica qual canal de Textura está ativo. Lembre-se de que você possui os parâmetros de "Map Input" (Mapa de entrada) e "Map To" (Mapa de saída) dentro da Aba de texturas no Painel de botões de Materiais. Estas configurações podem ser animadas. O mapeamento para todos os canais de Texturas podem ser controlados com Curvas IPO. Clique no número e entre com um número para alterar o canal de Textura que está sendo animado. O Canal 0 é o canal do topo ou a Textura de Base, e vai a partir daí (O canal e é o próximo canal abaixo na Lista). A Textura em si pode ser animada, mas isso seria um Tipo diferente de Curva IPO. Guiando os Valores dos Canais

Em adição a animação de um canal, como a Cor de um Material, manualmente para quadros específicos, você pode guiar a alteração pelo fato de outro Objeto estar fazendo alguma coisa, como a sua rotação no eixo Z. Conforme este outro Objeto guia é rotacionado, o Blender altera a cor do Material. Este relacionamento é chamado de "Driver relationship" (Relacionamento de guia), e funciona através das Curvas IPO também. Outro exemplo seria um Botão (Knob) de dimmer ( Um dimmer é mais comumente conhecido como aparelho elétrico de atenuação de


lâmpadas. Dica por: Greylica) que é rotacionado para controlar o canal de energia da Lâmpada. Caso, dentro da animação, você anime o botão (Knob) girando, a saída de energia da lâmpada vai subir para cima e para baixo. Este único Botão (Knob) pode controlar muitas lâmpadas; por exemplo, rotacionando-o na direção de Z pode fazer com que as luzes internas fiquem mais brilhantes e as luzes externas do sol fiquem mais escuras. O relacionamento entre o botão (Knob) girando e a alteração de fator de energia é controlado atrav´pes de uma curva formatada, portanto você pode fazer com que este relacionamento seja suave, linear ou abrupto.

No exemplo a direita, nós temos uma Malha de um dedo com uma textura estriada no canal de Textura do Topo ( Textura Base ou Canal 0). Quando o osso (Hand.Pointer.1.L – o primeiro osso do dedo apontados da mão esquerda) está reto (sua rotação Z é 0), o valor Normal do Canal de Textura é 2.0. Conforme o osso do dedo se dobra até 45 graus, o valor de normal baixa para 0, simulando a pele se suavizando. Caso o osso continue e passe dos 45 graus, o valor de Normal permanecerá em 0.

Animando Lâmpadas

Uma IPO de lâmpadas é ainda um outro tipo de IPO que controla aspectos/canais de uma Lâmpada. Você pode, por exemplo, alterar a cor de uma lâmpada sobre um determinado tempo configurando as curvas IPO para os Canais de vermelho, verde e azul. O exemplo a direita mostra como animar a energia (brilho) de uma Lâmpada: 1: Selkecione a Lâmpada que você quer controlar via RMB dentro da Janela de visualização 3D. 2: Tenha certeza de que você possui uma Janela de IPO aberta . 3: Configure o tipo de IPO para Lamp. 4 Clique em "Energy" para estabelecer uma IPO para a energia da Lâmpada. 5a,b, e c: Clique com o botão esquerdo do mouse CtrlLMB para a sua curva IPO.

para configurar os pontos

Animando as configurações do "World" (Mundo)


Pressionando o atalho de Inserção dentro da Janela de botões enquanto está nas configurações de Material do World são mostradas, permite a você fazer uma curva de IPO para qualquer dos grupos de canais mostrados a direita. Dentro de cada grupo de canais, existem canais individuais.

Por exemplo, dentro do Grupo entitulado Horizon, existem três canais, HorR, HorG, e HorB, para os controles de cores de Horizonte vermelho, Horizonte verde e Horizonte azul, respectivamente. Você visualiza estes canais pela seleção do Tipo de IPO World dentro da Janela de IPO. Configurando uma curva IPO (pela configuração da cor e pressionamento do atalho de Inserção dentro da Janela de Botões, ou manualmente criando criando os pontos via CtrlLMB , clicando dentro da Janela de IPO) anima estas configurações através do tempo. Pela animação das configurações do World, você pode simular, por exemplo, o por do Sol e o despertar de um novo dia.

Animação de Restrições Na base de Cada Painel de "Constraint" (Restrições) existe um deslizador de Influência. Próximo a este deslizador estão dois botões, "Show" (Mostrar) e "Key" (Chave). O Botão "Key" (Chave) cria um Bloco de Dados IPO e Chaves para as configurações de Influência em cada quadro. Você pode visualizar a Curva IPO pela seleção do tipo de "Constraint" (Restrição) do conjunto da Curva. Esta curva pode variar entre 0 e 1. Um exemplo prático é quando você quer que uma câmera Observe um Objeto por um determinado período de tempo, e então talvez ela altere a sua atenção para um Objeto diferente. Neste exemplo, você deverá criar uma restrição, com uma influência de 1.0 entre os Quadros 10 e 50, e zero em todos os outros períodos de tempo. Caso você utilize uma curva Bézier e utilize a chave (key) em 0 no quadro 1, então a câmera vai se alternar entre a sua posição padrão e o ponto de foco no Objeto entre os quadros 1 e 10, observando o Objeto até o quadro 50, e depois retornará a sua posição normal de transformação.

Compartilhando "Datablocks" (Blocos de Dados) Curvas de Animação, como a localização Delta, podem ser compartilhadas entre múltiplos Objetos. A definição de uma Curva de movimentação relativa (dLoc) para um Objeto deverá resultar em um Bloco de Dados IPO que mantém essa curva de deslocamento. Você pode facilmente designar essa mesma curva para outro Objeto simplesmente selecionando o Objeto e utilizando o Seletor de IPO (dentro da Janela de


IPO) para escolher esta curva IPO. Este Bloco de Dados de IPO então terá dois usuários. Cada Objeto irá, durante o mesmo tempo de quadro, se movimentar relativamente a sua posição inicial o mesmo montante. Caso você queira desvincular o Objeto selecionado de sua curva IPO, clique no X próximo ao Nome da IPO. Caso você queira fazer algumas personalizações para a movimentação do Objeto Ativo somente (e não para todos os outros Objetos que compartilham esta curva IPO), você terá que executar uma "single user copy" (cópia de usuário único) da curva para este Objeto. Para fazer isto, clique no Botão de Número de Usuários, (o 2, dentro do Exemplo acima) localizado no cabeçalho próximo ao nome. O Blender vai pedir a você que confirme, fazendo uma cópia de usuário única, e se você confirmar, uma nova IPO será criada (o nome será alterado) e ela será designada somente para o Objeto Ativo.

Veja Também •

Reference Manual: Página de Referência sobre a Janela IPO

Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page

Editor de Animação Não Linear - NLA Modo: Modo de Objetos / Modo de Pose (Armaduras) Atalho: Ctrl⇧ ShiftF12 Descrição

Você utiliza o "NLA (Non Linear Animation) Editor" (Editor de Animação Não Linear) para mixar Ações e IPOs de Objetos para fazer uma animação composta. Ambos as IPOs de Objetos e "Actions" (Ações) podem ser mescladas. Cada Objeto pode ter somente uma animação composta. Você pode pensar nisto desta maneira: O Editor de Ações diz O QUE os ossos são feitos para fazer, e o Editor NLA diz QUANDO eles vão fazer. Em adição, você pode posicionar o Objeto e chavear (Inserindo Keys) a sua localização utilizando o NLA enquanto estiver dentro do Editor NLA, para dizer AONDE a ação deverá supostamente ocorrer. O Editor NLA trabalha em dois modos diferentes, único e combinado. Dentro do Modo de "Action" (Ação) único, somente a ação ativa é tocada. Para tocar ações combinadas de "Action" (Ação), utilize o NLA em modo combinado. Dentro do Editor NLA você verá uma representação de todos os Objetos com ambas as Ações ou IPOS. Em uma base Por-Objeto, você não pode adicionar "Faixas de Ação" com ⇧ ShiftA; você pode adicionar quantas Ações você desejar, permitindo a você mixar diferentes Ações para uma edição de temporização não destrutiva e relacionamentos. Cada Objeto pode possuir somente uma Ação ativa, que é mostrada dentro do Editor de Ações. Esta Ação ativa é aquela que irá receber quaisquer novas "keys" (chaves) que você inserir, e cujas chaves você pode editar diretamente.


Quando as faixas são inseridas, elas iniciam no quadro corrente. Quando uma faixa é adicionada, ela se torna a faixa ativa. A faixa ativa corrente é sempre desenhada em amarelo. Clicando na faixa em si ou nas barras que ficam para a esquerda vai fazer com que a faixa se torne ativa. Utilizando o painel de propriedades de "Strip" (Faixa), você pode controlar quanto tempo a Ação demorará para ser executada, ou qual porção de uma Ação deverá ser tocada. Você adiciona novas "IPO-Keys" (Chaves para IPOs) para a Ação ativa, e você pode editar estas chaves diretamente (deletar, mover). Os Objetos que você seleciona dentro da Janela de NLA são selecionados também dentro da Janela de visualização 3D. Tenha cuidado ! A |Deleção de chaves dentro do Editor NLA também as deleta da Ação, e das Curvas IPO adjacentes também. IPOs para Objetos – e também para Objetos de Armadura – podem ser convertidas em Ações dentro da Janela IPO com o atalho ⇧ ShiftC (ou a partir do Menu Strip, escolhendo a opção "Convert Action to NLA strip" (Converter Ação para faixa de NLA)) Desvincule as Ações antes de iniciar Antes de entrar no Editor de NLA, tenha certeza de que qualquer Objeto que você queira controlar utilizando o Editor NLA está desvinculado de sua Ação. Caso contrário, esta ação vai querer se fazer por vontade própria. Para desvincular, dentro do Editor de Ações, tenha certeza de que o "Fake User" (Usuário Falso) está habilitado e pressione o botão de atalho X no cabeçalho. A Ação irá permanecer na memória, ( para que você a chame utilizando o NLA) mas não vai forçar o Objeto a perfazê-la. Note também que Ações designadas para serem utilizadas dentro do NLA devem iniciar a partir "frame" (quadro) 1, por conveniência.

Imagem 9: Representação de diferentes Objetos, Ações e IPOs dentro da Janela do Editor NLA.


1) Um Objeto é somente mostrado dentro da Janela do Editor NLA caso possua IPOs, uma Ação, ou Faixas de NLA. A barra mais horizontal ao topo para um Objeto individual mostra o nome do Objeto a sua esquerda, e quaisquer IPOs de Objetos que definem "keyblocks" (Blocos de chaves IPO) (que são o diamantes representando as keyframes) em sua direita. (Imagem 9 – o Objeto "Lamp", possui somente IPOs de Objeto, e nenhuma Ação). 2) O Botão mais próximo a esquerda do nome do Objeto faz com que o Blender seja alternado entre a evaluação da faixa NLA integralmente e mostrar esses resultados dentro da Janela de Visualização 3D, ou somente evaluar a Ação ativa (Imagem 9 – A "Câmera" está em modo "Action" (Ação), enquanto as setas "AR-right" e "AR-left" estão dentro do Modo "NLA"). Note que este ícone somente é mostrado quando faixas NLA estão presentes para o Objeto. 3) Imediatamente abaixo da barra do primeiro Objeto, a Ação ativa é mostrada, e também os "keyblocks" para as Ações de IPOs. 4) Finalmente, as "Action Strips" (Faixas de Ação) são desenhadas. A Faixa de Ação Ativa é indicada com um ícone em formato de um ponto preto. Clicando em uma faixa em si ou nas barras viradas para o lado esquerdo vai configurar uma faixa para ser a Ação ativa.

Opções de Faixas NLA Modo: Modo de Objetos / Modo de Pose (Armadura) Atalho: A Menu: NLA Editor → Strip → Add Blank Action ou Add Action Descrição

Faixas são adicionadas e mostradas dentro de um estilo indexado intencional. Quando você executa o comando de "Add Action Strip" (Adicionar uma Faixa de Ação), uma Janela aparecerá que permitirá a você escolher entre as Ações disponíveis definidas. "Add Blank Action" (Adicionar uma Ação em Branco) cria uma nova Ação, por padrão nomeada de "ObAction". Para renomeá-la, utilize a "Action Window" (Janela de Ação). O nome da Ação em geral é o nome da armadura ou do Objeto. Abaixo disto, há uma faixa de identificação que mostra o nome da faixa correntemente selecionada e todas as


Keys IPO que pertencem a esta faixa. No caminho que segue-se a isso, estão indexadas todas as que são as faixas de Ação carregadas. A Imagem de exemplo mostra uma Janela NLA para uma Armadura do Guindaste em Modo de Ação. A faixa selecionada com o Mouse RMB é a ArmCycle, e ela possui duas "keys" (chaves). O diamante branco presente no "frame" (quadro) corrente (representado pela linha verde) mostra que ali há uma posição chaveada presente. O diamante laranja no "frame" (quadro) 21 é o "frame" (quadro) correntemente selecionado (e que está pronto para ser AGarrado e movido, ou X deletado). Existem dois Modos para o Editor: Modo de "Action" (Ação) e Modo "NLA" (Animação Não Linear). O Modo é mostrado pelo ícone na cabeça da faixa: "e um homem se inclinando" para Ação, e "pequenas-faixas" para identificar o Modo NLA. Dentro do Modo "Action" (Ação), somente a ação para uma única faixa de ação é animada conforme você rola através dos quadros de sua animação. Dentro do Modo NLA, todas as faixas são animadas conforme você rola através dos quadros de sua animação. Quando você alterna para o Modo NLA, os Ossos das Armaduras são todos recomputados, com base nas posições chaveadas de IK e FK. Todos os Ossos nãochaveados irão reverter pra a sua posição de edição. Portanto, é uma boa idéia chavear (Chavear, nesse caso significa criar as keyframes) todos os ossos (especialmente os drivers de IK ) no início da animação na pose padrão. Lembre-se que para criar ações para as Armaduras, você deverá adicionar uma "New Action" (Nova Ação), então adicionar uma nova faixa IPO, ou então chavear a ação dentro da Janela de "Action" (Ação) (e então uma curva IPO será adicionada automaticamente).Também lembre-se que uma Ação pode conter movimento e curvas de drivers IPO para muitos Ossos. Portanto, é impossível carregar duas faixas de ações que possuem (possivelmente conflitantes) curvas IPO para o mesmo osso. Por esta razão, você deverá utilizar as propriedades da faixa para dizer ao Blender qual IPO deverá tomar precedência, ou se ele deverá mesclar as duas ações juntamente. Estas e outras propriedades ão descritas abaixo. A Faixa selecionada é mostrada em amarelo e possui um grande ponto próximo a sua marcação de índices. Todas as chaves para esta ação são mostradas em formato de diamantes em sua Faixa indexada. A Janela rola verticalmente com o atalho LMB arrasto para dentro da margem correta. Ele rolará horizontalmente e verticalmente via MMB -arrasto. As faixas são adicionadas em ordem, sendo que a última ficará na base da lista. Para mover ou re-arranjar as faixas, escolha a opção Strip → Move ou os atalhos CtrlPageUp ou CtrlPgdn. Propriedades

Modo: Modo de Objetos / Modo de Pose (Armature) Atalho: N Menu: Editor NLA → Strip → Strip Properties...


Imagem 11: O Painel de "Transform Properties" (Propriedades de Transformação) para uma Faixa.

As propriedades da faixa controlam como a Ação genérica é aplicada na animação. Quando estiver trabalhando com ações individuais dentro do Modo de "Action" (Ação) (quando o ícone do "Homem se inclinando" é mostrado), a ação plena é animada dentro da Janela de visualização 3D, e não somente a Ação que está posicionada entre os quadros marcados para "Action Start" (Inicio da Ação) e "Action End" (Término da Ação) dentro do Painel de Propriedades. Quando você alterna para o Modo NLA, somente o campo de ação e as repetições, juntamente com o restante das propriedades, são utilizados para computar a animação atual. Estas propriedades incluem: "Timeline Range" (O campo da Linha do tempo) O primeiro e último quadro da Faixa dentro da Linha do tempo. O Comprimento da Faixa é independente do comprimento da Ação, mas a Ação irá se esticar para preencher o comprimento da Faixa. Esta funcionalidade permite a você possuir uma Ação genérica de caminhada, por exemplo, que se estica em 40 quadros. Para fazer com que o seu personagem ande mais rápido, você pode entrar com esta Ação dentro de um campo de 30 quadro; e para fazer com que ele ande mais lentamente, você pode utilizar um campo de 50 quadros. "Locked Strip Length" (Comprimento de Faixa travado) Pela configuração das Faixas com o comprimento "Locked" (Travado), o NLA irá sempre manter o comprimento da Faixa atualizado com as suas Ações de Edição para que todas as chaves sejam incluídas. O Modo "Locked" (Travado) é o novo padrão, pelo fato de ser muito superior ao comportamento anterior, mas os arquivo Blender mais antigos deverão ser atualizados manualmente para que esta funcionalidade possa trabalhar. • caso você solte esta “Trava”, você poderá escolher somente uma parte da Ação para ser incluída na Faixa. • O "Action End" (Término da Ação) não é permitido que seja menor que o "Action Start" (Início da Ação), portanto você não pode reverter uma Ação dentro do Editor NLA. "Blending" (Mesclagem) O Número de quadros de transição para gerar entre esta Ação e aquela que está anteriormente presente dentro da lista de Faixas de Ação. •


"Repeat" (Repetir) O Número de vezes que o campo de Ação deverá repetir. Este parâmetro é ignorado caso "Stride Path" (Caminho em estrado) (dentro das configurações de "Stride Support" (Suporte a Estrados)) esteja habilitado. "Hold" (Manter) Caso isto esteja habilitado, o último quadro da Ação vai ser mostrado pra sempre, a menos que seja sobreposto por outra Ação. Caso contrário a Armadura se reverterá para a sua posição de descanso. •

"Add" (Adicionar) Especifica que as transformações nesta Faixa devem adicionar quaisquer dados de animações existentes, ao invés de sobrescrevê-las. "Stride Path" (Caminho em estrado) Repete a Faixa ao longo de um caminho (por exemplo, para fazer um "walkcycle" (ciclo de caminhada)) "Disable Path" (Desabilitar Caminho) Desabilita temporariamente o movimento do caminho para que você possa ver a sua Ação se repetindo no Foco. "Stride" (Estrado) A distância em Unidades Blender sobre a qual a Faixa deverá se repetir (ou, o comprimento do estrado) X/Y/Z O Eixo do Osso do Estrado para mover a Armadura sobre. "Stride Bone" (Osso do Estrado) O Nome do Osso do estrado. Veja este tutorial (em inglês), sobre o Suporte a Estrados

Ferramentas para Faixas NLA Modo: Todos os Modos Menu: NLA Editor → Strip Descrição

Edita as propriedades das Faixas e Chaves (Keys) pelo Menu "Strip" (Faixa):


Opções

Imagem 10: O menu "Strip" (Faixa) . "Move Up/Move Down" (Mover para cima/baixo) Utilize os atalhos Page up ou Page down para alterar a ordem das faixas. As faixas são evaluadas de cima para baixo. O Canais especificado dentro das Faixas na lista mais tarde se sobrepõem aos canais especificados dentro das Faixas anteriores. "Delete" (Deletar) X Deleta uma Faixa ou uma Chave (Key). A Deleção de uma Faixa afeta somente o Editor NLA. Contudo, caso você delete uma chave ( key) a posição se perde permanentemente . "Duplicate" (Duplicar) •

⇧ ShiftD Copia uma Faixa ou uma curva IPO. "Snap to Frame" (Agarrar ao quadro) ⇧ ShiftS Agarra a posição de início e final das Faixas de Curvas IPO selecionadas para os Quadros. "Reset Strip Size" (Re-configurar o tamanho da Faixa) AltS Re-configura o tamanho da Faixa dentro do NLA para bater com o campo escolhido de quadros para a Ação. "Reset Action Start/End" (Reconfigurar o Início/Fim da Ação) AltS Re-configura o campo escolhido da quadros de Ação para incluir todos os quadros dentro da Ação (isto somente é necessário caso você não esteja utilizando a nova funcionalidade de "Locked Strip Length" (Comprimento de Faixa travado), e é útil para consertar arquivo mais antigos ou se você acabou “perdendo o passo” enquanto estava adicionando ou subtraindo quadros de Ações). "Grab/Move" (Agarrar/Mover)


G Move a Faixa horizontalmente. Com o atalho Ctrl você move través de quadros, precisamente. "Scale" (Escala) O atalho S, utiliza o “ponto” base para escala como o quadro corrente. Configurando o quadro você pode selecionar se o final, o início, ou um ponto no mio da Faixa deverá manter a sua posição inalterada. Category: Animation

Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page Muitas vezes você gostaria que um objeto ou ator ficasse de fora do palco até que seja o momento certo para que ele entre e faça seu papel ou atuação. No Blender, você comumente renderiza somente alguns dos 20 layers ou camadas de objetos disponíveis. Além disso, você pode acertar determinadas lâmpadas para iluminar somente objetos em seus layers. Mudando um objeto de Layer ou Camada durante a animação, é possível animar um objeto que faça parte de um layer como um membro, e também sua visibilidade na cena, e sua iluminação. Além do mais, por colocar o objeto em um layer que não está selecionado em sua visualização 3D, ele não vai poluir seu espaço de trabalho. Durante as frames ou quadros da animação, quando não está em um layer visível, você poderá vê-lo e trabalhar com ele.

Mudando do Layer 4 para o 14

Para animar um objeto que seja membro de um Layer, vá até a frame quando você quer que o objeto apareça. Tenha certeza que o objeto está em um Layer visível (O comando de Mover para um Layer vai dizer a você em qual Layer o objeto está). Insira uma Ipo Key, e escolha Layer (a opção de menu localizada abaixo das seleções de localização e


rotação). Em sua janela Ipo, Você verá que o canal do Layer agora possui um valor correspondente ao Layer. Volte uma frame, mova o objeto para um layer não selecionado (invisível). Agora, aqui tem um pequeno truque; você não pode adicionar uma Chave de Layer porque o objeto está em um layer não selecionado. Então, temporariamente habilite este layer usando o ⇧ Shift e o selecionado entre os 20 botões de Layer, Insira outra chave de Layer, e então de-selecione o Layer não desejado. Para selecionar todos os Layers Para ativar todos os Layers, se estiver usando um teclado em inglês, pressione ` (acentuação grave .. no canto esquerdo do teclado com layout US), caso contrário, as teclas numéricas do seu teclado alfanumérico habilitam e desabilitam os layers, e para os layers acima do décimo, você pode usar o atalho Alt somado a tecla do layer que quer habilitar/desabilitar

Trabalhe ou brinque através da animação e você vai ver seu objeto aparecendo e desaparecendo na frame indicada. Você podem editar este ponto de controle Ipo, usualmente em modo de Keyframe, para mudar quando a alternância ocorrer. Dicas

Você vai notar que a curva Ipo do Layer é um pulo descontinuo. Isso ocorre por que não há uma maneira de mudar um objeto gradualmente de Layers. Para fazer com que um objeto desapareça na visualização, você deve animar a configuração Alpha do seu Material para que ela aumente de 0.0 para 1.0. Existem duas maneiras de checar em qual Layer o objeto está: - Pressione M para mostrar o menu de Layers, os botões de layer(s) para o objeto estarão habilitados. Pressione ESC ou OK para desfazer o menu. - Mostrando a Botoeira da Janela/ Botões de Objeto F7. Dentro do painel de Draw, os botões de layers mostram o(s) layer(s) em que o objeto está ativo. O Layer no qual o objeto está ativo pode ser então mudado a partir desse painel também, ao invés de usa o painel flutuante do atalho M.

Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page

Movendo Objetos por um Caminho Uma maneira diferente de fazer com que Objetos sejam movidos por um caminho dentro do espaço, é restringir o seu movimento para seguir um dado caminho. Algumas vezes os Objetos necessitam seguir um caminho específico como por exemplo um trem que segue os trilhos em uma mina, ou quando temos por exemplo uma batalha entre naves espaciais onde uma segue a outra, ou então seria muito difícil animar certos tipos de movimento com o método de utilização de "keyframes" (chaves de quadro). Por exemplo, um planeta seguindo o seu caminho em torno de um Sol/Estrela – a animação


desse tipo de movimento seria virtualmente impossível. Nesses casos, um tipo de Objeto do tipo "Curve" (Curva) especial chamado "Path" (Caminho), pode ser utilizado como o caminho para que outro Objeto o percorra. Existem dois passos pra serem realizados ao se animar Objetos que devem percorrer um caminho: 1. Criar o Caminho 2. 'Dizer' ou 'avisar' o Objeto para seguir este caminho

Criando um Caminho Modo: Modo de Objetos da Janela de Visualização 3D Atalho: Space → Add → Curve → Path

Caminho no Modo de Edição

Um "Path" (Caminho) é um tipo especial de Objeto do tipo "curve" (curva). O O Blender utiliza um Objeto específico de "Curve Path" (Curva de Caminho), adicionado como indicado dentro da caixa de referência mostrada acima, mas qualquer curva pode ser utilizada como "path" (caminho) dentro do Blender 3D. Portanto, por exemplo, caso você tenha utilizado uma curva para mostrar as ranhuras no caminho da pista de brinquedo de um carro de corrida elétrico (Carrinhos de Autorama, ou pistão), você pode utilizar esta mesma curva como o caminho para o carro de corrida em si. As duas agem como se fossem as mesmas, contudo existem aulgumas funcionalidades automáticas que fazem com que a utilização de um Objeto do tipo "Curve Path" (Curva de Caminho) seja bem mais fácil do que a utilização de uma curva genérica. O "path" (caminho) é composto de pontos de controle, inicialmente 5, e possui uma direção linear mostrada pelas setas dentro do "Edit Mode" (Modo de Edição). Você pode fechar um caminho pressionando o atalho C para fazer com que o "Path" (caminho) seja cíclico. No exemplo a direita, o "path" (caminho) está indo na direção positiva de X, ou +X em uma linha restrita (da esquerda para a direita). •

"Speed IPO" (Ipo para Velocidade): Quando você adiciona um Objeto do tipo "CurvePath" (Curva de Caminho), dentro da Janela de IPO, uma curva Ipo chamada Speed IPO é automaticamente adicionada, formatada de uma maneira que qualquer


Objeto que esteja atravessando o "Path" (Caminho) acelere suavemente no início e então desacelere suavemente até parar no final do caminho em 100 "frames" (quadros). Você pode visualizar essa curva chamada "Speed IPO" (IPO para velocidade) dentro da Janela de IPO, escolhendo o tipo de visão das curvas como "Path" (Caminho). Esta curva de velocidade se sobrepõe em importância ao valor de "PathLen" (Comprimento da Curva). Você pode editar esta curva IPO para alterar a velocidade e a localização do Objeto sobre qualquer período de tempo em que desejar, utilizando as funcionalidades de edição de curvas IPO padrão, do Blender. Os valores de Y representam o percentual completo do Objeto ao longo do "Path" (Caminho); 0.0 é o ponto de partida do caminho, e um valor de 1.0 é o final. O valor de X é o quadro que representa o quadro da animação. Portanto, uma curva em formato de onda senoidal (ou sinusoidal, para os geeks de geometria) na curva Ipo de velocidade irá fazer com que quaisquer Objetos que sigam o "Path" (Caminho) para se mover, sejam movidos para frente e para trás ao longo desse "CurvePath" (Curva de Caminho) de uma maneira bem hipnotizante.

Como todos os Objetos que fazem parte do Grupo de Objetos tipo curva, os "Paths" (Caminhos) são nomeados dentro do Painel de "Link and Materials" (Ligações e Materiais) ou dentro do Painel de "Properties" (Propriedades), por padrão, com o nome inicial Curve. Isso se torna importante quando você restringe um Objeto ao caminho, por que você tem de entrar com o nome do "Path" (Caminho) dentro do campo chamado Ob: dentro do painel de "Constraints" (Restrições). O velho caminho para fazer um Objeto seguir uma curva genérica é parentear o Objeto a Curva. Esta técnica convencional é descrita abaixo. O restante desse parágrafo explica a utilização do Objeto "CurvePath" (Curva de Caminho) e do método de utilização de "Constraint" (Restrição) para o Objeto. Selecione o Objeto qual você quer que siga o "Path" (Caminho). Dentro do contexto de Objetos (F7), nos botões de Objetos, clique em Add Constraint->Follow Path. Dentro do campo Target OB:, entre com o nome do "Path" (Caminho). O Botão com o nome Const (para a restrição ou constraint abreviado) deverá alterar a sua cor de vermelho para cinza, e o centro do Objeto irá saltar para o início do "Path" (Caminho). Clique aqui pra mais informações sobre essa "Constraint" (Restrição) (em inglês). (veja também a sua página dedicada neste manual). Painel de Botões "Path" (Caminho)

Os Painéis de edição de Curvas/Caminhos

O Objeto do tipo "CurvePath" (Curva de Caminho) possui todas as ferramentas normais de curvas disponíveis. Com o foco nas funcionalidades mais úteis dos Objetos


"CurvePath" (Curva de Caminho), trabalhando da esquerda para a direita através dos painéis, explicamos sua funcionalidade:

Opções do Painel "Curve and Surface" (Curva e Superfície) "CurvePath" (Caminho de Curva) designa a curva como um caminho que poderá ser seguido (esta opção está ligada por padrão). Os Objetos podem possuir uma translação (de sua localização) pelo "Path" (Caminho), e caso a opção "CurveFollow" (Seguir Curva) esteja habilitada, ele também rotacionará em um ponto ao longo do "Path" (Caminho) , como um trem nos trilhos. "CurveStretch" (Esticar para a curva) Faz com que o Objeto seja esticado, e tem sua função parecida com a função do Lattice. Ele faz com que os Objetos pareçam com uma espécie de borracha, ao longo do "Path" (Caminho) . "Pathlen" (Comprimento do Caminho) Define o número padrão de "Frames" (Quadros) sobre os quais o Objeto atravessará o "Path" (Caminho). Uma curva de velocidade provê muito mais controle e, caso esteja presente, se sobrepõe ao valor constante de "PathLen" (Comprimento do Caminho).

Painel de Ferramentas de Curva (Específico) Neste Painel você altera opções específicas para os Objetos Curva Você pode alterar o tipo de curva, as opções de calculação de curva são Poly, Bezier, e Nurbs, o que altera a maneira com a qual os pontos de controle influenciam o "Path" (Caminho). Cada ponto de controle possui um determinado "Weight" (Peso), ou influência, na velocidade do Objeto ao longo do caminho nesta parte específica do "Path" (Caminho). Os botões de "preset" (configurações pré-estabelecidas) ajudam você a não ter que digitar números nos campos numéricos. Os botões de Raiz Quadrada calculam uma aceleração/desaceleração suave utilizando um fator de velocidade entre os pontos com base na raíz quadrada de 2. tenha certeza de ter clicado em "Set Weight" (Configurar o Peso) para bloquear as suas alterações neste ponto. Painel de "Curve Tools" (Ferramentas de Curva) N° 1 O Botão de "Subdivide" (Subdividir) é útil para inserir mais pontos de controle entre os pontos selecionados. Alterando o "Path" (Caminho)

Modo: Modo de Edição da Janela de Visualização 3D


Atalho: G para agarrar, E para Extrudar, C para alternar entre Curva Cíclica. Menu: Curve→Extrude; Curve→Toggle Cyclic, Curve→Segments→Switch Direction Todos os controles de vértices normais estão disponíveis, principalmente a ferramenta de Agarrar G. As ferramentas especiais de curvas (como as opções para alternar entre "Cyclic" (Cíclica) o que faz um "Path" (Caminho) fechado) também estão disponíveis. Algumas de conotação especial: "Extrude" (Extrudar) Utilizada para estender ou o início ou o final do caminho. Com o ponto de início ou o ponto final selecionado, Você pode tanto clicar em "Extrude" (Extrudar) ou clicar com CtrlLMB

para adicionar pontos para esta ponta do "Path" (Caminho).

"Switch Direction" (Alternar Direção) Troca ou Inverte os pontos de início e final do "Path" (Caminho). Painel de "Anim settings" (Configurações de Animação) O Campo numérido chmado "TimeOffset" (Deslocamento de Tempo) na parte de baixo deste painel especifica quanto dentro do empo este "Path" (Caminho) iniciará a influência sobre os Objetos.

Seguindo um "Path" (Caminho)

restrição do tipo Path ou Caminho em Objeto

Com o seu Objeto selecionado, adicione uma "Constraint" (Restrição) do tipo "Follow Path" (Seguir Caminho) para o Objeto. Entre com o nome do "Path" (Caminho), e especifique a orientação. Os "Paths" (Caminhos) possuem uma orientação local para os eixos X' Y, e Z, e os botões alinham as coordenadas locais de seu Objeto nessa orientação local do "Path" (Caminho). Neste exemplo a direita, o nosso macaco favorito (Suzanne) possui uma "Constraint" (Restrição) leve para seguir o {{Literal.nl|Path| Caminho} chamado "ToBanana". O "Path" (Caminho) somente influencia o seu movimento em mais ou menos 50%, portanto, ela não segue o "Path" (Caminho) totalmente, mas é somente deslocada pela metade do comprimento do "Path" (Caminho). Ela inicia ao longo do "Path" (Caminho) em direção à banana no deslocamento marcado para o "frame" (quadro) 50. O "Frame" (Quadro) atual de início


é este deslocamento mais a configuração de animação do "Path" (Caminho) deslocado pelo valor de "TimeOffset" (Deslocamento de Tempo). Quando você adiciona uma "Constraint" (Restrição), o Objeto se move com relação ao "Path" (Caminho), mas não tem que fisicamente seguir esse "Path" (Caminho) dentro do mesmo espaço 3D. Ele pode estar fisicamente separado (ao lado, ou distanciado) da curva atual. Isto permite a você possuir um "Path" (Caminho) genérico, como um Objeto que esteja Caindo com o vento e então poder modelar muitas folhas ("Folha . 001", "Folha.002", etc.). Cada folha fica movida um pouco para longe do caminho e ainda assim segue o "Path" (Caminho), mas como o seu próprio espaço. Quaisquer curvas IPO para este Objeto estão ainda em efeito conforme ele e move ao longo do "Path" (Caminho), permitindo a você deixar com que o Objeto seja inclinado para a esquerda ou para a direita conforme eles andam através do caminho, como se fosse um pássaro desenhado em estilo Cartoon que comece a girar e deslizar pelo gelo. Progresso e velocidade através de "Time Curve" (Curva de Tempo)

Você controla a quantidade de tempo (atualmente através da percentagem de progresso do Objeto ao longo do caminho) através da seleção com o botão direito do Mouse RMB da curva e , dentro da Janela de IPO, clicando com o botão esquerdo LMB

para

selecionar o Time channel. Então, clique com a combinação de teclas CtrlLMB para adicionar pontos de interpolação em diversos "frames" (quadros), com um valor de Y entre 0 e 100 refletindo o progresso ou distância ao longo do "Path" (Caminho) no qual o Objeto deverá estar nesse tempo "frame" (quadro). Caso a curva seja crescente, o movimento será para frente; caso a curva seja decrescente, o movimento será para trás. Portanto, uma simples onda senoide (com extensão cíclica), a curva irá fazer com que o Objeto fique indo para frente e para trás ao longo do caminho para sempre. Alguns "Paths" (Caminhos) podem seguir outros "Paths" (Caminhos) Simplesmente adicione mais uma restrição do tipo "FollowPath" (Seguir Caminho) para este "Path" (Caminho). Por exemplo, uma bola de baseball que foi atirada e sofreu uma ação do vento durante um home run e saiu para fora do campo. Essa trajetória alternativa seria no caso o "Path" (Caminho) chamado vento

Método de Seguir Caminho utilizado anteriormente Blender 2.37-+ Notas do Editor O seguinte Texto estava neste local antes da versão 2.43 do Blender 3D. Isso está preservado aqui para usuários de versões anteriores, e não para a execução de trabalhos com arquivos Blender de versões antigas que utilizem o método anterior de animação para seguir um "Path" (Caminho). O exemplo da espaçonave é ainda relevante e útil dentro das explicações para


prover mais detalhes sobre esse tipo de animação.

Da mesma maneira que para a "tracking" (observação), existem dois métodos de animação de "Path" (Caminho), o anterior, que era utilizado antes da versão 2.30 e que está descrito aqui e o novo método, que atualmente é definido como uma "Constraint" (Restrição), que também será descrito dentro do capítulo que fala sobre restrições para personagens. Quando estiver parenteando um Objeto a uma Curva, você será perguntado se quer escolher um parentesco do tipo "Normal Parent" (Parentesco Normal) ou um "Follow Path" (Seguir Caminho) como opção. O que será formado é o que você necessita para uma animação convencional de seguir "Path" (Caminho), mas outras ações necessitarão ser tomadas mais tarde. A segunda opção cria uma "Constraint" (Restrição) do tipo "Follow Path" (Seguir Caminho), e isso é tudo o que você necessita para estar feito. Em alguns cassos, quando o Objeto estiver seguindo um caminho, a linha pontilhada entre o Objeto e o "Path" (Caminho) fica direcionada para o final errado do "Path" (Caminho), nesse caso, simplesmente desfaça o parentesco, selecione o "Path" (Caminho) e entre no modo de Edição. Selecione todos os pontos de controle e selecione, no cabeçalho da Janela de Visualização 3D, no menu "Curve" (Curva), a opção "Segments" (Segmentos) e selecione a opção "Switch Direction" (Inverter Direção), e então refaça o parentesco do Objeto para o "Path" (Caminho). Qualquer tipo de curva pode se tornar um "Path" (Caminho) pela configuração da opção de alternância do botão CurvePath. Alterne o Botão dentro da Janela de botões, F7 para "ON" (LIGADO) (A Janela de Ação com os botões de "Path" (Caminho).). Quando uma Curva possui Objetos "Children" (Filhos), esses Objetos derivados dos Objetos tipo Curvas podem ser transformados em um "Path" (Caminho), através da sua seleção, e, entrando no contexto Editing (F9) e ativando a opção do botão de alternância CurvePath dentro do Painel de "Curve and Surface" (Curva e Superfície). Os Objetos do tipo "Child" (Filhas/Crianças) da Curva agora irão se mover ao longo do "Path" (Caminho) especificado. É uma boa ideia configurar a Curva para fazer com que ela seja 3D, através do botão de alternância 3D dos botões de Edição das Curvas, para que os "Paths" (Caminhos) possam ser livremente modelados. Caso contrário, dentro do Menu de "ADD" (Adicionar) dentro da opção de conversão Curve->Path, existe uma Primitiva com as configurações corretas já pronta para utilização neste local. Esta é uma curva de 5ª Ordem, do tipo Spline NURBS, que pode ser utilizada para a criação de movimentos contínuos e bem fluidos. Normalmente, um "Path" (Caminho) possui 100 "Frames" (Quadros) de comprimento e é seguida por 100' "Frames" (Quadros) pelas suas "Children" (Filhas/Crianças ). Você pode fazer com que ela seja mais longa ou mais curta pela variação do valor especificado no botão numérico "PathLength:" (Comprimento do Caminho). O Fator de velocidade ao longo de um "Path" (Caminho), é determinado com uma curva apropriada dentro da Janela de IPO. Para vê-la, dentro do Cabeçalho da Janela IPO existe um botão em que você deverá selecionar o tipo de "Curve" (Curva) para especificar o bloco de IPO referente. Um único canal, com o nome "Speed" (Velocidade) está ali. O "Path" (Caminho) completo é percorrido pela Janela de IPO na Curva específica entre os valores 0.0 e 1.0. Desenhar a curva entre estes valores liga o fator de Tempo à posição no "Path" (Caminho). Movimentos para trás e movimentos pulsantes são possíveis através do controle desta Curva. Para a maioria dos "Paths" (Caminhos), uma Curva IPO deve percorrer o valor especificado exatamente entre os valores de Y - 0.0 e 1.0. Para conseguir isto, utilize o Menu Numérico ( Ou de propriedades ) (N) dentro da Janela de IPO. Caso a curva IPO seja


deletada, o valor especificado em "PathLen" (Comprimento do Caminho), determina a duração deste "Path" (Caminho). Um Movimento Linear é definido para este caso. A Curva IPO definida como "Speed" (Velocidade) é uma maneira mais refinada de controlar o comprimento do "Path" (Caminho). O "Path" (Caminho) é do tamanho de 1 para a IPO referente a "Time" (Tempo) ( 100%) , e caso a Curva de IPO "Time" (Tempo) tenha o seu valor de 0 a 1 em 200 "Frames" (Quadros) , então o "Path" (Caminho) terá 200 "Frames" (Quadros) de comprimento. Através da utilização da opção "CurveFollow" (Seguir Curva), dentro do Painel "Curve and Surface" (Curva e Superfície), uma rotação também é dada para os Objetos "Child" (Filhas/Crianças) do "Path" (Caminho), de uma maneira que elas permanentemente irão apontar a direção deste "Path" (Caminho).

Botões de Observação (Tracking Buttons)

Utilize os "Tracking Buttons" (Botões de Observação/Vigilância) dentro do Painel de "Anim settings" (Configurações de Animação) do contexto Objeto (F7) para especificar o efeito da rotação (Observe a Imagem de Botões de Observação (Tracking Buttons)) bem como você o faria para uma Operação de "Tracking" (Observação/Vigilância) normalmente: •

TrackX, Y, Z, -X, -Y, -Z Isto especifica o eixo de direção, ou seja, o eixo que é colocado no "Path" (Caminho).

UpX, UpY, UpZ Especifica quais eixos devem apontar 'para cima', dentro da direção do eixo Z positivo (local). Caso os eixos de "Track" (Observar) e o de "Up" (Cima) sejam coincidentes, a operação de Observação/Vigilância é desativada.

Nota Os Caminhos em Curva ou Curve Paths possuem o mesmo problema de curvas Chanfradas ou com Bevel para o que é concernente a definição da direção de Cima ou "Up".


Uma Animação de Path ou Caminho mais complexa (Clique para ampliar a Imagem)

Para visualizar estas rotações de maneira precisa, nós devemos fazer com que seja possível para uma "Child" (Filha/Criança) ter as suas próprias rotações. Apague a rotação da "Child" (Filha/Criança) através do atalho AltR. Também apague o "Parent Inverse" (Parentesco Inverso): com o atalho AltP. O Melhor método é parentear a uma "Child" (Filha/Criança) não rotacionada ao "Path" (Caminho) com o comando Ctrl⇧ ShiftP: que executa a operação de "Make parent without inverse" ou Fazer Parente sem Inversão. Agora a "Child" (Filha/Criança) saltará diretamente para o "Path" (Caminho) e a "Child" (Filha/Criança) apontará para a direção correta. Os "Paths" (Caminhos) convertidos em Curvas 3D também ganham um valor numérico extra para cada Vértice de controle: o valor para "Tilt" (Inclinação). Isto pode ser utilizado para especificar uma rotação de um dos eixos. Utilize o atalho T dentro do "EditMode" (Modo de Edição) para alterar o fator de "Tilt" (Inclinação) dos Vértices selecionados dentro do "Edit Mode" (Modo de Edição), ou seja, para que uma "Child" (Filha/Criança) se mova em torno de si mesma como se fosse uma montanha russa. A Imagem de (Uma Animação de Path ou Caminho mais complexa) mostra uma aplicação mais complexa da técnica. Nós queremos fazer com que o Caça mergulhe em um Canyon, voe próximo da água e então suba novamente, tudo isso seguindo-o com a nossa Câmera e, possivelmente, tendo reflexões na água! Para fazer isto nós precisaremos de três 3 "Paths" (Caminhos) . O "Path" (Caminho) N° 1 possui o Caça Parenteado a ele, e portanto o Caça irá voar seguindo-o. O Caça possui um "Empty" (Vazio) chamado de 'Track' parenteado a ele em uam posição estratégica. Uma Câmera é então parenteada para outra Curva, que será o "Path" (Caminho) N° 2, e que a segue, Observando o "Empty" (Vazio) chamado de 'Track'. O Caça possui uma IPO de "Speed" (Velocidade) constante, a Câmera não possui. Ela vai rápido, e então mais devagar, mas sempre fazendo a observação/vigilância e portanto seguindo o Caça, portanto nós teremos movimentos bem fluídos da Câmera a partir da lateral do Caça, a partir da frente do Caça, do outro lado, atrás, etc. (Alguns Quadros, a Câmera seguindo o Caça de maneira Fluida.)


Alguns Quadros, a Câmera seguindo o Caça de maneira Fluida. (Clique para ampliar a Imagem)

Desde que queremos que o nosso caça sobrevoe um rio, nós precisamos configurar um "Env Map" (Mapa de Ambiente) para que a superfície da água obtenha reflexões. Mas o Objeto "Empty" (Vazio) utilizado para as calculações deverá estar sempre em uma posição especular com relação a Câmera... e a Câmera está se movendo ao longo de um "Path" (Caminho) ! O "Path" (Caminho) de N° 3 é portanto criado a partir de um espelhamento do "Path" (Caminho) N° 2' respectivamente ao plano da água, através da duplicação do mesmo, e através da utilização do atalho M dentro do "Edit Mode" (Modo de Edição), com relação ao Cursor, uma vez que o Cursor está no Plano. O Objeto "Empty" (Vazio) para executar a calculação do "Env Map" (Mapa de Ambiente) é então parenteado a este novo "Path" (Caminho) e a IPO de "Time" (Tempo) do "Path" (Caminho) de N° 2 é copiada para o "Path" (Caminho) de Nº 3. A Imagem Um Quadro da Animação final. mostra um dos Quadros Renderizados. Alguns "Particle Systems" (Sistemas de Partículas) foram utilizados para deixar rastros. A "Scene" (Cena) apresenta muitos truques sutis, como as Partículas para a passagem dos Jatos, fumaça, uma Esfera que circula a Cena para fazer o ambiente do "Sky" (Céu) e por aí vai.


Um Quadro da Animação final. Category: Animation

Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page

Métodos de Deformação Animar a localização, rotação e escala de Objetos, são apenas operações triviais. A animação e suas configurações de Materiais são um pouco mais desafiadoras, conceitualmente. Então vamos subir um nível a mais, podemos ? Com o Blender, você pode alterar, reformatar, e deformar os seus Objetos sobre um Tempo determinado !.


Existem muitas maneiras de conseguir isso atualmente, com determinados e maiores níveis de complexidade. Contudo, cada nível é construído a partir de outro e como usual, existem diversas maneiras para fazer isso. Dependendo de quanto de elegância você quer obter e do que você quer fazer, muitas vezes uma abordagem é preferível sobre a outra. "Hooks" (Ganchos) • Hooks utilizam um Objeto do tipo Empty (ou outro Objeto, mas mais comumente um Empty) para puxar vértices selecionados de sua Malha, Curvas, Lattices ou superfícies NURBS. Você anima a localização do Hook para animar a deformação de sua Malha. Os Hooks são modificadores, e estão explicados dentro da seção de modificadores deste Manual. "Relative Shape Keys" (Chaves de Formato Relativas) ou 'RVK's • Relative Shape Keys alteram a localização de alguns dos vértices de uma Malha. RVKs como são chamadas podem ser combinadas, e algumas vezes são também chamadas de BlendShapes, porque formatos diferentes podem ser mesclados em conjunto. Por exemplo, uma Face de uma Malha pode ter uma chave de formato (shapekey) para um sorriso, e outra para piscar. Essas duas ações podem ser combinadas para que o seu personagem sorria e pisque ao mesmo tempo. " Absolute Shape Keys" (Chaves de Formato Absolutas) • Absolute Shape Keys permitem a você defoemar e alterar a Malha inteira, morfando a partir de uma posição para a próxima. (Você pode ainda adicionar ou subtrair vértices sobre um determinado tempo.) "Lattice Animation" (Animação por Lattice) • Lattice Animation utiliza um Lattice ou uma espécie de Jaula que uniformemente estica ou encolhe uma Malha, como o evento de horizonte em um buraco negro, ou um carro de uma peça de Cartoon cômico que se encolhe e se enruga para parar. Você define chaves de formato (shape keys) para o Lattice, o que, em retorno afeta a Malha alvo conforme ela se move através do Objeto Lattice. O último Método, de animação de Lattice, nos dá um nível interessante de funcionalidade no Blender, no qual um Objeto pode deformar outro. Esta funcionalidade possui aplicação especialmente para Objetos Bevel e Taper. Estas são curvas que afetam outros Objetos, como Malhas ou Objetos de Texto. Alterando o formato dessas curvas sobre um determinado tempo, utilizando chaves de formato (shape keys), irá fazer com que outros Objetos (como Malhas, Textos, etc) alterem o seu formato também. Category: Animation Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page

Animando com Lattice


Você pode deformar um Lattice em animações das seguintes madeiras: • Animar os vértices do lattice com shape keys; • Mover o objeto filho do lattice ao logo do tempo. A primeira técnica não tem basicamente nada de novo em relação às seções anteriores sobre Shape Key, só que esta é feita aplicando-se um parentesco entre o objeto lattice e o objeto a ser deformado. With the second kind you can create animations that squish things between rollers, or achieve the effect of a well-known space ship accelerating to warp-speed. As the object enters the Lattice, it starts to deform; as it emerges, it expands like a foam rubber ducky back to its original shape.

Lattice setup. For example, make a space ship mesh object. Add a lattice around the ship. Make the lattice with the parameters shown to the right in Lattice setup. This panel is shown in the Buttons window, Editing (F9) context. There are two ways to make the lattice deform the spaceship: • Select the object to be deformed by the lattice, and create a Lattice Modifier, entering the name of the Lattice in the Modifier panel. • Make the object to be deformed a child of the Lattice through a special Parent relationship. For the old school parenting approach, select the ship, then shift-select (holding ⇧ Shift while selecting) the Lattice, and press CtrlP to make the lattice the parent of the ship. The popup window will ask if you want to make a regular parent relationship, or a Lattice Deform; choose Lattice Deformation. You should not see any deformation of the ship because the lattice is still regular. If you did, click the Regular button in the Lattice panel.


For the next few steps it is important to do them in EditMode. Select the lattice, enter EditMode, and select all vertices (A). Scale the lattice along its x-axis (press MMB while initiating the scale) to get the stretch you want. The ship's mesh shows immediately the deformation caused by the lattice (Stretching).

Stretching. Now edit the lattice in EditMode so that the right vertices have an increasing distance from each other. This will increase the stretch as the ship goes into the lattice. The right ends vertices I have scaled down so that they are nearly at one point; this will cause the vanishing of the ship at the end (Final lattice deformation). Select the ship again and move it through the lattice to get a preview of the animation. Now you can do a normal keyframe animation to let the ship fly through the lattice.

Final lattice deformation.

Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page

"Shape Keys" (Chaves de Formato) As "Shape Keys" (Chaves de Formato) guardam diferentes formatos da mesma Malha. Em outros aplicativos de animação ou edição 3D elas são chamadas de "Morph Targets" (Alvos para Morfar) ou "Blend Shapes" (Mescla de Formatos) ou até mesmo "Vertex Keys" (Chaves de Vértices) nas versões mais antigas do Blender. O Blender oferece ambas as "Shape Keys" (Chaves de Formato) Relativas e "Shape Keys" (Chaves de Formato) Absolutas: •

As "Shape Keys" (Chaves de Formato) do tipo Relativas, são explicadas nesta página, e o procedimento de como gravar cada diferença de "shape" (formato) (conhecida como "delta") relativa a um formato base, que permite também uma ou mais dessas diferenças, e conforme estas são representadas pelas suas "keys" (chaves) respectivas, para serem combinadas.


As "Shape Keys" (Chaves de Formato) do tipo Absolutas são descritas e explicadas aqui, e como é possível gravar diretamente cada "shape" (formato) diferente. As "Shape Keys" (Chaves de Formato) do tipo Absolutas se aplica a Malha integralmente e são utilizadas para "morfar" a Malha entre um "shape" (formato) e o próximo.

Modo: Modo de Objetos Painel: Contexto Editing → Shapes

Descrição

Um Exemplo de "Shape Keys" (Chaves de Formato) Mixadas

As "Shape Keys" (Chaves de Formato) Relativas podem ser mescladas em uma base percentual com outras chaves de formato para se conseguir o efeito desejado. Tome como por exemplo uma Face. O Usuário pode modelar uma Face com uma expressão neutra e possuir "Shape Keys" (Chaves de Formato) para um sorriso ou uma carranca. Estas chaves de formato podem então ser combinadas dentro do Editor de Ação e a sua Face falante pode ter alguns problemas emocionais sérios. Utilize as "Shape Keys" (Chaves de Formato) para a animação de Faces ou quando você quiser que o formato de qualquer Malha seja capaz de se alterar em um determinado período de tempo; por exemplo, uma bola saindo como se fosse um jato (deformação para explicitar ações) , ou uma lata de soda sendo amassada. Quando estiver animando Faces, os formatos sugeridos para as chaves são: • • •

A Boca formando cada formato de som Os Lábios formando um sorriso e uma carranca Olhos: Piscando, mostrando emoções básicas.

Note que as "Shape Keys" (Chaves de Formato) Relativas, simplesmente definem uma posição final para algum grupo de vértices: ela não diz qual é a velocidade com a qual os formatos passam de transição ou em que ordem. Você pode fazer com que essas chaves trabalhem em qualquer ordem ou velocidade que desejar, e controlar o seu grau de influência (para fazer um leve sorriso, por exemplo), utilizando o mecanismo familiar das IPOs.

Ciclo de trabalho


O processo em geral para a utilização das "Shape Keys" (Chaves de Formato) dentro do Blender é: 1. . Definir o seu "shape" (formato) base. 2. . Identificar a lista de formatos de morfar primitivos que você pode querer 3. . Criar Grupos de Vértices para a configuração dos vértices que irão participar em cada família que morfará. 4. . Definir os seu(s) "Shape(s)" (formato(s)) alvo, um para cada operação de morfar. 5. . Com a utilização de curvas IPO, definir quando você quer que o seu "shape" (formato) Alvo influencie o formato.

Os "Target shapes" (Formatos Alvo) podem ser criados em qualquer "frame" (quadro); eles são independentes do tempo. Eles exercem a sua influência de acordo com a curva IPO de "Shape" (Formato). Cada "Target Shape" (Formato Alvo) possui um canal dentro da Janela IPO. Quando uma curva IPO de um "Target Shape" (Formato Alvo) está em um valor de 0.0, ela não deformará a Malha. Conforme a sua influência aumenta, ela deforma a Malha dentro destes quadros. Pelo fato do canal IPO ser uma transição (uma curva suave ou uma linha reta ( linear) ou quaisquer das opções que você escolher para a a curva IPO) você pode controlar com quanto de velocidade a Malha irá se morfar para o novo formato. Múltiplos "Shapes" (Formatos) podem simultaneamente morfar a Malha Base, cada um deles exercendo a sua influência através de sua curva IPO, pelo fato de cada um deles ter o seu próprio canal. Caso você queira alterar o "Basis Shape" (Formato Base), você terá de criar um novo formato, e utilizar um Script, copiar as "Shape Keys" (Chaves de Quadro) sobre o novo formato, e ir ajustando elas conforme desejar. Uma "Morph Family" (Família de Morfagem) é um Grupo de "shapes" (formatos) relacionados à uma área da Malha. Por exemplo, tome por base a face. Você possui a área da sobrancelha (onde os formatos possíveis são Surpreso, Enrugado, Sobrancelha esquerda levantada, e Sobrancelha direita levantada), a parte que recobre os Olhos, (Piscar), a Boca (Sorrir, Carranca), Nariz (Levantar, Retorcer) e a Língua (Pronúncias como hei, th, i, colar no céu da boca, ou fazer um túnel para o Ohhhh...). A mandíbula em sua ação de abrir/fechar pode ser controlada por um "bone" (osso). Neste caso, você deverá fazer um "Vertex Group" (Grupo de Vértices) para a sobrancelha, outro para a língua, etc...

Criando "Relative Shape Keys" (Chaves de Formato Relativas) Modo: Modo de Objetos com Malha, e um Objeto de Curva ou Lattice Selecionado. Painel: Contexto Editing → Shapes Atalho: I Menu: Object → Insert Keyframe


As "Shape keys" (Chaves de formato) são todas guardadas relativamente a uma "Basis Mesh" (Malha de Base). Você pode habilitar as "Shape Keys" (Chaves de Formato) pela seleção do Objeto de Malhae o pressionamento do atalho I ( de inserção de Keyframes)) e a escolhendo "Mesh" (Malha). Alternativamente, este passo pode ser feito com o botão "Add Shape Key" (Adicionar Chaves de Formato) dentro do Painel "Shapes" (Formatos). Este Painel está localizado como uma segunda Aba dentro dos botões do contexto Editing F9, dentro da Janela de Botões. Neste Painel, tenha certeza de que o botão "Relative" (Relativa(o)) está selecionado. O "Shape Key" (Chave de formato) original é mostrada dentro da Janela de IPO, ( escolhendo no menu de tipo de IPO → Ipo Type: Shape), para as Chaves Relativas como se fossem Elipses bem abaixo do Alfinete. A "Absolute Shape Key" (Chave de Formato Absoluta) original é chamada de "Basis". Esta diferença avisa você para o fato de estar trabalhando com RSK ou ASK, ou "Relative Shape Keys" (Chaves de formato Relativas) ou "Absolute Shape Keys" (Chaves de quadro Absolutas). Uma vez que a "Shape Key" (Chave de Formato) Basis já tenha sido criada, você poderá criar "Shape Keys" (Chaves de Formato) adicionais da mesma maneira. Com a Malha selecionada, e em seu estado de deformação, pressione ou o atalho I e então escolha Mesh, ou então clique no botão "Add Shape Key" (Adicionar Chaves de Formato) dentro do Painel Shapes. Uma nova "Shape Key" (Chave de Formato) então será criada. Caso este seja o primeiro formato criado depois do formato de base, ele então será chamado de Key 1. Clique com o botão esquerdo do Mouse ⇧ ShiftLMB dentro do campo de "Name" (Nome) dentro do Painel para alterar o nome para alguma coisa mais significativa. Uma coisa importante para ser lembrada é que quendo estiver criando um novo formato para trabalhar com"Shape Keys" (Chaves de Formato), o novo formato será baseado no formato corrente selecionado QUANDO VOCÊ ENTRAR NO MODO DE EDIÇÃO. Quando você estiver criando os formatos a partir do formato de base, o novo formato será uma cópia deste formato, e caso o usuário crie um novo formato enquanto este formato está selecionado, o novo formato será uma cópia desse formato alterado. Isto permite que você futuramente possa editar formatos préviamente selecionados; simplesmente deixe o "Edit Mode" (Modo de Edição) para travar a visualização dentro deste formato. Um Fato Engraçado Os Usuários da Velha escola do Blender algumas vezes referem-se as Shape Keys ou Chaves de Formato como Relative Vertex keys, ou RVKs, para encurtar.


Editando "Shape Keys" (Chaves de Formato) Modo: Modo de Objetos Painel: Contexto Editing → Shapes Diversos aspectos de cada "Shape Key" (Chave de Formato) podem ser editados pela ativação dela dentro do Painel "Shapes" (Formatos).

Localização das Ferramentas de Seleção das "Shape Keys" (Chaves de Formato) dentro do Painel "Shapes" (Formatos) As Setas e o Menu Escolha a "Shape Key" (Chave de Formato) para ser a ativa. Os Botões de Setas ciclam através dos formatos, e o Menu permite a você escolher um "Shape" (Formato) específico diretamente. Note que quando você escolhe inicialmente uma Chave, ela é visualizada em sua potência/força/peso de influência total (com o valor de 1.0) dentro da Janela de Visualização 3D, independentemente de quaisquer outras "Keyframes" (Chaves de Quadro) que foram configuradas, então você poderá ver exatamente qual o formato que está ativando neste determinado momento. A Alteração do "frame" (quadro) corrente irá reconfigurar a Janela de Visualização 3D de maneira a mostrar os resultados das mesclas de "Shape Keys" (Chaves de Formato) que foram configuradas como IPOs, mesclando novamente. Uma vez que a chave desejada está selecionada, o formato pode ser alterado entrando no "Edit Mode" (Modo de Edição) usando o atalho ⇆ Tab, e manipulando os vértices. Nota: A adição ou deleção de um ou mais vértices uma vez que as "Shape Keys" (Chaves de Formato) foram adicionadas é bem complicado. As mudanças são propagadas para os outros formatos com base em sua posição dentro do formato corrente, e isto pode ter efeitos drásticos em outros formatos. Nome da "Shape Key" (Chave de Formato) corrente (Campo de Texto) Renomeie uma "Shape Key" (Chave de Formato) a partir de seu nome automático clicando com o botão esquerdo do Mouse ⇧ ShiftLMB dentro do Campo de Nome e digitando um novo nome para alterá-lo. É muito importante manter os seus formatos organizados em bem nomeados, para que você se lembre quais deles você está editando dentro dos Editores de "Action" (Ação) e dentro do "IPO Editor" (Editor de


IPO). É bem fácil terminar terminar com uma quantidade gigantesca de "Shape Keys" (Chaves de Formato) quando você começa a animar faces de personagens e você não vai querer que o seu trabalho fique confuso. Propagando as Mudanças para outros Formatos Caso você encontre erros em seu formato base ou em sua Malha em seu estado Basis logo após você ter começado a fazer a definição de outros formatos, você pode fazer as suas mudanças e, com estes vértices selecionados, utilizar o Menu Specials W e escolher a Opção → " Propagate to All Shapes" (Propagar para todos os Formatos) dentro do "Edit Mode" (Modo de Edição). Estas posições de Vértices irão substituir as posições dos vértices correspondentes dentro das outras "Shape keys" (Chaves de Formato). Propagando as Mudanças a partir de outros Formatos Caso você encontre um erro em seu formato base (basis') ou outros formatos depois de você ter iniciado a definição de outros formatos, com estes vértices selecionados, utilize o Menu Specials W → e escolha a opção "Blend from Shape" (Mesclar pelo formato) e escolha qual a "Shape Key" (Chave de formato) para ser utilizada como referência para o reposicionamento dos vértices. Você então poderá até escolher até qual extensão aplicar esse ponto de referência a localização dos vértices existentes. Pense nisto como uma maneira de fazer uma média de posicionamento ( caso necessário) dos vértices entre os formatos. Propagando Mudanças de formato Base

Depois de você ter criado as "Shape keys" (Chaves de formato) a partir da Malha de Base, você pode descobrir uma necessidade de ajustar a Malha de Base. Infelizmente, cada "Shape Key" (Chave de formato) trabalha a partir da base de formato da Malha ( Basis), e quando você exerce as suas influências, os vértices que estavam posicionados na Malha de Base (Basis) irão se mover de volta ao seu local original. Uma maneira de resolver este problema é criar um VG ou "Vertex Group" (Grupo de Vértices) , e limitar a "Shape Key" (Chave de Formato) para agir somente nestes Vértices dentro do Grupo de Vértices. Você faz isso entrando com o nome do Grupo de Vértices dentro do campo VGroup dentro do Painel para este formato. Portanto, caso o seu "Formato" (Shape) que afetou os olhos (por estar fazendo o seu modelo Piscar, por exemplo) esteja afetando o formato da Malha e você queria que o modelo possua lábios mais grossos/carnudos, a maneira de resolver essa situação, por prevenção, seria a criação de um Grupo de Vértices chamado de "Olhos" e então restringir o formato que está especificado pra que seu modelo pisque pra agir somente nos vértices da pele que recobre o Grupo de Vértice Olhos. A outra maneira é criar um novo formato de Base (Newbasis) que possua estas mudanças, e rodar este Script para propagar as diferenças entre os formatos de Base (Basis) e os Novos formatos de Base (NewBasis) para todos os outros formatos desta Malha que forem necessários.

Pinagem e Fixação de Formatos


Localização do ìcone de pinagem dentro do Painel "Shapes" (Formato) Quando um Objeto de Malha não possui uma chave de pinagem ( para fixação), ele poderá mostrar múltiplas "keys" (chaves) de uma vez. Para prevenir isto, clique no Ícone de pino. O Objeto corrente de Malha está agora travado nesta "Shape Key" (Chave de Formato), e ele somente mostrará esta "Key" (Chave). Esta funcionalidade é útil quando múltiplas "Keys" (Chaves) estão afetando um Objeto de Malha e você gostaria de ver o efeito de uma "Key" (Chave) em especifico.

Uma outra utilização para a pinagem é para a construção de uma "Shape Gallery" (Galeria de Formatos). Desde que o momento em que o Blender permite a criação de "Linked Duplicates" (Duplicatas Ligadas) que compartilham dados subjacentes da mesma Malha (Ex: a Malha e os Dados de "Shape Key" (Chave de Fomato)), múltiplas cópias de uma Malha de Base podem ser criadas utilizando o atalho AltD. Uma vez que uma duplicata tenha sido criada, mova esta duplicata para uma área diferente da tela. Pine a duplicata para uma "Shape Key" (Chave de Formato) clicando no ícone de Pino dentro do Painel "Shapes" (Formatos). Finalmente, selecione novamente a Malha 'Original'. Caso isto seja feito para cada "Key" (Chave), uma "Shape Gallery" (Galeria de Formatos) emerge a partir disto (o que também ajuda com a edição das "Keys" (Chaves)). Dicas

A Pinagem de "Shape Keys" (Chaves de Formato) , também podem ajudar a acelerar a velocidade de interação com a Malha (especialmente quando a estiver animando com Armatures). Caso uma "Shape Key" (Chave de Formato) esteja pinada, o Blender não tem que calcular toda a miríade de interações e mesclas de diferentes "Keys" (Chaves) em tempo Real, o que acelera a sua operação. Isto é particularmente útil quando estiver utilizando "Shape Keys" (Chaves de Formato) guiadas por Armaduras para corrigir determinadas deformações; e você pode contar com este recurso desde que isso não seja alguma coisa que será usualmente crítica, do tipo que você realmente necessite ver no resultado do processo de animação. Lembre-se de desconectar os Pinos dos "Shapes" (Formatos) quando você tiver terminado e pronto para renderizar !

Mesclando "Shape Keys" (Chaves de Formato)


Modo: Modo de Objetos Painel: Contexto Editing → Shapes As "Shape Keys" (Chaves de Formato) podem ser misturadas de muitas maneiras diferentes. Estes métodos possuem o mesmo feito de rede de estar criando dados IPO,mas são diferentes na Interface. Fazer a Mescla utilizando o Painel "Shapes" (Formatos)

Chaves de Formato}}

Dentro do Painel "Shapes" (Formatos) quando uma chave não está pinada, ela possui uma coluna adicional de botões; {{Languages/Translation|Value|Valor}, "Min" (Mínimo) e "Max" (Máximo). deslizador "Value" (Valor) da "Key" (Chave). O Valor corrente dessa chave no "frame" (quadro) corrente. Ajustar este deslizador vai inserir ou ajustar um ponto de controle dentro do controle da curva da "Shape Key" (Chave de Formato) no "frame" (quadro) corrente. Se eu colocar o meu formato de "Piscar" em q50% ao invés de 100%, eu terei Olhos meio-abertos. "Min" (Mínimo) e "Max" (Máximo) Ajusta os valores de limite para o deslizador de valores, ambos dentro do Painel "Shapes" (Formatos) e dentro da Janela de "Action Editor" (Editor de Ações). É possível utilizar um valor máximo maior do que 1.0, para empurrar os "Shapes" (Formatos) para além de seus extremos, mas tenha cuidado. A partir do momento em que você está exagerando a "Shape key" (Chave de Formato) isso pode bagunçar a malha de sua Malha. Algumas vezes é mais fácil misturar as suas "Shape Keys" (Chaves de Formato) dentro do "Action Editor" (Editor de Ações) ao invés de fazer isso a partir do Painel de Edição principal.


Fazer a Mescla Utilizando o "Action Editor" (Editor de Ações)

O "Action Editor" (Editor de Ações) e as "Shape Keys" (Chaves de Formato)

Dentro do "Action Editor" (Editor de Ações), selecione o Modo "ShapeKey editor" (Editor de Chaves de Formato), expanda o botão dos "Sliders" (Deslizadores) e utilize estes deslizadores para ajustar os valores de "Keys" (Chaves) no "frame" (quadro) corrente. O s valores min / max configurados dentro do Painel "Shapes" (Formatos) são refletidos dentro da Janela dos deslizadores do "Action Editor" (Editor de Ações) para este "Shape" (Formato). Caso ainda não exista uma "Keyframe" (Chave de Quadro) no quadro corrente ( indicado pela linha verde ) uma nova "Keyframe" (Chave de Quadro) será adicionada. Fazer a Mescla utilizando o "IPO Curve Editor" (Editor de Curvas IPO)

As curvas IPO mostram os dados subjacentes que estão sendo controlados pelos outros métodos de mistura. È dentro desta Janela que os valores são mapeados para os "frames" (quadros) para cada "Shape Key" (Chave de Formato). De maneira a poder acessar as curvas IPO das "Shape Keys" (Chaves de Formato), selecione "Shape" (Formato) a partir do Menu Popup para escolha do tipo de IPO mostrada para edição, dentro do cabeçalho da Janela do "Ipo Curve Editor" (Editor de curvas IPO). Cada "Shape Key" (Chave de formato) será mostrada dentro da lista de IPOs no lado direito e podem ser alteradas da mesma maneira que qualquer curva IPO dentro do Blender. Veja a seção sobre "Editando Curvas IPO e "Keyframes" (Chaves de Quadro) " para mais informações. A ordem vertical das "Vertex Keys" (Chaves de Vértice) (as linhas azuis) a partir da base para o topo determinam a sua curva IPO correspondente, EX; A linha azul mais baixa será controlada pela curva chamada Key1, a segunda de baixo para cima será controlada pela curva chamada Key2, e assim por diante. Nenhuma IPO estará presente para a Malha de referência pelo fato dela ser a Malha que foi utilizada para que as outras "Shape Keys" (Chaves de Formato) fossem construídas, portanto ela terá um valor de 0 no determinado "frame" (quadro). A curva IPO para a "Key" (Chave) N° 1 mostra unma Malha não deformada até o "frame" (quadro) 10, então a partir do "frame" (quadro) 10 até o {{Languages/Translation|frame|quadro} 20, a "Key" (Chave) 1 irá começar a afetar a deformação. A partir do "frame" (quadro) 20 até o "frame" (quadro) 40, a "Key" (Chave) 1 irá completamente chegar muito próximo da Malha de referência (o valor da curva IPO é 1). O efeito será suavizado/esmaecido a partir do "frame" (quadro) 40 até o "frame" (quadro) 50.


"Keys" (Chaves) dentro da Janela de IPO

A curva IPO para a "Key" (Chave) N° 1

Utilizando "IPO Drivers" (Guias IPO)

Veja a página de Animação Avançada, em Chaves de Formato Guiadas para mais informações abordando como fazer a configuração de um "IPO Driver" (Guia IPO).

Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page O Blender é realmente excelente na animação, e a janela da "Timeline" (Linha do Tempo) é algo como ter seu próprio controle VCR ao alcance dos dedos. A janela da Linha do Tempo, identificada pelo ícone de um relógio, está por padrão no layout de tela SR:4 logo acima da janela de botões.

Janela da Linha do Tempo O eixo X da janela é a linha do tempo da sua animação em quadros. Quadros são a unidade fundamental de medida do tempo no Blender. Clicando (LMB

) em qualquer


lugar na janela leva o Blender e todas as outras janelas para aquele quadro no tempo. Mover o mouse enquanto segura-se MMB

ou AltLMB

move a linha do tempo para a

esquerda ou direita. Segurar CtrlMMB escalona a visão (intervalo de quadros) aproximando ou afastando quando se move o mouse para a direita ou esquerda, assim como na 3D View. Quaisquer Ipos (quadros-chave) para o objeto atualmente selecionado aparecem como uma linha amarela vertical no quadro em que ocorrem. O quadro exato é mostrando no contador de quadros no cabeçalho da janela da Linha do Tempo. À direita do contador de quadros estão os controles padrão para retroceder, pular para trás, reproduzir ou pausar, pular adiante, pular para o fim e gravar. O início e o fim são definidos usando os campo à esquerda do contador de quadros, e sincronizados automaticamente com os quadros de início e fim nos botões de Render, logo abaixo do botão Anim. O menu consiste em várias opções para Visualização, Quadro ou Reprodução

Menu "View" (Visualização) Este menu controla o que você e como você vê: • "maximize display" (maximizar exibição) é uma ferramenta padrão de janelas para visualizá-la em tela cheia. • Se "Lock Time" (Travar Tempo) estiver ligado, todas as outras janelas são automaticamente sincronizadas com essa janela pelo relógio-mestre. • "View All" (Ver tudo) automaticamente aproxima a visualização para mostrar todos os eventos (quadros Ipo) do intervalo, de forma que você não precisa deslocá-la. • "Center view" (Visão central) centraliza a visualização no quadro atual. • O comando "Jump" (Pular) faz o mesmo que os botões no cabeçalho. • Baseado nos quadros por segundo que você definiu nos botões de Render, ligar o "Show Seconds" (Mostrar Segundos) muda a unidade da visualização de quadros para segundos e suas frações. Geralmente, storyboards são definidos em segundos; escolhendo essa visualização torna as coisas um pouco mais fáceis do que fazer todas as multiplicações de cabeça. • "Play back" (Reproduzir) roca a animação do início ao fim. Ela continua tocando até você pressionar o botão pause (as duas barras verticais).

Menu "Frame" (Quadro) O menu de Quadro faz algo com o frame selecionado na animação: • "Set as..." (Definir como...) define o quadro atual selecionado como o inícial ou final do intervalo. • Definir um Marcador cria um ponto laranja. Controlar o nome do marcador com CtrlM permite que você dê um nome significativo para o que está acontecendo naquele momento no tempo, como "Garoto perde Garota" ou "Borbulhas do refrigerante". Usar esses marcadores permite a você anotar as seções do storyboard ou da animação. Claro que você pode mover, apagar e duplicar os marcadores.

Menu "Playback" (Reprodução) Os controles de Reprodução definem como e quando a animação é tocada.


• •

"Set Frames/Sec" (Definir quadros/seg) permite que você altere a velocidade da sua animação. "Windows" (Janelas) habilita os tipos de janelas para serem atualizados com cada quadro durante a repdocução. Entretanto, para economizar poder de processamento da CPU e permitir uma reprodução suave, algumas atualizações de janelas podem ser desligadas.

Marcadores

Marcadores: pequenos mas úteis Marcadores podem ser usados para denotar quadros onde algo significante acontece pode ser quando a animação de um personagem começa, ou a câmera muda de posição ou uma porta abre, por exemplo. Marcadores podem receber nomes para torná-los mais significativos numa olhada rápida. Quando você cria um marcador na janela da linha do tempo, ele também aparece nas janelas IPO, Ação, NLA e Áudio, e vice versa, permitindo a você ver onde os pontos significativos da sua animação estão, não importando em que janela você está.

Criando Marcadores Mode: Todos Hotkey: M Menu: Linha do Tempo → Frame → Add Marker O modo mais simples de se adicionar um marcador é mover para o quadro onde você quer que ele apareça e teclar M. Alternativamente, você pode pressionar AltA ou o botão Play Timeline para fazer a animação tocar, e aí teclar M} nos pontos apropriados. Uma vez que você pára a reprodução, os marcadores vão aparecer. Isso pode ser especialmente útil para marcar as batidas de alguma música. Uma vez que você criou um marcador, use RMB selecionar múltiplos marcadores.

para selecioná-lo, e CtrlRMB

para

Nomeando Marcadores Mode: Todos Hotkey: CtrlM Menu: Linha do Tempo → Frame → Name Marker Ter dezenas de marcadores espalhados ao longo da linha do tempo não irá ajudar muito a menos que você saiba o que eles significam. Você pode nomear um marcador selecionando-o, pressionando CtrlM, escrevendo o nome e pressionando o botão OK.

Movendo Marcadores Mode: Todos Hotkey: G Menu: Linha do Tempo → Frame → Grab/Move Marker


Uma vez que você tem um ou mais marcadores selecionados, tecle G para movê-los, e confirme o movimento com LMB ou ↵ Enter. Se você segurar Ctrl enquanto os move, os marcadores irão se mover em passos correspondentes a um segundo - então se você definiu como 25 fps, os marcadores irão se mover de 25 em 25 quadros.

Apagando Marcadores Mode: Todos Hotkey: X Menu: Linha do Tempo → Frame → Delete Marker Para apagar um ou mais marcadores, simplesmente tecle X e confirme com LMB

.

Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page

Nós de Composição Os Nós de composição permitem a você montar e melhorar uma Imagem (ou Filme) ao mesmo tempo. Utilizando os Nós de Composição, você pode colar duas peças de metragem juntas e colorizar a sequência inteira de uma única vez. Você pode melhorar as cores de uma única Imagem ou de um clipe de filme inteiro dentro de uma maneira estática ou de uma maneira dinâmica que vai se alternando conforme o tempo (conforme o clipe progride). Desta maneira, você utiliza os Nós de Composição para montar ambos os vídeos em conjunto, e melhorá-los.

Para processar a sua Imagem, você ainda vai utilizar os Nós para importar a Imagem para o Blender, alterá-la, e a fundir com outras Imagens, e finalmente salvá-la. Pense nos nós como trabalhadores em uma linha de montagem. Cada trabalhador performa basicamente uma tarefa simples antes de passar o produto para o próximo trabalhador. A


linha de montagem é chamada de "thread" (tarefa), e os dados da Imagem entram e deixam o Nó através dos soquetes. você conecta um nó ao outro pela criação de uma "thread" (tarefa) que corre através do soquete de saída de um Nó para outro soquete de entrada de Nó. Qualquer número de "threads" (tarefas) podem ser conetadas ao mesmo soquete de entrada. Um monte de Nós conectados, é chamado de "Noodles" (Nódulos). O exemplo a direita mostra um Nódulo simples; um Nó de entrada que executa uma "threads" (tarefa) para a visão da câmera (camera view) que se conecta a um Nó de saída para que possa ser salvo. Os Nós de Composição são conectados por "threads" (tarefas) em um Mapa que roteia uma Imagem através de uma sequência de Nós. Cada Nó performa alguma operação da Imagem. Você cria o Mapa utilizando a Janela do Editor de Nós. Antes de continuar lendo, é elementar que você entenda como utilizar este tipo de Janela. Leia tudo sobre o Editor de Nós Clicando aqui. Termo: Imagem Nós utilizamos o termo Imagem para nos referir a uma Única figura, ou uma sequência numerada de Imagens que, quando tocadas de uma maneira parecida com a técnica do Livro folheado, resulta em um clipe de filme, um simples quadro de uma sequência de filme, ou um clipe de filme.

Cada Nó possui um conjunto similar de controles e convenções. Para mais informações de como trabalhar com controle dos Nós clique aqui. Bem como em outros casos aonde os Nós são utilizados em conjunto no Blender, você pode imaginar que os Nós caem em uma das três categorias gerais: "Input" (entrada) Os Nós de entrada odes, que introduzem dados dentro do Nódulo (Ex: a partir de uma Imagem ou camada). Um Nódulo pode ter qualquer número de entradas, e/ou instâncias da mesma entrada. "Filter" (Filtro) •

Filtros (ou Nós de Transformação) que são nós que processam as suas entradas de alguma maneira para produzir outros tipos de saídas (que são feitos com a intenção de ser utilizados como entradas em qualquer outro lugar). "Output" (Saída) •

Nós de Saída, que consomem os dados que são enviados a eles, e resultando ou em uma saída ou em um arquivo a ser salvo. Um Nódulo pode produzir qualquer número de saídas.

Qualquer número de Nós pode ser conectado em qualquer número de maneiras, dando a você um tremendo controle e oportunidades criativas.

Acessando e Ativando os Nós


Selecione a Janela de Editor de Nós

Acesse o Editor de Nós e habilite os "Composite Nodes" (Nós de composição) clicando no ícone correto (que mostra a figura de uma Face ).

Cabeçalho do Editor de Nós com os "Composite Nodes" (Nós de composição) habilitados.

Para ativas os Nós para composição, clique no botão Use Nodes. O Blender cria um Nódulo padrão inicial, consistindo de dois Nós conectados juntamente.

Utilizando Nós de Composição

Para utilizar este mimi-mapa, você deve agora dizer ao Blender para utilizar os Mapas de Nós de Composição que já foram criados, e para compor a Imagem utilizando os Nós de Composição. Para fazer isto, alterne para a janela de botões do Contexto Scene,


atalho (F10) e ative o botão Do Composite localizado abaixo do botão Animation. Isto vai dizer ao Blender para compor a Imagem final fazendo com que ela atravesse o Mapa de Nós de Composição.

Você agora tem o seu primeiro Nódulo, uma entrada para o "RenderLayer" (Camada de Renderização) tratada com o Nó de Composição de saída. A partir daqui, você adiciona e cone cta Nós em um tipo de Layout de Mapa que esteja de acordo com a sua vontade (e a de seu coração) (ou restrições físicas de memória, o que vier primeiro). Existem muitos tipos de Nós de Composição que fazem muitas coisas diferentes: os Nós disponíveis estão explicados dentro da próxima seção.

Agrupando Nós de Composição Conforme o seu Mapa cresce, você pode achar útil organizar seus Nós agrupando alguns deles juntamente. Como uma sugestão, tente organizar a sua linha de montagem de Nós a partir da esquerda para a direita, de cima para baixo. Você pode também agrupar Nós em conjunto em sub-rotinas, como explicado abaixo.

Grupos de Nós Painel: Editor de Nós → Nós de Material Menu: ⇧ ShiftA → Groups Os mapas de Nós podem ficar muito complexos. O Blender permite a você agrupar um conjunto de Nós para tanto salvar espaço quanto lhe ajudar a se manter organizado e conceitualizar o que o efeito de rede de um pequeno mapa faz para uma Material/Imagem. Esta seleção do Menu mostra os nomes dos Grupos de Nós que você definiu. Selecione qualquer um para adicionar a este grupo para o mapa. Criando um Grupo de Nós

Um grupo é criando clicando com ⇧ Shift- para selecionar todos os nós que voc~e quer adicionar paera o grupo ( mesmo método de seleção usado no Blender em quase tudo ), clique nos Nós que você quer no Grupo, e então selecionando Node -> Make Group (CtrlG). O Grupo de Nós é mostrado com uma barra verde, e o nome é mostrado em um campo editável. Você pode clicar pressionando ⇧ Shift no nome para entrar com um nome ou entrar no Modo de Edição e alterar o nome para alguma coisa que representa o que esse Grupo faz . Os soquetes de entrada para o Grupo são os soquetes de entrada dos nós contidos. E a mesma coisa vale para a(s) saída(s). Editando Grupos de Nós

Você pode selecionar um Grupo e pressionar ⇆ Tab (ou selecionar Node -> Edit Group) para entrar/sair da edição do Grupo. Desagrupando Nós

Você pode selecionar o Grupo e pressionar AltG (ou selecionar Node -> Ungroup) para converter os Nós agrupados de volta ao normal.

Exemplos de Uso de Nós de Composição Um Grupo de Nó de Composição do tipo "FadeToBlack" (Vanescer para o preto) seria um Nó de Tempo que alimenta o fator de um Nó de Curva RGB. A curva dentro do Nó de curva RGB seria uma linha contínua em Zero. Nomeadamente, qualquer valor X que vier nos resultados dentro de uma saída zerada (preto). O fator inicia em Zero (sem


efeito para a Imagem de entrada), e vai em escala crescente até um (efeito total, nomeadamente preto). A sequência de entrada vai vanescer pra o preto sobre a contagem de quadros configurada no temporizador. Você pode fazer praticamente qualquer coisa com as Imagens utilizando os Nós. O Grupo do Nódulo de "FadeToBlack" (Vanescer para o preto) acima é um simples exemplo do que você pode fazer utilizando os Nós de Composição. Imagens cruas de tomadas feitas a partir de um ator principal em frente de uma tela azul (para croma key), ou um Objeto renderizado fazendo alguma coisa podem ser montados em camadas na frente de um plano de fundo. Quando compomos ambos juntamente, e você tem uma tomada composta. Você pode alterar a aparência de uma Imagem: • • •

• • •

Para fazer com que uma Imagem dê a sensação de ser mais 'fria', um tingimento de azul é adicionado para a figura. Para comunicar uma memória ou 'flashback', a imagem pode ser suavizada. Para comunicar irritação e frustração, adicione um tingimento de vermelho ou aumente a quantidade de vermelho. O filme 'Sin City' é o exemplo mais extremo disto que eu já vi. Um evento espetacular pode ser acentuado e seu contraste aumentado. Um sentimento de alegria – como você deve ter adivinhado – amarelo (partes iguais de vermelho e verde, sem azul) para brilho e ensolarado. Poeira e sujeira de nuvens algumas vezes é adicionada como uma Textura de nuvem sobre a imagem para dar um pouco mais de realismo.

Termos Trabalhos de Composição trabalham igualmente bem em imagens estáticas ou em Sequências de Vídeo. Nós utilizamos o termo Imagem aqui para representar ambos. Um "Noodle" (Nódulo) de Nós conectados.

Category: Nodes

Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page

A Janela do Editor de Nós Esta seção explica a Janela em geral, e as suas opções no menu do cabeçalho. Ela também diz a você como habilitar os nós para utilização dentro do Blender. Para mais informação em aonde utilizar os nós, por favor se refira as seguintes páginas: • •

Nós para Materiais (Tipos de Nós para Materiais). Nós para Composição (Tipos de Nós de Composição).


Para aprender mais sobre Como manusear os nós em si de uma maneira generalizada, por favor, se refira a seguinte página: •

Uso dos nós.

Também há uma página de referência disponível, explicando as Janelas dos nós e suas funções conectadas : •

Referência sobre os Nós.

Acessando o Editor de Nós

Selecionando a Janela do Editor de Nós.

Primeiro vamos entrar no Editor de Nós pela alteração de nosso tipo de Janela para o Editor de Nós. Como mostrado dentro da Imagem Selecionando a Janela do Editor de Nós, clique dentro do tipo de ícone de Janela e selecione "Node Editor" (Editor de Nós) a partir da lista popup que aparecerá. Os Mapas de Nós podem ficar bem grande, portanto utilize ou crie uma grande Janela. A Janela possui um plano de fundo em estilo parecido com papel gráfico e um cabeçalho. Cada Cena dentro de seu arquivo Blender pode ter múltiplos Mapas de Nós de Materiais e UM Mapa de Nó de composição. A Janela do Editor de Nós Mostra ambos os Mapas, dependendo da posição do Seletor. Dica Você pode querer adicionar um novo Layout de Janela chamado de "6-Nodes" (6-Nós) (dentro da lista mostrada no cabeçalho das Preferências do Usuário, no topo de sua tela ) constituída em sua maior parte de uma grande Janela de Editor de Nós. O Layout que eu escolhi para


trabalhar possui as Janelas de botões na parte de baixo e uma Janela de Editor de Textos ajustada em seu lado para que eu possa manter algumas anotações. Caso você possua um monitor do tipo Widescreen ( ou mesmo um monitor convencional ), você pode também querer adicionar uma Janela de Visualização 3D ou mesmo uma Janela do Editor de Imagens/UV ao lado esquerdo do Layout da Janela de Nós, para que você possa trabalhar co Imagens ou o seu modelo enquanto você está manipulando os nós. Tendo o Painel de Prévisualização de Renderização aberto sobre o topo de um Objeto é bem útil caso você esteja ajustando os Nós de Materiais.

Por padrão, o cabeçalho, quando é mostrado inicialmente, está em seu estado não inicializado, como mostrado:

Cabeçalho do Editor de Nós.

Ativando os Nós •

• •

Quais Nós utilizar ? o Caso você queira trabalhar com um Mapa de Nó de Materiais, clique na esfera dentro do Seletor de configuração de Nó, as opções são "Material/Compositing" (Material/Composição). (veja Cabeçalho de Editor de Nós com Nós de Material habilitado.) o Caso você queira trabalhar com um Mapa de Nó de Composição, clique na Face dentro do Seletor de configuração de Nó, as opções são "Material/Compositing" (Material/Composição). (veja Cabeçalho do Editor de Nós com Nós de Composição habilitado.) Para ativar os Nós, clique no botão Use Nodes. A primeira vez que você selecionar ou um Mapa de Nó de Material ou um Mapa de Nó de composição, a Janela do Editor de Nós irá será instantaneamente preenchida com Nós de "input" (entrada) e "output" (saída) para as suas composições de Mapas, já conectados entre si.

Cabeçalho do Editor de Nós com Nós de Material habilitado.

Cabeçalho do Editor de Nós com Nós de Composição habilitado.


Configurações Requeridas pra Composição

Use Composition Nodes.

Caso você esteja compondo, você agora deverá dizer ao Blender para utilizar um Mapa de Nós que tenha sido criado, e para compor a Imagem utilizando o Mapa de Nós. Para fazer isso, clique no botão Do Composite localizado abaixo do botão de Animação. Isso diz ao Blender para compor a Imagem final fazendo com que ela percorra o caminho através do Mapa de Nós de Composição. A partir daqui, você adiciona e conecta os Nós em um tipo de Layout de Mapa que é montado a partir do conteúdo de seu coração (ou as suas limitações de memória física, aquilo que vier primeiro). Mas primeiramente, vamos deixar o trabalho de base percorrendo o caminho através da Janele em geral e as opções do Menu presente no cabeçalho e seus botões.

Ações da Janela de Editor de Nós Quando o cursor está n Janela, muitos "hotkeys" (atalhos de tecla) padrão do Blender e ações do Mouse estão disponíveis, incluindo: Popup menu Space – Faz com que apareça um Menu Popup principal, permitindo a você adicionar, ver, selecionar, etc. Delete X ou Del – Deleta o(s) Nó(s) Selecionado(s). Box select B – Inicia a seleção por "Bounding Box" (Caixa Circundante). Posicione o seu cursor e utilize o botão esquerdo do Mouse LMB conjunto de Nós.

, clique & arraste para selecionar um

"Cut connections (box)" (Cortar conexões (caixa)) LMB clique & arraste – Inicia uma seleção por caixa, MAS quando você solta o botão do Mouse, todas as tarefas (conexões) dentro da caixa são quebradas. Undo


CtrlZ Muito útil caso você tenha esquecido de pressionar B antes de fazer uma seleção por caixa, não ? "Redo" (Refazer) CtrlY ou Ctrl⇧ ShiftZ – Você pode utilizar isto caso você tenha utilizado a função de desfazer a mais que o necessário :) "Select multiple" (Selecionar múltiplos) ⇧ ShiftLMB

ou ⇧ ShiftRMB

– Seleção de Múltiplos nós.

"Grab/Move" (Agarrar/Mover) G – Move a sua seleção dentro da Janela. "Execute" (Executar) E – Faz com que os dados de entrada sejam forçados através do nódulo, e atualiza toda a cadeia. Controle padrão da Janela Os Mapas de Nós podem ficam bem cabeludos (grandes e complicados, assim por dizer). O conteúdo da Janela, (o Mapa de Nós) pode ser arrastado bem como qualquer outra Janela do Blender clicando com MMB e arrastando. Com a roda do Mouse Wheel para cima/baixo ou a utilização da tecla de atalho + NumPad/- NumPad irá ampliar/diminuir a visualização. A Janela pode ter seu tamanho alterado e combinado utilizando as técnicas de controle padrão das Janelas do Blender (veja Navegação no espaço 3D).

Cabeçalho do Editor de Nós Cabeçalho do Editor de Nós com Nós de Material Habilitado.

Cabeçalho do Editor de Nós com Nós de Composição Habilitado.

No cabeçalho da Janela, você verá a opções presentes no próprio cabeçalho: •

"View" (Ver) – para ver as coisas mais claramente;


• • • • • •

"Select" (Selecionar) – para fazer as coisas mais claramente; "Add" (Adicionar) – para adicionar Nós, organizados por tipo; "Node" (Nós) – para fazer coisas com os Nós selecionados, funcionamento semelhante ao de edição de vértices; Um Seletor de Nós de Material ou Composição; Um botão "Use Nodes" (Use os Nós); Um botão "Free Unused" (Liberar Não utilizados).

Menus do cabeçalho View, Select, e Add

Estes Menus do tipo Popup provêm as seguintes funções básicas: View Este menu altera a sua visão da Janela, estando dentro dos padrões de atalhos usados para Janelas + NumPad (ampliar), - NumPad (reduzir), ↖ Home (ampliar todos e mostrar) ou as suas ações equivalentes do Mouse. "Select" (Selecionar) Este Menu permite a você selecionar um Nó ou um grupo de Nós, e faz a mesma coisa que a digitação da tecla de atalho para selecionar tudo A ou então inicia o processo de seleção por caixa B. Add Este Menu permite a você adicionar Nós. Por favor, veja a próxima seção para uma explicação dos tipos de Nós que você pode adicionar, e o que eles fazem especificamente. Clicando neste item de Menu é o mesmo que pressionar o atalho Space quando o cursor está na Janela de Nós.

Menu do cabeçalho de Nós "Show Cyclic Dependencies" (Mostrar Dependências Cíclicas) C – Ok, então você vem adicionando e conectando o seus nós de acordo com a vontade de seu coração, e você ainda não chegou a ficar sem memória para trabalho em seu computador. Selecionando "Show Cyclic Dependencies" (Mostrar Dependências Cíclicas) irá mostrar aonde você conectou as suas tarefas de maneira a formar um círculo. Por exemplo, você pode facilmente conectar uma saída do tipo mix como uma entrada para outro nó, e então conectar a saída desse mesmo nó de volta a entrada do nó do tipo mix, resultando em um pequeno círculo aonde a Imagem simplesmente irá rodar em círculos. Caso isso seja deixado da maneira que está, e as operações de uso dos nós sejam iniciadas, obviamente ele irá fazer com que o Blender trave ou seu computador fique não responsivo, use este botão para que o Blender ajude você avisando sobre estes erros.


Hide H – Esconde os Nós que estão selecionados. seu funcionamento é similar ao do atalho para vértices das Malhas. "Grouping" (Agrupamento) Uma das coisas mais importantes, esta opção de Menu permite a você criar um grupo de Nós definido pelo usuário. Este Grupo então poderá ser editado e adicionado ao Mapa. Para criar um Grupo, Selecione os nós que você quer, e então utilize o comando Node → Make Group, ou simplesmente utilize o atalho do teclado CtrlG. Edite o nome do Grupo utilizando a pequena caixa de entrada dentro do Grupo. Os Grupos são facilmente identificados pelo seu cabeçalho na cor verde e os nomes legais que os usuários lhes dão. Delete X – Deleta os Nós selecionados. Duplicate ⇧ ShiftD – Faz uma "Unlinked Copy" (Cópia não ligada), com as mesmas configurações que há na original. Grab G – Move os pequenos Nós pela Janela de acordo com o Movimento do seu Mouse , seu funcionamento é similar ao do atalho para as Malhas. Duplicate ou Duplicar – Isso pode enganar você A Nova cópia é sempre colocada exatamente sobre a antiga. Mas não é conectada a nada e também não é a que está conectada, então mover o controles não irá fazer absolutamente nada para as suas Imagens, mesmo que pareça que esteja conectado com restante das pequenas tarefas que saem do Nó e que estão abaixo. Você deverá mover o Nó duplicado para revelar o Nó conectado que está logo abaixo deste.

Grab ou Agarrar – Só um lembrete Bem como a minha mãe na lavanderia, o Item de Menu atualmente não faz absolutamente nada; ele está ali somente para lembrar você que se você pressionar a tecla de atalho G quando o seu cursor está dentro da Janela, você pode fazer alguma coisa com a sua vida (como organizar os seus Nós dentro da Janela).


Botão Seletor de Mapa de Material/Composição

Os Nós são agrupados em duas categorias, baseado no que eles operam. Os Nós de Material operam em um Material em uso dentro de um arquivo Blender. Para trabalhar com Material Nodes, clique no pequeno ícone de Bola. Quando você quier trabalhar com Nós de Composição, clique na Face face para mostrar o Mapa de Nós de Composição. Botão de Cabeçalho "Use Nodes" (Utilizar os Nós)

Este botão diz a Máquina de Renderização do Blender para utilizar o Mapa de Nós dentro da computação das cores do Material ou renderização da Imagem Final, ou não. Caso não, o Mapa é ignorado e a Renderização Básica do Material e/ou Cena é realizada. Botão de Cabeçalho "Free Unused" (Liberar não Utilizados)

Este botão libera espaço de memória quando você possui um Mapa de Nós muito complexo. É recomendada a sua utilização de tempos em tempos.

Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page

"Nodes" (Nós) Os Nós de Composição permitem a você fazer a manipulação de Imagens por roteá-las através de uma Mapa de Nós conectados. A Maneira com a qual um Mapa é afetado em sua rota, é conhecida como Nódulo. Uma Imagem inicial é roteada através de diferentes Nós para fazer diversas coisas para a Imagem, combinada com outras entradas ou colocadas em conjunto, e finalmente são alteradas e enviadas para a "output" (saída). As Imagens podem ser divididas em seus componentes RGB, combinadas ("mixed" (Misturadas)) com outras entradas, e montadas em camadas umas sobre as outras. Em Filmes, este processo é chamado de pós-processamento e ocorre durante a pós-produção (nomeadamente, depois que as tomadas brutas são feitas, elas estão 'dentro dos tubos' e 'em processo para ser feitas'). Nesta fase, a filmagem "raw" (bruta) é entregue para um editor que faz todos os tipos de mágicas para que seja feito um Filme que tenha uma boa aparência e fique bom. Agora você também pode fazer estas coisas ! Esta seção do Manual é organizada por Tipos de "Nodes" (Nós), que são agrupados com base em funções similares: • Nós de Entrada – Adiciona alguma coisa ao Mapa de Nós , como uma Imagem ou Valor . •


Nós de Saída – Mostra os resultados dos Progressos como uma pequena Imagem. • Nós de Cores – Manipula as cores de uma Imagem. • Nós de Vetor – Manipula a intensidade e reflexões de uma Imagem • Filtros – Processa a Imagem de maneira a melhorá-la, trabalhando nos Pixels Adjacentes. • Conversores – Separa a Imagem em seus componentes de Vídeo, ou formatos de Conversão. • Telas ou Mattes – Gera telas para mascarar áreas de uma Imagem. • Distorção – Altera o formato da Imagem . • Grupos de Nós – Grupos de Nós definidos pelo Usuário. A maneira mais simples de adicionar um "Node" (Nó) é colocar o seu cursor dentro da Janela do "Node Editor" (Editor de Nós), e então pressionar o atalho padrão Space e clicar em "Add" (Adicionar). O Menu tipo Pop-Up irá se estender para mostrar a você estes tipos de "Nodes" (Nós). Clique em um tipo de "Node" (Nó) e o Menu tipo Pop-Up irá se estender novamente para mostrar a você os tipos de "Nodes" (Nós) específicos disponíveis. •

Categories: Compositing nodes | Nodes | Compositing Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page

Nós de Cores Estes tipos de "Nodes" (Nós) mexem com as cores dentro das Imagens. Eles ajustam a intensidade de cores das Imagens, ajustam o seu contraste e brilho, e, mais importante ainda, mistura duas Imagens juntamente através de cores, transparência, ou distância.

Nó de "RGB Curves" (Curvas RGB) Painel: Editor de Nós → Nós de Composição Menu: ⇧ ShiftA → Color → RGB Curves


Nó de "RGB Curves" (Curvas RGB)

Para cada componente de Canal de Cores (RGB) ou cor Composta (C), este Nó permite a você fazer uma definição de Curva Bézier que varia a entrada (sobre a baso ou o eixo X) para produzir um valor de saída (o eixo Y). Por padrão, é uma linha reta com um fator de "slope" (rampa) constante, portanto, um valor de 0.5 ao longo do eixo X resulta em uma saída de valor 0.5 na saída do eixo Y. Clique e arraste ao longo da curva para criar um ponto de controle e para alterar o formato da curva. Utilize o atalho X para deletar o ponto selecionado *( em branco ). Clicando em cada componente C R G B mostrará a curva para este Canal. Por exemplo, fazer com que a curva para o valor "Composite" (Composto) se torne mais lisa ou menos inclinada (clicando e arrastando o manipulador esquerdo da curva para cima) significa que um pequeno montante de Cor resultará em muito mais cores ( um valor de saída Y mais alto ). Efetivamente, isso alivia pequenos detalhes enquanto faz a redução do contraste em Geral. Você também pode configurar uma curva somente para o valor de "Red" (Vermelho) e por exemplo, configurar a curva de uma maneira que quando haja pouco vermelho, ele não seja mostrado, mas muito vermelho será. Aqui há exemplos de curvas comuns que você pode utilizar para conseguir os efeitos desejados:

A) Iluminar/Deixar mais claro. B) Negativo da Imagem C) Diminuir o Contraste D) Posterizar Opções "Fac:" (Fator)


Quanto o "Nó" (Node) deverá ter como fator em suas configurações e afetar a saída. "Black Level" (Nível de Preto) Define a cor de entrada que é mapeada para o Preto. O Padrão é totalmente Preto, o que não altera a Imagem. "White Level" (Nível de Branco) Define a cor de entrada que é mapeada para o branco. O Padrão é totalmente branco, o que não altera a Imagem.

Os níveis trabalham exatamente como aqueles dentro do "Image Viewer" (Visualizador de Imagens). As cores de entrada são escaladas linearmente para bater com os níveis de "Black/White" (Preto/Branco). Para definir os "Levels" (Níveis), você tanto pode utilizar o botão esquerdo do Mouse LMB no fixador de cores para fazer com que você obtenha o "widget" (mini aplicativo) ajudante de cores ativo para a seleção de cores ou fazer a conexão com alguma entrada RGBA nos soquetes de entrada do Nó. Para afetar somente o Valor e Contraste (não a Matiz) da saída, configure os níveis para tonalidades de cinza. Isto é equivalente a configurar uma curva Linear para o valor de C. Caso você configure qualquer nível para uma cor com a saturação maior do que 0, as cores de saída irão ser alteradas de acordo, permitindo uma correção básica de cores ou efeitos. Isso é equivalente a configurar Curvas lineares para os Canais R , G e B. Exemplos Correção de Cores utilizando Curvas

Correção de Cores com Curvas

Neste exemplo, a Imagem possui vermelho demais nela, então nós vamos fazer com que ela atravesse um Nó RGB e tenha seu Canal R ( Red ou Vermelho, em inglês) reduzido mais ou menos na metade. Nós adicionamos um "dot" (ponto) no meio de maneira que possamos fazer a linha ficar de uma maneira em ambos os lados para fazer uma curva exponencial. Este tipo de curva faz a atenuação do montante de cores dentro de uma Imagem conforme ela alcança uma determinada saturação. Também, leia mais para exemplos de Curvas para operações de "Darken" (escurecimento) e "Contrast Enhancement" (Aumento de Contraste).


Correção de cores utilizando Níveis de Preto e Branco (Black/White)

Correção de cores utilizando Níveis de Preto e Branco (Black/White)

Ajustando manualmente as Curvas RGB para a correção de cores pode ser ás vezes difícil. Outra opção para a correção de cores é a utilização de "Levels" (Níveis) de "Black and White" (Preto e Branco) ao invés disso, que realmente são a sua finalidade principal. Neste exemplo, o "Level" (Nível) de "White" (Branco) está configurado para a cor de um Spot brilhante de areia no "background" (plano de fundo), e o "Level" (Nível) de "Black" (Preto) para a cor no centro do "Fisheye" (Olho de Peixe). Para fazer isto de maneira eficiente é melhor fazer com que uma janela de "Image Viewer" (Visualizador de Imagens) seja configurada de maneira a mostrar a Imagem original de "input" (entrada). Você pode então utilizar o miniaplicativo de pegar/escolher cores (color Picker) para escolher facilmente as cores apropriadas a partir da Imagem de entrada, ampliando-a em nível de Pixels caso necessário. O resultado pode ser ajustado de maneira fina com as curvas R, G e B como no exemplo prévio. A curva para o valor de C ( Cor composta) é usada para compensar o aumento de contraste que é um efeito colateral de configuração dos níveis de "Black/White" (Preto/Branco). Efeitos

Alterar Cores


As Curvas e os Níveis de "Black/White" (Branco/Preto) podem também ser utilizados para alterar completamente as cores de uma Imagem. Note que por exemplo configurar o "Level" (Nível) de Preto para "Red" (Vermelho) e o "Level" (Nível) de "White" (Branco) para "Blue" (Azul) não substitui simplesmente o preto com vermelho e branco com azul como a Imagem de exemplo pode sugerir. Os "Levels" (Níveis) fazem a escala de Cores, não a substituição, mas dependendo das configurações, elas podem resultar dentro da substituição de cores descrita. (O que realmente acontece quando se configura o Nível de Preto para Puro Vermelho e o Nível de Branco para Puro Azul é que o Canal vermelho é invertido, o Verde é reduzido a Zero e o Azul permanece inalterado.) Por causa disso, os resultados de configuração arbitraria dos Níveis de "Black/White" (Preto/Branco) ou as Curvas RGB muitas são difíceis de terem resultados previsíveis, mas são bacanas de mexer, pode-se conseguir alguma coisa inesperada.

Nó de "Mix" (Mistura) Painel: Editor de Nós → Nós de Composição Menu: ⇧ ShiftA → Color → Mix

Este "Node" (Nó) mistura uma Imagem de base (cuja tarefa foi atribuída ao soquete de cima) juntamente com uma segunda Imagem (a do soquete de entrada na base) por trabalhar dentro dos Pixels individuais e correspondentes dentro das duas Imagens ou superfícies. A Maneira na qual a Imagem de saída é produzida é selecionada dentro de um Menu tipo Drop-Down. O tamanho (a resolução de saída) da Imagem produzida pelo Nó do tipo "Mix" (Mistura) é do tamanho da Imagem de base. Os Canais Alfa e Z são misturados também. Não uma, nem duas, mas contando-as, são dezesseis escolhas de mistura, incluindo: "Mix" (Mistura) O Pixel do "Background" (Plano de Fundo) é coberto pelo "Foreground" (Plano Frontal) utilizando os Valores Alfa. "Add" (Adição) Os Pixels são adicionados em conjunto. O Valor configurado para "Fac:" (Fator) controle quanto do segundo soquete deverá ser adicionado. Retorna um resultado mais claro. O "oposto" ao Modo de "Subtract" (Subtração). "Subtract" (Subtração) Os Pixels são subtraídos dos outros. Retorna um resultado mais escuro.


O oposto" ao Modo de "Add" (Adição). Multiply Retorna um resultado mais escuro do que ambos os Pixels na maior parte dos casos (com exceção dos que são iguais ao branco, ou de valor=1). Camadas completamente brancas não alteram o "Background" (plano de fundo) de maneira alguma. Camadas completamente pretas retorma um resultado totalmente preto. O "oposto" ao Modo de "Screen" (Tela). "Screen" (Tela) Ambos os valores dos Pixels são invertidos, multiplicados entre si, e o resultado é invertido novamente. Isto retorna um resultado mais claro do que ambos os Pixels de entrada na maior parte dos casos (com exceção daqueles que se igualam a Zero 0). Camadas completamente pretas não alteram o "Background" (Plano de Fundo)de maneira alguma ( e vice versa) – Camadas completamente brancas retornam um resultado em branco. O "oposto" ao Modo de Multiply. "Overlay" (Sobreposição) Uma combinação dos Modos de "Screen" (Tela) e "Multiply" (Multiplicação), dependendo da cor de base utilizada. "Divide" (Divisão) O Pixel do "Background" (Plano de fundo) (o soquete de cima) é dividido pela segundo soquete: caso este seja branco (= 1.0), o primeiro não é alterado; quanto mais escuro o segundo, mais claro será o resultado (a divisão por um cinza mediano, de valor = 0.5 – é o mesmo que a multiplicação por um valor de 2.0); caso o segundo seja preto (= 0.0, a divisão por zero é matematicamente impossível !), o Blender não modificará o Pixel de "Background" (Plano de fundo) de maneira alguma. "Difference" (Diferença) Ambos os Pixels são subtraídos dos outros, o valor absoluto é levado em conta. Portanto, o resultado mostra a distância entre ambos os parâmetros, o preto significa que as cores são iguais, o branco significa que as cores são opostas (em uma Imagem a cor é preta e na outra a cor é branca). O resultado parecerá um pouco estranho em muitos casos. Este Modo pode ser utilizado para inverter partes da Imagem de Base, ou para comparar duas Imagens (os resultados serão em preto caso ambas sejam iguais). "Darken" (Escurecer)


Ambos os Pixels são comparados entre si, o menor é levado em cont. Camadas completamente brancas não alteram o "Background" (Plano de Fundo) de maneira alguma, e camadas completamente em preto retornam um resultado em preto. "Lighten" (Clarear) Ambos os parâmetros são comparados entre si, o maior é levado em conta. Camadas completamente pretas não alteram a Imagem de maneira alguma e camadas em branco retornam um resultado em branco. "Dodge" (Planificar) Clareia o primeiro soquete pela gradiente presente no outro soquete. Resulta em áreas mais claras da Imagem aonde a Gradiente é mais clara/branca. Utilize o valor de "Fac:" (Fator) para controlar quanto da gradiente do segundo soquete afetará o primeiro soquete. "Burn" (Queimar) Escurece o primeiro soquete baseado na gradiente alimentada pelo segundo soquete. Resulta em Imagens mais escuras, pelo fato da Imagem ser queimada como se fosse em um papel. O contrário de Dodge. "Color" (Cor) Adiciona uma cor para um Pixel, tingindo a Imagem em geral com a cor. Utilize isto para aumentar o tingimento de uma Imagem em uma cor. "Value" (Valor) Os Valores em RGB de ambos os Pixels são convertidos em valores HSV. Os valores de ambos os Pixels são mesclados, e a quantidade de "Hue/Saturation" (Matiz/Saturação) da Imagem de base é combinada com o valor mesclado e convertida de volta para o espaço RGB. "Saturation" (Saturação) Os Valores RGB de ambos os Pixels são convertidos em valores HSV. A saturação de ambos os Pixels é mesclada, e o valor de "Hue/Value" (Matiz/Valor) da Imagem de base é combinado com a saturação mesclada e convertida de volta para o espaço RGB. "Hue" (Matiz) Os valores RGB de ambos os Pixels são convertidos para valores HSV. A Matiz de ambos os Pixels é mesclada, e o Valor e Saturação da Imagem de base é combinado/a com a mescla de "Hue" (Matiz) e convertida de volta ao espaço RGB. Canais de Cores Existem duas maneiras de expressar os Canais que são combinados para resultar em uma Cor:


RGB ou HSV. Essas expressões também são chamadas de espaços de Cor. A abreviatura RGB já foi apresentada anteriormente e significa Red, Green e Blue ou Vermelho, Verde e Azul em Português para o formato de Pixel, e a abreviatura HSV significa Hue, Saturation e Value ou Matiz, Saturação e Valor para o formato de Pixel.

"A" (Alfa) Clique no botão verde de Alfa para fazer com que o Nó de "Mix" (Mistura) utilize os valores de Alfa (transparência) do segundo Soquete de entrada do Nó (o que fica na Base). Caso esteja habilitado, a Imagem resultante irá possuir um Canal de Alfa que será refletido em ambos os Canais de Imagem para o cálculo da resultante. Caso contrário, (quando não está habilitado, em verde claro) a Imagem de saída irá misturar as cores pela consideração do efeito que o canal Alfa tem na primeira Imagem do Soquete de entrada do Nó (o que fica na parte de cima). O Canal Alfa da magem de saída não será afetado nesse caso. "Fac:" (Fator) O Montante de mistura do soquete de base é selecionado pelo campo de entrada de valor de Fator Fac:. Um fator de valor Zero, não utiliza o Soquete de Base, aonde um valor de 1.0 faz a utilização plena do mesmo. Dentro do Modo de "Mix" (Mistura), um fator de 50:50 (0.50) significa uma mistura bem distribuída/equilibrada entre os dois, mas dentro do modo "Add" (Adição), um valor de 0.50 significa que somente a metade da influência do segundo soquete será aplicada. Exemplos

Abaixo à exemplos comuns de Modos de "Mix" (Mistura) e suas utilizações, com a mistura de uma "Color" (Cor) ou "Checker" (Xadrez) com uma Máscara.


Alguma explicação dos Métodos de Mistura/Mixagem acima pode ajudar você a utilizar o Nó "MIx" (Mistura) de maneira mais efetiva: •

Add – Adicionar Azul para Azul, irá manter a cor em Azul, mas adicionar azul para vermelho, irá retornar Roxo. O Branco já possui a plena quantidade de Azul, então permanecerá Branco. Utilize isto para fazer alterações das Cores de Uma Imagem. Adicionando um tingimento de Azul fará com que a Imagem pareça fria. Subtract – Tirando o Azul de uma Cor Branca irá deixar os Canais Verde e Vermelho, que combinados em conjunto resultam em amarelo (e você pensou que nunca mais iria necessitar de uma roda de cores hã ? ). Tirando o Azul do Roxo faz sobrar o Vermelho. Utilize isto para diminuir a Saturação de uma Imagem. Tirar o Amarelo, fará com que uma Imagem fique mais azul e fria, portanto mais triste em alguns cenários (mas será divertido, caso você seja EMO). Multiply: O Preto (Valor 0.00) multiplicado por qualquer coisa retorna Preto. Qualquer Imagem Multiplicada por Branco (Valor 1.00) é ela mesma. Utilize isto para mascarar problemas, ou para colorizar uma Imagem em "Black/White" (Preto/Branco). Hue: Mostra a você quanto de uma cor está dentro de uma Imagem, ignorando todas as cores com exceção da que está selecionada: faz uma figura monocromática no estilo "Black & Hue" (Preto e Matiz).


• •

Mix: Combina as duas Imagens, fazendo uma média das duas. Lighten: É como Sangrar, faz com que os seus Brancos se tornem mais Brancos. (Sabão em Pó ???) Utilize como uma máscara para fazer com que uma Imagem fique um pouco mais clara. Difference: O que é legal nesta máscara é que ela retorna as cores de diferença. A cor necessária para tornar o Amarelo em Branco é o Azul. Utilize isto para comparar duas Imagens muito similares para ver o que foi feito em uma para fazer a outra, comparar renderizações, etc; o seu resultado é como um log de mudança nas Imagens. Você pode usar isso para ver por exemplo uma Marca D'água que você tenha colocado em uma imagem para detecção de Roubo/Plágio. Darken, com as cores que podem ser configuradas para esta operação, já é possível estar olhando para o mundo através de óculos rosa choque (desculpe, eu não pude resistir a piadas novamente....).

Aumento de Contraste e Escurecimento com o Nó "Mix" (Mistura)

Aqui há um pequeno Mapa mostrando os efeitos de outros dois usos comuns para as Curvas RGB: "Darken" (Escurecimento) e "Contrast Enhancement" (Melhoria de Contraste). Você pode ver o efeito que cada curva possui independentemente, e o efeito combinado quando elas são misturadas igualmente.

Exemplo de configuração de Nó de Curvas RGB mostrando "Escurecimento", e "Aumento de Contraste" em misturas para composição com o Nó "Mix" (Mistura).

Conforme você pode perceber, nosso macaco original com textura magic foi superexposto por muita luz. Para curá-lo da superexposição, você deverá tanto escurecer a Imagem quanto aumentar o contraste. Outros programas de pintura usualmente provêm um tipo de controle deslizante para isso, mas o Blender, ah, o fantástico


Blender, provê uma Curva definível pelo usuário para prover um controle ainda mais preciso. Na Curva RGB da parte de cima em Darken (Escurecer), somente o lado direito da curva foi baixado; portanto, qualquer entrada em X ao longo da base resulta em uma saída Y geometricamente menor. A Curva RGB em Enhance Contrast (Aumento/Melhoria de Contraste) faz a escala da saída de maneira que os valores medianos de X são alterados dramaticamente; notavelmente, a escala de brilho mediano é expandida, e portanto os brancos mais brancos e os pretos mais pretos são a saída. Para fazer esta curva, simplesmente clique na curva e um novo ponto de controle é adicionado. Arraste esse ponto para um local que faça com que a curva seja inclinada conforme o seu desejo. O Nó "Mix" (Mistura) combina esses dois efeitos igualmente, e a Suzanne se sente muito melhor. E NÍNGUÉM quer um macaco doente em suas mãos. :) Utilizando o Nó "Mix" (Mistura) para fazer Marcas D'água em Imagens

No passado, um padrão era impresso na massa de papel conforme esta era seca, criando um marca que identificava quem fez o papel e de onde ele veio. A Marca era raramente perceptível exceto quando estava sob a luz correta. Provavelmente a primeira forma de propaganda subliminar. Hoje em dia, as pessoas fazem 'Marcas D'água' em suas Imagens para identificá-las como a sua propriedade intelectual pessoal, para propaganda subliminar do autor ou serviço de hospedagem, ou simplesmente para observar e vigiar a proliferação de sua Imagem através da Web. O Blender provê um completo conjunto de ferramentas para você tanto codificar a sua 'Marca D'água' quanto para dizer se a Imagem possui a sua 'Marca D'água'. Codificando a sua Marca D'água em uma Imagem

Primeiro, construa a sua própria Marca D'água pessoal. Você pode utilizar o seu nome, uma palavra, um formato ou uma Imagem não facilmente replicável. Enquanto a cor Cinza Neutro funciona melhor na utilização do método de codificação sugerido, você está livre para utilizar outras cores ou padrões. Poderá ser um único Pixel ou uma Gradiente Inteira; está para a sua vontade. Dentro do Exemplo abaixo, nós estamos codificando a Marca D'água dentro de uma localização específica dentro da Imagem com a Utilização do Nó "Translate" (Transladar); isso ajuda mais tarde por que nśo teremos que olhar dentro de uma localização específica para localizar a Marca. Então Nós utilizamos o Nó de conversão de "RGB to BW" (Cores para Preto e Branco) para convverter a Imagem em números que o Nó de "Valeu Map" (Mapa de Valores) pode utilizar para fazer com que a Imagem se torne subliminar. Neste caso, ela reduz a marca para um décimo de sua intensidade original. O Nó "Add" (Adicionar), adiciona aos Pixels correspondentes, e faz com que aqueles que contém a marca fiquem muito levemente mais claros.


Embutindo a sua Marca em uma Imagem utilizando uma 'Marca' e uma 'Posição Específica'

Claro, caso você queira que as pessoas notem a sua Marca, não faça com que ela seja muioto grande, ou então faça-a com uma cor contrastante. Existem também muitas outras maneiras, utilizando outras configurações de mistura e arranjos chiques/complexos. Sinta-se livre para experimentar ! Utilizações Adicionais Você também pode utilizar esta técnica, utilizando configurações que resultem em efeitos visíveis, em sequências de títulos para fazer com que as palavras pareçam estar surgindo na superfície D'água, ou como um efeito especial para fazer com que as palavras apareçam no antebraço da garota possuída no filme :). yuk.

Decodificando uma Imagem para a sua Marca D'água

Quando você ver uma Imagem que você pensa que pode ser sua, utilize o "Node Map" (Mapa de Nós) abaixo para compará-la com a sua Imagem original (a original que teve inserida a sua "watermark" (marca d'água) previamente estabelecida). Neste Mapa, o "Mix Node" (Nó de Mistura) está configurado para "Difference" (Diferença), e o Nó de "Map Value" (Mapa de Valor) amplifica qualquer diferença. O resultado é roteado para um visualizador, e você pode ver como a Marca Original se sobressai, clara como um sino:


Checando uma Imagem por sua Marca D'água

Diversos Algoritmos de compressão de Imagens perdem alguma coisa em relação ao original; a diferença é mostrada com um ruído. Faça experimentações com diferentes configurações de compressão e marcas d'água para ver o que funciona melhor para você tendo o mapa de codificação em uma "Scene" (Cena), e o mapa de decodificação em outra. Utilize-as alterando as configurações de formato de Imagem do Blender, recarregando a Imagem com Marca d'água depois do processo de salvar, até obter um resultado aceitável. Dentro do exemplo acima, a marca está claramente visível em toda a parte de cima com uma compressão de imagem de formato JPEG de 50%. Utilizando Dodge and Burn (Uma Lição de História)

A utilização dos métodos de mistura (mix) "dodge" (esvanecer) e "burn" (queimar) é feita em combinação com uma máscara para afetar somente certas áreas da Imagem. Nos velhos dias de quarto escuro na fotografia, sim, quando naquela época eu gastava horas dentro de uma pequena sala apertada banhada em uma suave luz vermelha, eu costumava recortar uma espécie de corte parecido com um canudo para esvanecer certas áreas da foto conforme a exposição era feita, lançando uma sombra na chapa e então limitando a luz a determinadas áreas. Para fazer o oposto, eu deveria “queimar” as partes dentro de uma Imagem mantendo uma máscara sobre a Imagem. A máscara possuía um buraco nela, deixando a luz passar e portanto “queimando” a Imagem no papel. A mesma equivalência pode ser utilizada aqui pela mixagem de uma máscara de imagem com Alfa com a sua Imagem utilizando um "mixer" (misturador) tipo "dodge" (esvanecer) para clarear uma área de sua foto. Lembre-se que o valor de preto significa Zero efeito (sem efeito), e branco significa o efeito pleno. E no caminho, você cresceu aprendendo a gostar do cheiro do fixador, e com uma pequena música suave de plano de fundo junto co o som da água corrente, isso era bem relaxante. Eu ainda sinto falta desses dias.

Nó de "Hue Saturation" (Saturação e Matiz) Painel: Editor de Nós → Nós de Composição


Menu: ⇧ ShiftA → Color → Hue Saturation

Como uma alternativa para a edição RGB "Red, Green and Blue" (Vermelho, Verde e Azul), as cores podem ser pensadas como uma mistura de tonalidades, nomeadamente sendo um valr normalizado ao longo do espectro visível, a partir do “infravermelho” até o “ultravioleta” (o arco-íris, lembre-se de "Roy G. Biv"). A quantidade de cores adicionadas dependem da saturação desta cor; quanto mais alta a saturação, mais desse pigmento é adicionado. Utilize o deslizador de saturação deste nó para ressaltar' as cores de uma Imagem lavada ou com pouca saturação. Este nó pega uma imagem de "input" (entrada) e percorre a cor da Imagem (e a luz que ela reflete e irradia) 'para cima' através de um fator que vai de 0.0 até 1.0 e aplica a saturação do efeito de cor de uma tonalidade a Imagem: "Hue:" (Tonalidade:) O deslizador "Hue" (Tonalidade), especifica a quantidade de alteração que será aplica a a tonalidade da Imagem. Um valor de 0.5 (no meio) não afeta a tonalidade ou afeta a cor da Imagem. Conforme o deslizador de "Hue" (Tonalidade) se alterna mais para a esquerda, as cores são alternadas conforme mais ciano é adicionado; uma imagem azul se torna mais azulada, então esverdeada, e então amarelada. Uma Imagem vermelha se torna violeta, então avermelhada, azulada, e finalmente mais para a cor de musgo. Conforme ele desliza para a direita, (aumentando o valor de "Hue" (Tonalidade) de 0.5 para 1.0) ele introduz vermelhos e verdes. Uma Imagem azul se torna roxa, cor de ameixa, vermelha, laranja, e então amarela. Uma Imagem vermelha se torna cor de ouro, oliva, verde, e depois ciano. "Sat:" (Saturação) Saturação afeta a quantidade de pigmento dentro da Imagem. Um valor de saturação de 0 efetivamente remove as tonalidades da cor, resultando em uma Imagem de escala de cinza, resultando em preto e branco. Um valor de saturação 1.0 mescla dentro da "Hue" (Tonalidade), e um valor de 2.0 dobra a quantidade de pigmentação e faz com que as cores sejam ressaltadas. "Val:" (Valor) Valor afeta a quantidade de cor em geral dentro da Imagem. Aumentando este valor, faz com que uma Imagem fique mais clara; o decréscimo deste valor, resulta em uma Imagem mais escura. "Fac:" (Fator)


Fator determina quanto este nó afeta a Imagem. Um fator de 0 significa que a Imagem de entrada do Nó não é afetada pela configurações de "Hue and Saturation" (Tonalidade e Saturação). Um fator de 1 significa que elas afetam a Imagem, com um valor de 0.5 significando uma mistura. Dicas para "Hue and Saturation" (Matiz/Tonalidade e Saturação)

Algumas coisas para se ter em mente, que podem ajudar você a utilizar este Nó de maneira melhor: Valores de "Hues" (Matiz/Tonalidade) funcionam de uma maneira a parecer Vice-Versa. Uma Imagem Azul, com uma configuração de "Hue" (Matiz/Tonalidade) de qualquer um dos fins dos espectros possíveis (0 ou 1), tem sua saída como amarelo (Lembre-se que branco, menos azul, é igual amarelo). Uma Imagem em amarelo, com uma configuração para as pontas dos espectros possíveis para a configuração de "Hue" (Matiz/Tonalidade)(0 ou 1), é azul. "Hue and Saturation" (Matiz/Tonalidade e Saturação), funcionam em conjunto. Portanto, um valor de "Hue" (Matiz/Tonalidade) de 0.5 mantém os azuis na mesma tonalidade de azul, mas o deslizador de saturação pode diminuir ou aprofundar a intensidade dessa cor. "Gray" (Cinza) e "White" (Branco) significam "hue" (Matiz/Tonalidade) neutra. Uma Imagem cinza, aonde os valores de RGB são iguais, não possui "hue" (tonalidade). Dessa maneira, este nó pode somente afetá-la com o deslizador "Val:" (Valor). Isto se aplica para todas as tonalidades de cinza, da cor preta a branca, todas as vezes que seus valores internos de RGB forem iguais. Alterando o efeito sobre o tempo. Os valores de "Hue and Saturation" (Tonalidade e Saturação) são configurados dentro do Nó através do deslizador, mas você pode alimentar a entrada deste Nó com uma entrada do Nó do tipo "Time" (Tempo) dentro da conexão "Factor" (Fator) para fazer aumentar ( ou diminuir) a alteração do efeito sobre o tempo. Tingimento Este Nó do tipo HSV simplesmente alterna as tonalidades que já existem previamente. Para fazer com que uma Imagem cinza seja colorizada, ou então para adicionar cor para uma Imagem, utilize um Nó do tipo Mix dentro de uma configuração de cor estática a partir de uma entrada de Nó de RGB em combinação com a sua Imagem.


Exemplo para HSV → "Hue Saturation Value" (Matiz Saturação Valor)

Aqui, uma Imagem tomada através de uma câmera digital barata dentro de uma iluminação pobre, durante a noite utilizando um Flash (será que poderíamos ter feito coisas piores, hã ??) é ajustada pelo decréscimo de "Hue" (Matiz ou Tonalidade) (diminuindo os vermelho e revelando mais azuis e verdes), e diminuindo a saturação (comum em câmeras digitais, e revela mais contraste) e aumentando o fator de "Value" (Valor) (fazendo com que ela fique como um todo mais clara).

"Bright/Contrast" (Brilho/Contraste) Painel: Editor de Nós → Nós de Composição Menu: ⇧ ShiftA → Cores → Bright/Contrast (Brilho/Contraste)

Um exemplo básico "Bright" (Brilho) Um fator do tipo multiplicativo pelo qual você pode aumentar o brilho em geral da Imagem. Utilize um número negativo para escurecer uma Imagem. "Contrast" (Contraste) Um fator do tipo escala pelo qual você pode fazer com que Pixels mais brilhantes sejam mais claros ainda, mas ao mesmo tempo mantendo os Pixels mais escuros, ainda escuros. Valores mais altos fazem com que certos detalhes sobressaiam. Utilize um número negativo para diminuir o contraste em geral dentro da Imagem.


Notas

É possível que este Nó estipule um conjunto de valores que está além do campo normal de trabalho, por exemplo 1 ou < 0. caso você pretenda utilizar a saída para mistura com outras Imagens dentro dos valores normais de trabalho, você deverá fazer cortes de nível nos valores (clamp) utilizando o Nó do tipo "Map Value" (Mapa de Valores) (com as opções de "Min" (Mínimo) e "Max" (Máximo) habilitadas), ou então fazer com que ele passe por um Nó do tipo "ColorRamp" (Rampa de Cores) (com todos os padrões normais). Qualquer um destes "Nodes" (Nós) irá escalar os valores de volta aos seus campos/valores normais de trabalho. Dentro da Imagem de exemplo, nós queríamos amplificar o passo especular. A "Thread" (Tarefa) da base mostra o que acontece caso não façamos limitações ou cortes nos valores; o passo especular tem seus valores muito menores que 1 dentro das áreas mais escuras; quando isso é adicionado à uma cor cinza média, isso faz com que ela fique completamente escura/preta. Passando a Imagem com o brilho aumentado através ou dos Nós tipo "Map Value" (Mapa der Valores) ou então pelo Nó do tipo "ColorRamp" (Rampa de Cores) produz o efeito desejado.

Gamma Painel: Editor de Nós → Nós de Composição Menu: ⇧ ShiftA → Cores → Invert (Inverter)

A Razão para aplicar uma correção de gama para a renderização final é corrigir problemas de iluminação. Os problemas de iluminação que são corrigidos pela correção de gama são a atenuação de luz com a distância, o "Falloff" (Decaimento) de fator de


Luzes nos terminadores e superposições de luzes e sombras. Simplesmente pense sobre o renderizador como se fosse uma câmera virtual. Pela aplicação de correção de gama para a sua imagem renderizada, você estará somente fazendo uma replicação do que uma câmera digital faria com fotos. As câmeras digitais corrigem a gama de suas fotos, portanto, você pode fazer a mesma coisa. O Fator de correção de gama é, entretanto, de 0.45, e não 2.2. Mas a correção reversa de gama nas Texturas e Cores possui uma outra consequência muito importante quando você estiver utilizando técnicas de renderização como "Radiosity" (Radiosidade) ou "GI" (Iluminação Global). Quando o Blender está fazendo as suas calculações de "GI" (Iluminação Global), todas as Texturas e Cores são levadas em conta para significar reflectância. Caso você não faça a correção de gama reversa de suas texturas e Cores, então o renderizador que utiliza a técnica de "GI" (Iluminação Global) irá parecer muito brilhante por que as cores refletidas serão de valores todavia muito altas e portanto muito mais luz estará sendo rebatida em torno dos Objetos do que realmente deveria. A correção de Gama no Blender entra realmente em poucos lugares na prática. O primeiro deles é com esta seção de documentação dos "Nodes" (Nós), tanto este Nó ou Nó do tipo "ToneMap" (Mapa de Tonalidade), e a segunda parte é para fazer as calculações de Radiosidade. Dentro do Nódulo a esquerda, o divisor formado pelo Nó do tipo "Viewer" (Visualização) mostra o efeito de antes e o depois, quando da aplicação da correção de gama.

Nó "Invert" (Inverter) Painel: Editor de Nós → Nós de Composição Menu: ⇧ ShiftA → Cores → Invert

Este nó bacana inverte as cores dentro da Imagem de entrada, produzindo um negativo. Opções "Factor" (Fator) Controla a quantidade de influência que o Nó exerce na Imagem de saída. "Color" (Cor)


A Imagem de entrada. Neste caso, o exemplo é uma esfera vermelha em um "background" (plano de fundo) transparente preto. "RGB" (Escala Vermelho, Verde e Azul) Inverte as cores a partir do branco. Neste exemplo, o vermelho invertido resulta em Ciano (Azul). "A" (Alfa) Inverte o canal Alfa (transparência) também. Bem útil para fazer máscaras.

Nó de "AlphaOver" (Alfa Sobre) Painel: Editor de Nós → Nós de Composição Menu: ⇧ ShiftA → Cores → AlphaOver (Alfa Sobre)

Nó "AlphaOver" (Alfa Sobre)

Utilize este Nó para colocar Imagens em camadas umas sobre as outras. Este Nó toma duas Imagens como entrada, combina-as através de um fator, e faz a saída em forma de outra Imagem. Conecte uma Imagem de "Background" (Plano de Fundo) na entrada de cima, e a Imagem de "ForeGround" (Plano Frontal) na entrada de baixo. Aonde a Imagem de "Foreground" (Plano Frontal) possuir valores de Alfa dos Pixels maiores que Zero 0 (ou seja, que permitem alguma visibilidade), a Imagem de "Background" (Plano de Fundo) irá ser mostrada através/sobressairá. Utilize o deslizador de "Factor" (Fator) para 'fundir' as duas Imagens. Um fator menor que 1.00 irá fazer com que a Imagem de "foreground" (plano frontal) seja mais transparente, permitindo que a Imagem que está em "background" (plano de fundo) sangre mais através da mesma.


Exemplos

Montando uma Imagem composta utilizando o Nó do tipo AlphaOver

Neste exemplo, uma Imagem de um Tucano é superposta sobre um "Background" (Plano de fundo) de Madeira. Utilize o botão "PreMultiply" (Pré-Multiplicação) quando a Imagem de "Foreground" (Plano Frontal) e a Imagem de "Background" (Plano de Fundo) possuírem valores combinados de Alfa cujos valores sejam maiores que 1.00; caso contrario você verá um potencial efeito de Hallo indesejado. A Imagem resultante será uma composição das duas Imagens de fonte.

Cena Animada com efeito especial do tipo Ver através ou Véu transparente utilizando AlphaOver - Quadro 11

Neste exemplo, nós utilizamos o controle de valor de "Factor" (Fator) para conseguir um efeito de pele de cebola ou um véu transparente. Você pode animar este efeito, permitindo ao observador ver através de paredes (ou qualquer Objeto de plano Frontal) pelo atrelamento de um Nó do tipo "Time" (Tempo) para alimentar o soquete de fator como mostrado abaixo. Neste exemplo, sobre o curso de 30 "frames" (quadros), o Nó do tipo "Time" (Tempo) fará com que o Nó do tipo "Alpha Over" (Alfa Sobre) produza uma figura que inicie com a Imagem de "Background" (Plano de Fundo) de madeira, e devagar fará com que haja o sangramento, mostrando o Tucano. Este exemplo mostra o "frame" (quadro) 11, justamente quando o Tucano começa a ser revelado. Há necessidade de conectar todos os soquetes


O Nó do tipo "AlphaOver" (Alfa Sobre) não funciona nas cores de uma Imagem, e não irá fazer com que haja saída de nenhuma Imagem quando um dos soquetes estiver desconectado.

Contornos estranhos ou Halos estranhos

Para clarificar um pouco mais a funcionalidade do botão de pré-multiplicação do Alfa (premull): Um canal Alpha possui um valor que está compreendido entre 0 e 1. Quando você faz com que uma Imagem seja transparente (para utilizá-la em composições sobre outras Imagens), você está realmente fazendo uma multiplicação dos valores de Pixels em RGB pelos valores de Alfa (Fazendo com que a Imagem seja transparente (0) aonde o Alfa é preto (0), e opaca (1) aonde ela é branca (1)). Portanto, para executar uma composição da Imagem A sobre a Imagem B , você pega o Alfa da Imagem A e multiplica pela Imagem A, portanto fazendo com que partes da Imagem A sejam opacas e o restante seja transparente. Então você inverte os Alfas de A e multiplica pela Imagem B por ela mesmo, fazendo com que a Imagem B seja transparente aonde A é opaca e vice versa. Então você adiciona as Imagens resultantes e obtém a composição final. Ter um Alfa pré-multiplicado, significa que os Pixels da Imagem em valores (RGB) já estão multiplicados pelo canal Alfa, mas há casos em que a operação de composição descrita acima não funciona muito bem, e você então terá que clicar no botão de 'convert pre-mult' (converter a pré-multiplicação). Isto somente é um problema em áreas semi-transparentes, e normalmente em bordas. O problema aparece nos "Nodes" (Nós) quando você tem combinadas, com Alfa, duas Imagens, e então deseja combinar o resultado desta Imagem ainda com outra Imagem. A Imagem combinada previamente estava previamente multiplicada (pre-mult), e necessita ser convertida novamente para ser usada como resultante (portanto, então você deverá utilizar o Convert PreMul). Caso você não preste atenção e faça a multiplicação duas vezes, você obterá áreas brancas ou então Halos bem claros em torno de sua Imagem aonde essas Imagens se encontram, pelo fato do seu valor de Alfa estar sendo elevado ao quadrado ou ao cubo. Isso também depende do fato de você ter renderizado a sua Imagem como uma Imagem que passou pelo processo de pre-mult, ou simples Imagem do tipo RGBA.

Montando Imagens com Alfa utilizando o Premul para o Nó de AlphaOver

Nó "Z-Combine" (Combinar-Z)


Painel: Editor de Nós → Nós de Composição Menu: ⇧ ShiftA → Cores → Z Combine ( Combinar-Z)

O Nó Z Combine

O Nó do tipo "Z-Combine" (Combinar Z) toma duas Imagens e dois conjuntos de valores Z como a sua entrada. Ele sobrepõe as Imagens utilizando os valores providos para Z para detectar quais partes de uma Imagem estão na frente da outra. Caso ambos os valores de Z sejam iguais, ele utilizará pela ordem, a Imagem conectada ao topo. Ele faz a saída da Imagem combinada, com o mapa combinado de "Z-Depht" (Profundidade Z), permitindo a você fazer diversas combinações de tarefas de escala de profundidade Z em conjunto. O Nó do tipo "Z-Combine" (Combinar Z) escolhe quaisquer valores de Z que sejam menores quando está decidindo qual o Pixel da Imagem deverá ser utilizado. Normalmente, os Objetos que estão de frente com a Câmera possuem um valor de Z positivo. Caso algum valor de Z seja negativo, e ou outro positivo, o Nó do tipo "ZCombine" (Combinar Z) irá utilizar a Imagem correspondente ao valor negativo. Você pode imaginar valores negativos de Z como sendo as coisas que estão atrás da câmera. Quando estiver escolhendo entre dois valores negativos de Z, o Nó do tipo "ZCombine" (Combinar Z) irá utilizar o que for mais negativo como estando mais à frente. Os valores de Alfa procedem a partir das Imagens de entrada. Não somente os Pixels da Imagem são escolhidos, mas também os valores de Canal Alfa que possuem. Portanto, caso um Pixel esteja parcialmente ou totalmente transparente, o resultado do Nó de "ZCombine" (Combinar Z) também irá ser parcialmente transparente; e neste caso a Imagem de "background" (plano de fundo) irá ser mostrada através do Pixel do "Foreground" (Plano frontal) (Pixel escolhido) . Aonde houverem bordas finas ou contraste mais alto, o mapa de Alfa irá automaticamente sofrer tratamento de "AntiAliasing" (Anti-Serrilhado) para que sejam suavizados quaisquer artefatos. Contudo, você pode obter este efeito fazendo ligações entre Imagens advindas de um Nó do tipo "AlphaOver" (Alfa Sobre) de dois Nós do tipo "Z-Combine" (Combinar Z), sendo um normal, e o outro tendo os valores invertidos ou reversos de Z como entradas, obtidos através da utilização em cada um deles de um Nó do tipo "MapValue" (Mapa de Valores) com um valor de "Size" (Tamanho) configurado como -1.0.


Os Nós de Alpha e Z-Combine. Exemplos

Fazendo a escolha dos Pixels mais próximos

Dentro do exemplo a direita, a saída de renderização de duas "Scenes" (Cenas) estão sendo misturadas com a utilização do Nó do tipo "Z-Offset" (Deslocamento Z), uma a partir de uma esfera com tamanho de 1.30', e uma outra com um cubo de tamanho 1.00. A esfera e o quadrado estão localizados no mesmo lugar. O Cubo está ajustado um pouco mais para a frente, de maneira que o canto que fica no centro está mais próximo da câmera do que a superfície da esfera; portanto, o Nó do tipo "Z-Offset" (deslocamento de Z) escolhe a utilização dos Pixels do Cubo. Mas a esfera é levemente maior (com um tamanho de 1.30 versus 1.00), portanto ela não cabe totalmente 'dentro' do Cubo. Em algum ponto, conforme os lados do Cubo recedem para longe da câmera, os lados da Esfera serão mais próximo. Quando isto acontece, O Nó do tipo "Z-offset" (Deslocamento Z) utiliza os Pixels da esfera para formar a figura resultante. Este Nó pode ser utilizado para combinar um "Foreground" (Plano Frontal) com uma pintura de Tela de "Background" (Plano de Fundo). Walt Disney foi um dos pioneiros no uso de pinturas em tela com arranjos em camadas de múltiplos planos, aonde três ou quatro Telas de pinturas parciais eram pintadas no vidro e colocadas em diferentes posições de espaço de profundidade Z nos lados esquerdo e direito; movimentos mínimos de câmera para a direita criam a ilusão de profundidade conforme por exemplo o Bambi se movia através da Floresta, em seus filmes. Entrada Válida A entrada de Z do soquete para este Nó não aceita valores fixos; eles devem obter um conjunto vetorial (veja o Nó do tipo "Map Value" (Mapa de Valor)). Os soquetes de entrada de Imagens


não irão aceitar uma cor, pelo fato de que ela não possui coordenadas UV.

Mixando e Combinando Imagens

Você pode utilizar o Nó do tipo "Z-Combine" (Combinar Z) para fundir duas Imagens também, utilizando os valores Z colocado entre dois(uas) "Renderlayers" (Camadas de Renderização). Utilizando os valores de Z a partir das Cenas da Esfera e do Cubo do exemplo acima, mas fazendo com que sejam tratados com Imagens diferentes como entrada da tarefa, resultam no exemplo a direita.

O Nó Z-Combine em ação

Dentro deste Nódulo, (você pode clicar no ícone do pequeno expansor automático localizado na base a direita, para ver essa imagem em seu tamanho completo), nós misturamos uma Cena renderizada com uma Imagem lisa. Na visualização de lado da Cena o cubo rosa está a 10 Unidades Blender de distância da câmera, e a bola cinza está a 20 Unidades Blender de distância. O cursor 3D está a mais ou menos 15 Unidades Blender de distância da Câmera. Nós então aprofundamo-nos na Imagem para o Z em uma localização de 15 Unidades Blender, portanto inserindo-a em uma posição entre o Cubo e a Esfera. A Imagem resultante parece ter o Cubo sobre uma mesa. Efeito de Homem invisível Caso você escolha uma Imagem de plano frontal que possua um valor mais alto de Alfa do que o plano de fundo, e então misture o Nó do tipo Z-combine com uma plano de fundo levemente ampliado, o contorno da área transparente irá distorcer o plano de fundo, o suficiente para fazer com que pareça que você está vendo parte do planod e fundo através de um Objeto de lentes Fresnel transparente.


Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page

Nós de Distorção Estes Nós distorcem a Imagem de alguma maneira artística, operando ou uniformemente na Imagem, ou então pela utilização de uma máscara para variar o efeito sobre a Imagem.

Nó "Translate" (Traduzir/Trasladar) Painel: Node Editor → Composite Nodes Menu: ⇧ ShiftA → Distort → Translate

O Nó "Translate" (Traduzir/Trasladar)

O Nó do tipo "Translate" (Traduzir/Trasladar) traduz (move) uma Imagem pelo montante especificado dentro das direções de X e Y. Os valores para X e Y são em Pixels, e podem ser positivos ou negativos. Para alternar uma Imagem para cima e para a esquerda, por exemplo, você deverá especificar um "offset" (deslocamento) negativo para X e um positivo para Y. Utilize este Nó para posicionar uma Imagem na composição final da Imagem. Usualmente, a "output" (saída) deste Nó é roteada para um Nó do tipo "Mix" (Mistura) ou "AlphaOver" (Alfa Sobre) para a Mistura com uma Imagem de Base. No exemplo abaixo, a entrada de "RenderLayer" (Camada de Renderização) é uma entrada advinda de outra Cena (box) que é traduzida/trasladada para a esquerda (uma traslação negativa em X) e que foi colocada como "AlphaOver" (Alfa Sobre) com uma Cena escrita Hello, como entrada de "RenderLayer" (Camada de Renderização).


Exemplo: Utilizando o Nó de "Translate" (Traduzir/Trasladar) para rolar Créditos

Bem no fim de sua fantástica animação, você irá querer oferecer os créditos aonde créditos são merecidos. Isso é chamado de Rolagem de créditos e é aonde você vê os nomes de todos os envolvidos rolando para cima sobre uma Imagem de "Background" (Plano de Fundo) ou uma sequência. O pequeno Mapa de Nós abaixo mostra um exemplo de como fazer a Rolagem dos Créditos utilizando o Nó "Translate" (Traduzir/Trasladar).

Utilizando o Nó "Translate" (Traduzir/Trasladar) para Rolagem de Créditos

Neste Mapa de Nós, a entrada de "RenderLayer" (Camada de Renderização) possui uma lista de pessoas envolvidas com 150 Pixels de altura; isso é a Imagem de entrada dentro do Nó "Translate" (Traduzir/Trasladar). O valor de "offset" (deslocamento) de Y ( vertical ) do Nó "Translate" (Traduzir/Trasladar) vem a partir de uma escala de fator de tempo que varia de -150 para 150 sobre 30 "frames" (quadros). A Imagem Trasladada é sobreposta em cima de uma Imagem de espiral. Portanto, sobre o curso de 30 "frames" (quadros) o Nó "Translate" (Traduzir/Trasladar) altera a Imagem deslocando-a da parte


de baixo por 150 Pixels (vinda a partir da parte de baixo), e a desloca subindo através e sobreposta por cima da espiral, e finalmente sai da tela para a parte de cima. Estes "frames" (quadros) são gerados quando os botões da Aba do contexto Render são configurados para animação e a opção Anim está pressionada. Neste momento, o "frame" (quadro) 21 está mostrando Moe e Curly, e Larry rolou para fora da tela. Canal Alfa Tenha certeza de que salvou a sua Imagem de créditos em um formato que tenha suporte a Canais de Alfa, como o PNG, de maneira que o Nó "Alpha Over" (Alfa Sobre) possa se sobrepor sobre o "Background" (Plano de Fundo) e ao mesmo tampo deixar a Imagem que está em "Background" (Plano de Fundo) ser mostrada através dele.

Você poderia ter parenteado e animado todo o Texto para que ele rolasse através de sua câmera, mas a renderização dependendo do que está abaixo, poderia durar eternamente com relação a essa técnica. A utilização do Nó "Translate" (Traduzir/Trasladar) é muito mais rápida para ser composta, e mais flexível. Para adicionar mais algumas facilidades a essa lista, é possível a simples mudança da Imagem, de créditos e refazer a animação. Pelo fato disto ser uma simples manipulação de Imagem, o Blender é extremamente rápido na etapa de regeneração de seus créditos. Similarmente, a alteração do "Background" (Plano de Fundo) é tão simples quanto a alteração da Imagem; simplesmente carregue uma Imagem de "Background" (Plano de Fundo) e anime novamente. Exemplo: Movendo uma "Matte" (Tela/Paisagem)

Em algumas animações 2D e 3D e filmes, uma pintura em tela como se fosse uma paisagem é feita para ser utilizada como "Background" (Plano de Fundo). Na maioria das Cenas ela é uma Cena parada, contudo, você pode facilmente movê-la utilizando o Nó "Translate" (Traduzir/Trasladar). As "Mattes" (Telas/Paisagens) são bem grandes; o exemplo utilizado abaixo é atualmente de 1440x600 Pixels de tamanho, ainda que a Cena Renderizada seja para ser utilizada em TV (SD). Este tamanho maior ou oversizing nos dá espaço para pode mover essa Imagem. O Nódulo de exemplo abaixo introduz um "Hello !" (Alô !) dançante a partir do "stage" (palco/cenário) bem nos "frames" (quadros) de 1 a 30. Conforme esse "Hello !" (Alô !) alcança o centro do palco/cenário, nós podemos imitar uma espécie de movimento com a câmera (falso) pela movimentação dessa Imagem de Tela/Paisagem para a esquerda, o que faz com que esse "Hello !" (Alô !) pareça esteja ainda se movimentando conforme a câmera se move com ele.


quadro 60)

Utilize o Nó de "Map Value" (Mapear Valor) para escalar o valor de X (da esquerda para a direita) e fazer um "offset" (deslocamento) que possa alimentar o Nó "Translate" (Traduzir/Trasladar). Note que os offset são utilizados para posicionar o "Hello!" (Alô !) dançante para diminuí-lo de maneira a fazer parecere como se ele estivesse andando em uma rua (dentro da Cena renderizada, ele está centralizado na câmera e simplesmente dança no lugar ). A "Matte" (Tela/Paisagem) é ajustada para imitar a altura da câmera de um observador, fazendo com que o horizonte esteja apontado para cima. Exemplo: "Shake, Rattle and Roll" (Sacudir, Chacoalhar e Rolar)

Um dos efeitos presentes no mundo Real e que pode ser usado é quando a câmera é sacudida. BOOM! Nós esperamos ter a sensação do impacto e ver que ele bate ou mexe com o nosso mundo. Dentro do nosso mundo virtual de CG, por assim dizer, nós estamos no vácuo do espaço. Portanto, nós temos que imitar a câmera sendo sacudida. Existem dois pontos dentro do ciclo de desenvolvimento para fazer isso: dentro do período da "Render-Scene" (Renderização da Cena) e durante o período de "Composite" (Composição). Durante o período de "Render-Scene" (Renderização da Cena) o modelador deverá introduzir uma curva IPO e "Keyframes" (Chaves de Quadro) que rotacione e/ou movam a câmera por um curto período de tempo. A Vantagem de fazer isso durante o período de "Render-scene" (Renderização da Cena) é que o artista pode manipular isso e o Editor não terá de se preocupar com isto; uma coisa a menos para fazer e agradecer a Deus :).. A desvantagem é que o artista pode estar somente o modelando os atores, e não a cena que será o pano de fundo para o acontecimento, seja ela com props, ou matte, portanto, qualquer efeito de sacudir que ele possa vir a introduzir pode não ser transferido para o conjunto da Cena em si, props ou para o Pano de Fundo. Portanto, é melhor introduzir o efeito de câmera sacudindo depois de todas as Cenas estarem prontas e renderizadas e no momento em que elas estão sendo compostas. Existem dois aspectos os quais devemos ressaltar para dramatizar estes efeitos, ou colocar rapidamente sobre o tripé. Ter uma explosão que aconteça próxima de você, estar em um Avião que possua uma pane enquanto está voando, ou uma Nau que tenha


saído para uma longa viagem pela praia, ou quando sobrevivemos a um terremoto: Os efeitos de "camera motion" (Moção/Movimento de Câmera) e "Image Blur" (Borrão de Imagem) são altamente recomendados para estudo. (Eu sei que você pode estar pensando sobre essas completivas, e não estar nem aí para isso, mas isso tudo é importante nas composições). O efeito de "Camera Motion" (Moção/Movimento de Câmera) acontece por que a câmera física é movida; mas a sua massa e o seu tripé também agem como um dispositivo de amortecimento, suavizando e absorvendo o tranco inicial. O "Cameramen" (Homem da câmera ou filmador) também age como um amortecimento, e também como um corretor, tentando fazer com que a câmera retorne para onde foi apontada originalmente (Objetivo Focal). Também pode haver um atraso entre o choque e a correção; por exemplo, um ator solitário/fimador pode tropeçar no tripé quando estiver saindo detrás da câmera, vir até o "frame" (quadro), descobrir que a câmera está desligada, e então voltar para corrigir isso e ligá-la novamente. Isso tudo depende do efeito artístico e da história que você quer contar. O efeito de "image blur" (Borrão de Imagem) entra em cena por que a sacudida acontece tão rapidamente que a Imagem é borrada na direção do tranco. Contudo, o borrão é maior quando a câmera está sendo empurrada de volta a sua posição, e menor quando a câmera está no extremo de sua deflexão, desde que ela esteja desacelerando no ápice do movimento. Bem como o movimento da câmera, o efeito de "blur" (borrão) é maior durante o choque inicial, e menor conforme as coisas desaceleram e ficam sob controle. Também, a câmera pode ficar fora de foco e voltar ao seu foco normal durante o fim do tranco/sacudida. Para utilizar os Nós do Blender de maneira a imitar a Moção de Câmera, utilize o Nódulo mostrado abaixo. O Nódulo possui um Grupo de "Blur" (Borrão) na parte de cima que alimenta um grupo do tipo "Translate" (Traduzir/Trasladar) logo abaixo dele.

SFX: Câmera Sacudindo


dentro do exemplo acima, nós utilizamos uma curva de tempo que imita a intensidade e duração de uma típico BOOM!. Neste caso, ambas as curvas possuem quatro picos dentro de um período de 16 "frames" (quadros) para poder fazer este BOOM! (de fato, uma curva foi construída e então duplicada para fazer a outra, para assegurar que o conjunto de ambas as curvas seja exatamente o mesmo). Note como a curva amortece (ela decresce em magnitude conforme o tempo progride) conforme mostrado acima. Você pode notar como as curvas diminuem de velocidade (aumentando o período) para imitar a figura do "cameraman" (Filmador/Home da câmera) fazendo com que ela retorne a estar sob controle. Você pode notar que a curva é sinusoidal para imitar uma sobre-correção e vibração. BOOM! Para a esquerda: A Curva de deslocamento inicia com a deflexão máxima de 0.5. que é uma metade cheia, e se move para baixo somente um quarto. Este deslocamento imita um BOOM! que vai para a nossa esquerda, pelo fato da câmera sacudir mais para a direita, para longe do BOOM! A Moção e o Borrão são os mesmos mas são diferentes: Você pode notar que as duas curvas são idênticas com a exceção dos pontos realçados de início e fim; Nós queremos um valor de "Blur" (Borrão) de zero 0 e um deslocamento de zero 0 antes e depois do tranco, mas um mínimo de "blur" (borrão) quando existir um máximo de "Translate" (Trasladação). As configurações para os dois Nós de "Map Value" (Mapear Valor) são diferentes para se conseguir isto; a matemática é deixada por conta do leitor. Utilize este nódulo do Blender para imitar o sacudir da câmera. O Montante de vibração/sacudida/ trancos é configurado pelos valores de "Size" (Tamanho) e o "Blur" (Borrão) deverá ser proporcional ao montante e direção do movimento (predominantemente X neste exemplo). Utilize o valor de "Time" (Tempo) de "start e end" (Início e fim) para variar a duração da vibração/sacudida/trancos; dez segundos para um terremoto, um minuto para uma Nau viajando pelas praias, meio segundo para quando um caça F-14 voa por perto e quase arranca os seus ouvidos. Nota do Autor: Eu percebi efeitos de sacudir/vibrar/trancos enquanto estava assistindo as prévias do Jogo Halo.

Nó "Rotate" (Rotacionar) Painel: Node Editor → Composite Nodes Menu: ⇧ ShiftA → Distort → Rotate

O Nó "Rotate" (Rotacionar)

Este Nó rotaciona uma Imagem. Valores positivos rotacionam em sentido horário e negativos rotacionam em sentido anti-horário.

Nó "Scale" (Escalar) Painel: Node Editor → Composite Nodes Menu: ⇧ ShiftA → Distort → Scale


Nó Escalar

Este Nó altera a escala de tamanho da Imagem. A escala pode ser tanto absoluta quanto relativa. Caso o alternador para o Modo Absoluto esteja ligado, você pode definir o tamanho de uma Imagem pela utilização de valores Reais em Pixels. No Modo Relativo, percentuais são utilizados. Por instância, valores de X: 0.50 e Y: 0.50 produzem Imagens nas quais a altura e largura deverão possuir metade do tamanho que elas tinham ao entrar no Nó. Quando estiver expandindo bastante uma Imagem, você vai querer que ela tenha algum tipo de "blur" (borrão) envolvido, de maneira que remova quadriculados resultantes da ampliação. A menos é claro que você queira este efeito; neste caso, ignore o que eu disse. Utilize este Nó para fazer com que Imagens de diferentes tamanhos sejam escaladas para o meso tamanho. A Maioria dos Nós produzem uma Imagem que é do mesmo tamanho que a Imagem de entrada para a sáida do seu soquete de cima. Portanto, caso você queira combinar duas Imagens de tamanhos diferentes de maneira uniforme, você deverá escalar a segunda para bater com a resolução da primeira.

Nó "Flip" (Virar/Inverter) Painel: Node Editor → Composite Nodes Menu: ⇧ ShiftA → Distort → Flip

O Nó "Flip" (Virar/Inverter)

Este Nó Vira/Inverte uma Imagem nos eixos definidos que podem ser tanto X ou Y. A operação de "Flip" (Girar/Inverter) também pode ser feita em ambos os eixos X e Y simultaneamente. Você pode utilizar este Nó para simplesmente virar/girar uma Imagem ou utilizá-lo como uma parte de configuração de espelhamento. Misture metade da Imagem que será espelhada com esta versão virada para produzir uma Imagem espelhada.

Nó "Displace" (Deslocamento)


Painel: Node Editor → Composite Nodes Menu: ⇧ ShiftA → Distort → Displace Já olhou para baixo na estrada em um dia de Sol ? Viu como a Imagem fica distorcida pelo ar quente ? Isso é por que a luz está sendo convertida pelo ar; o ar em si está agindo como uma lente. Este pequeno Nó bem bacana faz a mesma coisa; ele move os Pixels de uma Imagem de entrada com base em uma Máscara de vetor de entrada (a máscara de vetor imita o efeito de ar quente). Isso pode ser útil para muitas coisas, como imitar a distorção de ar quente, uma refração uja feita de maneira rápida (sem uso de IORs...) , a composição de fitas ao vivo atrás de objetos refratários que pareçam estar atrás de vidros inclinados,torcidos ou curvados ou blocos de vidro, e mais ! Lembre-se do que o personagem HAL viu em 2001:Uma odisseia no espaço; aquela Imagem distorcida em um ângulo muito aberto/grande? Sim, este nó pode aplicar uma máscara e transformar Imagens lisas/chata naquele tipo de Imagem/efeito. O montante do deslocamento dentro da direção de X e Y é determinado por estes fatores : • •

O valor dos canais das máscaras. A escala dos canais de Máscara.

O valor do Canal 1 (vermelho) determina o deslocamento ao longo do eixo X' para negativo ou positivo. O valor do Canal 2 (verde) determina o deslocamento ao longo do eixo Y para negativo ou positivo. Caso ambos os valores de escala sejam iguais (Ex: Uma Imagem em escala de cinza), a Imagem de entrada será deslocada igualmente em ambas as direções de X e Y, e também de acordo com os botões de escala de X e de escala de Y. Estes botões de escala agem como multiplicadores para aumentar ou diminuir a potência do deslocamento ao longo dos seus respectivos eixos. Eles necessitam ser configurados para valores não-zero para que o Nó possua algum efeito. Por causa disto, você pode utilizar o Nó "displace" (deslocamento) de três maneiras, com uma máscara em escala de cinza (mais fácil de ser pintada, ou de ser pega a partir de uma textura procedural), com um canal de vetor, ou a partir de uma Imagem RGB, como um passo normal, que irá deslocar os Pixels com base na direção do normal. Exemplo

Exemplo de Dirtorção feita a partir de uma Música para o Vídeo utilizando "Displace" (Deslocamento)


Neste exemplo, ela está cantando sobre sonhos do futuro. Então, para representar isto, nós utilizamos uma textura do tipo "clouds" (nuvens) se movimentando (a tomada de câmera foi pega simplesmente pela renderização de uma textura do tipo "Cloud" (Nuvem) em uma plano em movimento) como Mapa de delocamento. Agora, as cores na Imagem em preto e Branco que vão a partir de zero (preto) para um (branco), que, se forem alimentadas diretamente sem fazer nenhuma escala simplesmente iriam alterar os Pixels por uma posição são escladas. Portanto, nós escalamos o efeito delas na direção de X e Y. Durante a revisão da Imagem resultante, algumas vezes quando ela se estica em ambas as direções de X e Y, resulta na sua face parecendo maior (engordada), e todos nós podemos imaginar a sua reação por estar parecendo gorda na câmera. Nós podemos escalar a Imagem de maneira que ela tenha somente metade do máximo na direção de X para que a sua face se pareça longa e afinada. Nesse caso, uma simples Imagem não faria justiça ao efeito de animação conforme a Imagem com a Textura tipo "clouds" (nuvem) se moveu, e este simples nódulo não encaixaria bem a utilização de "blur" (borrão) e "overlays" (sobreposições) para melhorar (ou complicar) o efeito, mas as explicações são o coração do efeito, use conforme a sua Cena, e seu coração. As fotos são cortesia de Becca, não há direitos reservados. Veja também alguns filmes desse Nó em ação, feitos pelo Mago programador em si, seguindo este link externo (em inglês)

Nó de "Map UV" (Mapa UV) Painel: Node Editor → Composite Nodes Menu: ⇧ ShiftA → Distort → Map UV

Eu penso que todos nós concordamos que o problema muitas vezes é... que nós não sabemos exatamente o que queremos. O mesmo é verdade para a maior parte dos diretores :). Mesmo que façamos o melhor trabalho possível para executar a texturização de nossos modelos, na etapa de pós produção, inevitavelmente o diretor muda de opinião. "Amigo, eu realmente desejo que ele se pareça mais grosseiro/imperfeito. Quem fez a maquiagem, tem jeito ?" , isso vem como um comentário... Enquanto você acaba tendo um baita trabalho para fazer a colorização na etapa de pós-produção, existem limites. Bem, agora este pequeno Nódulo chegou e você tem de utilizar o seu poder para retexturizar seus Objetos depois que eles já foram renderizados. Sim, você leu isso, não é uma brincadeira e eu não estou doido, pelo menos, não hoje :-). A Utilização deste Nó (e tendo salvo o Mapa UM dentro de uma Imagem do tipo "Multilayer" (Multicamadas) em formato de sequencia de Imagens do tipo OpenEXR), você pode aplicar novas imagens achatadas/lisas de textura para todos os Objetos (ou então para Objetos individuais se você utilizar o útil e bacana ID Mask Node (Nó de Máscara de ID) para enumerar os seus Objetos) dentro da Cena. Forneça a Tarefa de "New UV Texture" (Nova Textura UV) para o soquete de Imagem, e o Mapa UV a partir da Cena renderizada para a entrada do soquete de UV. A Imagem resultante será a Imagem de entrada distorcida para bater com as coordenadas UV. Essa


Imagem poderá então ser misturada através de "overlay" (sobreposição) com a Imagem original para pintar a Textura por cima da original. Ajuste os valores de Alfa e fator de "Mix" (Mistura) para controlar com quanto de efeito a nova Textura irá se sobrepor a anterior. Claro, quando estiver pintando a nova Textura, ela ajuda a ter Mapas UV para os Objetos originais na Cena, então mantenha essas Texturas UV bem aparentes/salientadas mesmo depois que todos as tomadas estiverem prontas. Exemplos

Adicionando uma Grade de Texturas UV para "Motion Tracking" (Observação de Movimento)

No exemplo a direita, nós sobrepomos um padrão de grade por cima das duas cabeças de Emo depois que eles foram renderizados. Durante a renderização, nós habilitamos a "UV Layer" (Camada UV ) dentro da Aba de "RenderLayer" (Camadas de renderização) (Dentro da Janela de Botões, no contexto Render, dentro da Aba RenderLayer). Usando um Nó "mix" (mistura), nós misturamos a nova Textura UV sobre a face original. Nós podemos utilizar essa Textura de grade para ajudar com qualquer operação de "Motion Tracking" (Observação de Movimento) que precisarmos fazer.


Adicionando Texturas UV dentro da etapa de Pós-produção

Neste exemplo, nós sobrepomos uma bandeira por cima de uma coisa parecida com um cubo, e n´so asseguramos que o botão de "Alpha premultiply" (Pré-multiplicação de Alfa) ( ou Premul, para os íntimos ;) dentro do Nó "Mix" (Mistura). A bandeira é usada como uma Textura UV adicional por cima da grade. Outros exemplos incluem a possibilidade de que nós utilizemos uma caixa de produto ainda não autorizado durante a nossa animação inicial, na qual precisamos substituir os rótulos para um diferente patrocinador depois da renderização estar pronta. Claro que, este Nó NÃO dá aos diretores o poder para acelerar a renderização durante a etapa de pré-produção com desculpas do tipo Nós vamos consertar isso mais tarde, portanto talvez você não queira dizer a eles sobre este Nó. Vamos manter isso entre nós, por enquanto.;)

Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page

Nós para Filtros Os Filtros processam os Pixels de uma Imagem para realçar detalhes adicionais ou perfazer algum tipo de efeito de pós processamento na Imagem.

Nó tipo "Filter" (Filtro) Painel: Editor de Nós → Nós de composição Menu: ⇧ ShiftA → Filters → Filter

O Nó "Filter" (Filtro)

O Nó tipo "Filter" (Filtro) implementa diversos filtros de melhoramento de Imagens comuns. Os Filtros suportados são, caso não sejam óbvios, nomeados através dos uso dos nomes dos Gênios Matemáticos que os criaram: • •

"Soften" (Suavizar) – Borra a Imagem levemente. "Sharpen" (Aguçar) – Aumenta o contraste, especialmente nas "Edges" (Arestas).


• • • •

Laplace – Suaviza em torno das "Edges" (Arestas). Sobel – Cria Uma Imagem Negativa que realça as "Edges" (Arestas). Prewitt – Tenta aplicar o filtro tipo Sobel de maneira ainda melhor. Kirsch – Melhora mais ainda o trabalho feito por estes dois apresentados (Sobel e Prewitt) , resultando em uma mescla melhorada conforme você se aproxima de uma "Edge" (Aresta). "Shadow" (Sombra) – Perfaz um efeito de "bumpmap/emboss" (Mapa de Ressalto/relevo) aliviado, escurecendo as "Edges" (Arestas) que estão no lado de fora.

O Nó do tipo "Filter" (Filtro) possui 7 Modos, mostrados aqui.

Os filtros tipo "Soften" (Suavizar), Laplace, Sobel, Prewitt e Kirsch todos perfazem uma detecção de "Edge" (Arestas) (de maneiras levemente diferenciadas) com base em cálculos vetoriais e conjunto de teorias equacionais que irão preencher seis caixas pretas com jargões e expressões quase incompreensíveis. A sua leitura é recomendada para pessoas com insônia.

Nó "Blur" (Borrão) Painel: Editor de Nós → Nós de Composição Menu: ⇧ ShiftA → Filters → Blur

O Nó "Blur" (Borrão)

O Nó do tipo "Blur" (Borrão) executa o desfoque/borramento de uma Imagem, com a utilização de um dos 7 Modos de Borrar/desfocar presentes (configurados pela utilização do botão tipo Pop-Up que fica no canto de cima à esquerda), e um raio definido pelos botões numéricos X e Y. Por padrão, estes são configurados para 0 (Zero), portanto para que você habilite o "Node" (Nó) você deverá configurar um ou ambos com um valor maior do que 0 (Zero). Você pode opcionalmente conectar um


Valor de Imagem para o "Node" (Nó) do tipo "Size Input" (Entrada de Tamanho), para controlar o Raio do fator de Borrão/Desfoque com uma máscara. Os valores deverão ser mapeados entre 0-1 para um melhor efeito, por que estes serão multiplicados com os valores numéricos configurados nos botões numéricos X e Y. Opções

Os valores de X e Y são o número de Pixels sobre os quais o efeito de "Blur" (Borrão) irá se espalhar. O Botão Bokeh (visível somente como Bok ou Bo em algumas configurações de Telas) irá forçar a utilização de um Filtro radial circular de Borrão para o Nó do tipo "Blur" (Borrão). Isso resulta em qualidades mais altas, mas é mais lento do que fazer a utilização de um filtro normal. O Botão Gam (para "gamma") faz com que o Nó tipo "Blur" (Borrão) faça a correção de Gama da Imagem antes da aplicação do efeito de "Blur" (Borrão) na mesma.

Os Modos do Nó tipo "Blur" (Borrão) fazendo a utilização de 15% de tamanho da Imagem como valores para XY, sem as opções de Bokeh/Gamma. Clique para expandir e ver detalhes

A diferença entre eles é como eles fazem a manipulação das "Edges" (Arestas) mais salientes, suavizam as gradientes e preservam partes com valores Altos e Baixos. Os pontos salientados em particular (poder ser que você deva examinar mais de perto através da Imagem de Alta Resolução para perceber isto): A Opção de Filtro Flat simplesmente executa a operação de "blur" (borrar) todas as coisas uniformemente. A Opção de Filtro Tent preserva os altos e baixos melhor, perfazendo um decaimento linear. A Opção de Filtro Quadratic e CatRom mantém as "Edges" (Arestas) com contrastes nítidos. A Opção de Filtro Cubic e Mitch preserva os altos mas dá ao conjunto total uma espécie de "blur" (borrão) fora-de-foco enquanto suaviza as "Edges" (Arestas) mais salientes. Exemplo

Um arquivo Blender de exemplo, de fato aquele que foi utilizado para criar a Imagem acima, está disponível aqui. O arquivo Blender pega uma Imagem a partir do "RenderLayer" (Camada de Renderização) chamado "Blurs" e executa a operação de "blur" (borrar) enquanto está fazendo um "offset" (deslocamento) para ela utilizando Translate e então a combina com AlphaOver para construir a sequência progressiva de


"blur" (borrão). Mexa um pouco com os Nós de "Value" (Valor) e "Multiply" (Multiplicar) para alterar a quantidade de fator de "blur" (borrão) que cada algoritmo faz e ter uma maior noção.

Nó de "Bilateral Blur" (Borrão Bilateral) Painel: Editor de Nós → Nós de Composição Menu: ⇧ ShiftA → Filters → Bilateral Blur

O Nó de Bilateral Blur

O Nó do tipo "Bilateral Blur" (Borrão Bilateral) perfaz uma operação de borrão adaptativa de alta qualidade na Imagem de fonte. Ele pode ser utilizado para diversos propósitos como : Suavizar os resultados obtidos pela Oclusão de Ambiente por Raytracer do Blender. Suavizar os resultados a partir de diversos renderizadores do tipo Unbiased, Imitar de certa maneira, a performance de processos muito pesados como Reflexões/Refrações borradas e Sombras suaves, Para fazer efeitos de composição não-realísticos. "Inputs" (Entradas)

O Nó do tipo "Bilateral blur" (Borrão Bilateral) possui duas entradas: A Imagem, para a Imagem que será borrada. Um "Determinator" (Determinador), que é não obrigatório, e somente é utilizado se estiver conectado.

Caso comente a 1º (primeira entrada) esteja conectada, O Nó causa o efeito de "blur" (Borrão) na Imagem dependendo das "Edges" (Arestas) presentes na Imagem de entrada. Caso o determinador esteja conectado, ele serve como a entrada para a definição de "Edges/Borders" (Arestas) para o efeito de "Blur" (Borrão) dentro da Imagem. Isto possui uma grande vantagem no caso da Imagem de "source" (fonte) estar com muitos ruídos, mas aonde as suas Normais em combinação com o Zbuffer ainda podem definir exatamente as "Edges/Borders" (Arestas) dos Objetos.


Opções

Iterations → definie quantas vezes o filtro deverá perfazer a operação na Imagem. Ele praticamente define o raio de "blur" (borrão). Color Sigma → define o limiar para que as diferenças de cores na Imagem sejam definidas como "Edges" (Arestas). Space sigma → É uma variável de ajuste fino para o Raio do "blur" (borrão). Exemplos

Sombra tipo Buffered suavizada com o Nó Bilateral Blur

Ambient Occlusion suavizado com o Nó Bilateral Blur


Imitação de Refração borrada/desfocada + Sombra do tipo Raytracer suavizada

Nó de Vector Blur (Motion Blur) Painel: Editor de Nós → Nós de Composição Menu: ⇧ ShiftA → Filters → Vector Blur

O Nó do tipo Vector Blur

O efeito de "Motion blur" (Borrão de movimento) é o efeito de causado por Objetos que se movem tão rápidos que começam a borrar desfocar, pelo fato de seus Olhos não conseguirem mais definir os seus movimentos com a velocidade necessária, portanto, as cores são misturadas. Pelo fato das animações em CG → computação gráfica trabalharem pela renderização de "frames" (quadros) individuais, elas não possuem conhecimento real desse tipo de referência do que estava em que lugar no último quadro, e onde realmente o Objeto está posicionado agora, para estimar algum tipo de velocidade entre o ponto anterior e o atual, e traduzir isso de maneira Visual, resultando em uma animação sempre focada e precisa no ponto em que o Objeto se encontra. No Blender, existem duas maneiras de produzir o efeito de "Motion Blur" (Borrão de Movimento). O primeiro método (e que produz os resultados mais corretos) trabalha pela renderização de um único quadro até 16 vezes com leves deslocamentos de tempo, e então, acumula essas Imagens em conjunto, fazendo as misturas necessárias; Isto é chamado de "Motion Blur" (Borrão de Movimento), e é ativado dentro do Painel de


Renderização. O segundo método, ( e muito mais rápido) é o Método de utilização do Nó de Composição do tipo "Vector Blur" (Borrão de Vetor). Para utilizar, conecte os passos apropriados a partir de um Nó do tipo "Render Result" (Resultado da Renderização). Nota Tenha certeza de ter habilitado dentro do Painel de "Render Layers" (Camadas de renderização) o fator "Speed" (Velocidade) (chamado de Vec) para os passos de "Render Layer" (Camada de Renderização) nos quais você quer perfazer o efeito de "Motion Blur" (Borrão de Movimento).

"Maximum Speed" (Velocidade Máxima) Por causa da Maneira com a qual o "Vector Blur" (Borrão de Vetor) trabalha, ele pode produzir faixas, linhas e outros artefatos. Em sua maior parte eles advém de Pixels que se movem muito rapidamente; para combater estes problemas, o filtro possui configurações para as velocidades Máxima e Mínima , que podem ser utilizados para limitar quais os Pixels que deverão ser borrados/desfocados. (Por exemplo, para o caso de um Pixel estar se movendo realmente muito rápido, e você tenha configurado uma velocidade máxima para um montante moderado, ele não será então borrado/desfocado).

"Minimum Speed" (Velocidade Mínima) Especialmente quando a câmera em si está se movendo, a máscara criada pelo Nó do tipo "Vector Blur" (Borrão de Vetor) pode ser tornar a Imagem como um todo (borrando/desfocando a cena como um todo). Uma solução bem simples é introduzir um pequeno limiar para os Pixels que se movem, o que pode eficientemente separar os Pixels que estão se movendo muito rapidamente dos que estão se movendo mais lentamente, e então criar máscaras que tenham uma boa aparência. Você pode encontrar essa nova opção como sendo a sua 'velocidade mínima' . Esta Velocidade Mínima' é expressada em Unidades de Pixels. UM Valor por exemplo de 3 poderá criar de cara uma separação entre o "background" (plano de fundo) do "foreground" (plano frontal).

Dica Você pode fazer com que os resultados do "Vector Blur" (Borrão de Vetor) sejam um pouco mais suaves caso passe o passo de "Speed" (Velocidade) através de um Nó do tipo "Blur" (Borrão) (mas note que isso também pode ter resultados estranhos, portanto só é realmente apropriado para Imagens estáticas com uma quantidade imensa de "Motion Blur" (Borrão de Movimentos).

Exemplos

Uma observação mais aprofundada de como fazer a utilização do Nó do tipo "Vector Blur" (Borrão de Vetor) pode ser encontrada aqui (em inglês).


Até onde sabemos, este Nó representa uma nova abordagem para o cálculo de Motion blur. Você pode utilizar o "Vector Blur" (Borrão de Vetor) dentro das suas Composições com confiança ao invés do "Motion Blur" (Borrão de Movimentos). Dentro da Face, quando estiver fazendo a composição de Imagens, é necessário utilizar o "Vector Blur" (Borrão de Vetor) desde que não haja uma movimentação "real". Neste arquivo de exemplo Blender, você irá encontrar uma mão já pronta com um arranjo se movimentando para baixo para pegar uma bola. Com base em como a mão está se movendo, (estes vetores), a Imagem é borrada/desfocada nesta direção. Os dedos mais próximos da Câmera (com o menor valor de Z) são mais borrados/desfocados, e os que estão com uma distância maior (o antebraço) são menos borrados/desfocados. Problemas conhecidos Para a Versão de produção do Blender Blender 2.44+ , o Nó não funciona quando estiver fazendo a leitura a partir de um conjunto de sequências de arquivos 'OpenEXR com "Multilayer" (Multicamadas).

Nó de "Dilate/Erode" (Dilatar/Erodir) Painel: Editor de Nós → Nós de Composição Menu: ⇧ ShiftA → Filters → Dilate/Erode

O Nó de "Dilate/Erode" (Dilatar/Erodir)

Este Nó executa um "Blur" (Borrão) em canais de cores individuais. O Canal de Cor, ( ou uma Imagem em Preto e Branco) é conectado ao soquete de entrada de "Mask" (Máscara), e a configuração de "Distance" (Distância) é configurada manualmente (por clicar nas setas ou nos valores) ou automaticamente a partir de um Nó do tipo "Value" (Valor) ou um Nódulo montado pela combinação "time-and-map-value" (tempo-emapa-de-valores). Um Valor positivo para "Distance" (Distância) expande a influência de um Pixel para ose seus Pixels avizinhados. Um valor negativo provoca uma erosão em sua influência, e portanto aumenta o contraste desse Pixel com relação aos seus Pixels avizinhados, portanto salientando-o relativamente aos seus Pixels avizinhados de mesma cor.


Exemplo

Um Tingimento de Magenta

No exemplo de Imagem acima, nós queríamos pegar o conjunto de esferas de rolamento meio sem graça e fazer com que eles fossem ressaltados; Faça com que elas fiquem quentes, meu bem ! Portanto, nós dilatamos o vermelho e erodimos o verde, deixando o azul intocado. Caso nós tivéssemos dilatado ambas as cores vermelho e verde...(Dica: vermelho e verde resultam e amarelo). A quantidade de influência é aumentada pela ação de aumentar os valores presentes em "Distance" (Distância). Arquivo Blender de exemplo disponível para Download aqui.

"Defocus" (Desfocar) Painel: Node Editor → Nós de Composição Menu: ⇧ ShiftA → Filters → Defocus Este único Nó pode ser utilizado para a emulação de "Depht Of Field → DOF" (Campo de Profundidade) utilizando um método de pós processamento. Ele também pode ser utilizado para borrar a Imagem de outras maneiras, não necessariamente com base em uma profundidade, mas pela conexão de alguma coisa diferente de um "Zbuffer" (Buffer de profundidade em Z). Em essência, este nó borra áreas de uma Imagem com base em um mapa/máscara de entrada de "ZBuffer" (Buffer de profundidade em Z). Configurações de Câmera

A configuração de DofDist para a câmera.


O Nó do tipo "Defocus" (Desfocar) utiliza os dados atuais da câmera dentro de sua Cena caso sejm alimentados por um Nó de "RenderLayer" (Camada de Renderização). Para configurar o ponto de foco, a câmera agora possui um parâmetro chamado DoFDist, o que é uma abreviatura de "Depth of Field Distance" (Distância de Campo de Profundidade). Utilize este parâmetro de câmera para configurar o plano focal da câmera (Os Objetos que estão no plano do valor de DoFDist (em unidades Blender) de distância da câmera estarão dentro do foco). Configure o valor de DofDist dentro do Painel de edição principal de Camera; o botão está bem abaixo do botão de valor Lens. Para fazer com que o ponto focal seja visível, habilite a opção de mostrar os limites da câmera Limits, e aparecerá uma linha a partir da câmera para demonstração dos valores, o ponto focal então será visível como uma cruz amarela ao longo da direção de visualização da câmera. "Input Node" (Nó de Entrada)

Nó Defocus

O Nó requer duas entradas, uma de Imagem e uma de Zbuffer, e a última atuamente não necessita ser necessariamente um Zbuffer, mas poderá ser por exemplo uma outra Imagem em "grayscale" (escala de cinza) para ser usada como uma máscara, ou uma entrada de valor único, por instância a partir de um "Time Node" (Nó de Tempo), para variar o efeito conforme o tempo. Configuração do Nó

As configurações para este Nó são: Menu Bokeh Type Aqui você configura o número de lâminas de íris do diafragma da câmera virtual. Isso pode ser configurado para ser um círculo perfeito ("Disk" (Disco)) ou ele pode ser configurado para ter um valor de 3 (Triângulo), 4 (Quadrado), 5 (Pentágono), 6


(Hexágono), 7 (Heptágono) ou 8 lâminas (Octágono). A razão pela qual ele tenha valores mais altos que 8 para serem configurados é que a partir desse ponto, os resultados tendem a serem indistinguíveis com relação à um formato do tipo "Disk" (Disco). "Rotate" (Rotacionar) Este botão não estará visível caso a configuração de Bokeh Type esteja acertada para o tipo "Disk" (Disco). Isso pode ser utilizado para adicionar uma rotação de ponto de partida adicional (um Offset) para o formato do tipo 'Bokeh. O Valor a ser especificado é de ângulos em graus. "Gamma Correct" (Correção de Gama) Exatamente a mesma coisa que a opção Gamma existente em geral dentro do Nó de "Blur" (Borrão). Isso pode ser útil para clarear posteriormente um pouco certas partes da Imagem, acentuando o efeito provido pela opção Bokeh.

O Nó Defocus utilizando Z-Buffer fStop Este é o parâmetro mais importante para controlar a quantidade de "Focal Blur" (Borrão Focal): ele estimula a abertura de f de uma Lente Real('iris') – sem modificar a luminosidade da figura, contudo ! Bem como em uma câmera do mundo Real, quanto menor este número for, mais aberta a íris da lente será, e raso o "Depth Of Field"


(Campo de Profundidade) será. O Valor padrão de 128 – assume-se que ser o infinito; isto significa que todas as coisas estarão em foco perfeito. Metade desse valor (64) irá duplicar a quantidade de "blur" (borrão). Este botão não está disponível caso a opção No ZBuffer esteja habilitada. "Maxblur" (Máximo de Borrão) Utilize isto para limitar a quantidade de "Blur" (Borrão) das partes que estão mais fora de foco em sua Imagem. O Valor é o raio máximo de atuação do "Blur" (Borrão) permitido. Isto pode ser útil a partir do momento em que o processo atual de "Blur" (Borrão) se tornar muito lento. (Quanto mais "Blur" (Borrão) mais lento o processo se torna.) Portanto, configurando este valor pode ajudar a diminuir o tempo de processamento, como por instância quando o "Background" (Plano de Fundo) do "World" (Ambiente) do Blender está visível para a Cena, o que em geral tende a ser o ponto máximo de "Blur" (Borrão) (isso nem sempre é verdade, pois os Objetos que estão muito próximos das lentes também tendem a ter um fator de "Blur" (Borrão) maior ainda.) O Valor padrão de 0 significa que não há um limite máximo para a quantidade de "Blur" (Borrão). "BThreshold" (Ajuste do Borrão) O Nó "Defocus" (Desfoque) não é perfeito: alguns artefatos podem ocorrer. Um desses exemplos é quando há Objetos em foco na frente de um "Background" (Plano de fundo) que já está desfocado/borrado, o que possui a tendência de sangrar nos cantos/arestas do Objeto que está mais nítido/bem cortado. O cenário de pior caso é um Objeto que está em foco contra um "background" (plano de fundo) que está muito distante: as diferenças na distância são muito grandes e o resultado pode ficar parecer bem ruim. O Nó tenta evitar essa ocorrência testando o ambiente para saber se a diferença de "Blur" (Borrão) entre os Pixels não é muito larga , o valor configurado aqui controla quão largo essa diferença de "Blur" (Borrão) pode ser para considerá-la segura. Isto tudo pode parecer um tanto quanto confuso, mas contudo, geralmente, não há tantos casos assim em que seja necessário alterar a configuração padrão de valor 1. Somente tente alterar isto se você experienciar problemas em torno de muitos Objetos que estão dentro do foco. "Preview" (Pré-visualização) Como já fora mencionado, o processamento pode ser tornar longo, tomando um grande período de tempo. Portanto para ajudar a fazer com que a edição de parâmetros seja alguma coisa mais próximoa do interativo, existe um modo de "Prévisualização" ({{{2}}}) o qual você pode habilitar com este botão. O Modo de "Preview" (Pré-visualização) irá renderizar o resultado utilizando uma quantidade limitada de amostras (quase) randômicas, o que é muito mais rápido do que a utilização do modo perfeito utilizado em contrapartida. O modo de amostragem também tende a produzir imagens granuladas e com um pouco de ruído (ainda assim, quanto mais "samples" (amostras) você utilizar, menos granulado e menos ruído terá o resultado). Esta opção está ligada por padrão. Brinque um pouco com outros parâmetros até que você esteja


feliz com os resultados obtidos, e somente então desabilite o Modo de "Preview" (Prévisualização) para a renderização final. "Samples" (Amostras) Isso somente fica visível quando o Modo de "Preview" (Pré-visualização) está configurado. Configure o montante de "samples" (amostras) para utilizar nas amostragens das partes da Imagem. Quanto mais alto, maus suavizada será a Imagem, mas também mais longo será o tempo de processamento. Para o Modo de "Preview" (Pré-visualização), o padrão de 16 "samples" (amostras) deverá ser suficiente e também será o mais rápido. No zbuffer Algumas vezes você pode querer obter mais controle para o "blur" (borrão) da Imagem. Por instância, você pode querer somente borrar um Objeto enquanto deixa todas as outras coisas intocadas (ou o contrário, com somente um Objeto em foco), ou você pode querer borrar a Imagem como um todo de uma única vez uniformemente. O Nó, dentro desse âmbito permite a você a utilização de alguma coisa diferente do que o atual Zbuffer como a entrada do valor de Z. Por instância, você pode conectar um Nó de Imagem e utilizar uma Imagem em "Grayscale" (Escala de cinza) aonde a cor designa o quanto a imagem deverá ser borrada em determinados pontos, aonde o branco significa o valor máximo (borrar ao máximo) e o preto significa manter focado (a parte ficará na nitidez que o renderizador entregar). Ou, você poderia utilizar um Nó do tipo "Time" (Tempo) para borrar uniformemente toda a Imagem, aonde o valor especificado dentro do valor de "time" (tempo) controlaria o valor máximo do borrão para aquele quadro. Isso também pode ser utilizado para obter um possivelmente DoF Blur levemente melhorado, pela utilização de uma profundidade falsa de uma Imagem de sombra ao invés de um Zbuffer. (Um método típico para criar a Imagem de sombra de falsa profundidade seria a utilização de uma Textura tipo "Blend" (Mescla) em modo linear para todos os Objetos dentro da Cena, ou pela utilização de um método de criação de sombra falsa utilizando a função de fog/mist, presente no Blender.) Isto também possui a vantagem de que a Imagem de falsa profundidade pode possuir um fator de "anti-aliasing" (anti-serrilhado), o que não é possível com um Zbuffer real. A opção "No zbuffer" será habilitada automaticamente toda vez que você conectar um Nó que não é baseado em Imagens para entrada (Exemplo: Nós do tipo time/value node/, etc). Zscale Somente Visível quando a opção No zbuffer está habilitada. Quando No zbuffer é utilizado, a entrada é usada diretamente para controlar o raio de "blur" (borrão). E pelo fato de que usualmente o valor de uma Textura têm seus valores totais dentro do campo numérico compreendido 0.0 e 1.0, o seu campo é muito restrito para controlar o fator de "blur" (borrão) de maneira apropriada. Então este parâmetro pode ser utilizado para expandir o campo de entrada (ou pela ordem da razão, também reduzilo também, configurando o seu valor para algo menor que 1). Então, para a opção de


No zbuffer, este parâemtro portanto se torna o principal controle do fator de "blur" (borrão) (similar ao funcionamento do fStop, quando você utiliza um Zbuffer). Exemplos

Neste arquivo de exemplo Blender, a Imagem de um array ou matriz de esferas está borrado como se estivesse sido fotografado por uma câmera com um fator de f-stop de 2.8, resultadno em uma profundidade bem rasa de campo de foco, centrado em 7.5 Unidades Blender a partir do ponto inicial da câmera. Conforme as esferas se espalham pela distância, elas ficam mais borradas. Dicas Pré-Visualização Em geral, utilize o Modo de "Preview" (Pré-Visualização), altere os parâmetros para a maneira que você achar melhor, e somente desabilite o Modo de "Preview" (Prévisualização) para a renderização final. Este Nó é computacionalmente intensivo, portanto observe a sua Janela de Console, e ela lhe fornecerá o Status conforme ela computa cada linha de escaneamento de renderização. Artefatos em Arestas Para artefatos mínimos na Imagem final, tente configurar a sua Cena de maneira que as diferenças dentro das distâncias entre os dois Objetos que podem provavelmente se sobrepor em algum ponto, não sejam muito largas. "Empurrar o Foco" tenha em mente de que isso não é um DoF 'real', somente uma simulação conseguida através de pós-processamento. Algumas coisas não poderão ser feitas o que não seria um problema para o DoF na vida 'real' como um todo. Um exemplo típico é uma "Scene" (Cena) com algum Objeto muito próximo da câmera, e a câmera focando em algum ponto bem distante dele. No mundo 'real', utilizando um campo de profundidade bem raso, não é possível para Objetos que estão mais próximos serem completamente invisíveis, em efeito permitindo que a câmera veja através deles. Os cinematógrafos de Hollywood utilizam essa característica visual para dar um bom efeito e conseguir o popular efeito de "Empurrão de Foco", aonde o foco se alterna de um Objeto mais próximo para um Objeto mais distante, de maneira que o outro


Objeto apareça enquanto todo o restante desapareça. Bem, isto é simplesmente impossível de fazer com o método corrente de pós-processamento em um único passo. Caso você realmente queira obter este efeito, de maneira satisfatória, aqui explicamos como: Divida a sua "Scene" (Cena) em Objetos que são mais próximos e mais distantes, e os renderize em dois passos. • Agora, combine os dois em dois resultados, cada qual com seus próprios Nós do tipo "Defocus" (Desfoque), guiados pelo mesmo Nó do tipo "Time" (Tempo), mas com um deles invertido. (Exemplo: utilizando um Nó do tipo "Map Value" (Mapa de Valor) com um tamanho de -1.) Conforme o Nó de "Defocus" (Desfoque) de uma delas aumenta, o Nó de "Defocus" (Desfoque) na outra decresce no mesmo passo, criando uma transição suave. Serrilhado em Valores baixos de f-Stop Em valores muito baixos, menores que 5, o Nó irá começar a remover quaisquer tratamentos do tipo oversampling (para "Anti-Aliasing" (Anti-Serrilhado) e vai dar aos Objetos presentes na DoFDist uma aparência bem rigida do foco, eliminando o "antialiasing" (anti-serrilhado). Caso o Objeto esteja contra um "background" (plano de fundo) contrastante, isso pode levar a um serrilhado parecido com uma verdadeira escadaria (aliasing), o que a função de OSA é justamente desenhada para evitar. Caso você tenha esse problema: •

Faça o seu próprio tratamento de OSA pela renderização da Imagem com o dobro de tamanho, e depois a reescale para uma resolução mais baixa, de maneira que os Pixels adjacentes sejam borrados em conjunto pela redução da Imagem ou por tratamento. • Utilize o Nó de "Blur" (Borrão) com uma configuração de 2 para X e Y. • Configure DoFDist um pouco mais distante, para que o Objeto em foco seja borrado pelo menos um pouco, levemente. • Utilize um valor mais alto de f-Stop, o que irá iniciar o "blur" (borrão), e então utilize o soquete de Z ligado a um Nó de "Map Value" (Mapa de Valor) e depois à um Nó do tipo "Blur" (Borrão) para melhorar o efeito de "Blur" (Borrão). • Reorganize os Objetos dentro de sua "Scene" (Cena) para utilizar um "background" (plano de fundo) com um contraste mais baixo. •

No ZBuffer Uma palavra final de aviso, pelo fato de não haver maneiras de detectar se um Zbuffer atual está conectado ao Nó, seja MUITO muito cuidadoso com a chave de liga/desliga "No ZBuffer". Caso p valor de Zscale esteja alto, e você tenha se esquecido de voltar esse valor para algum valor mais baixo, os valores podem repentinamente ser interpretados como valores gigantescos de "Blur Radius" (Raio de borrão), e isso vai fazer com que os tempos de processamento praticamente explodam desnecessariamente. Category: Nodes


Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page

"Matte Nodes" (Nós de Tela) Nota sobre determinados termos Esta seção do Manual destina-se a fornecer informações sobre os "Nodes" (Nós) que podem ser utilizados para técnicas conhecidas como "ChromaKey" (Chave de Cor) e "Lumma Key" (Chave de Luminância), portanto, quando se fala em cores do tipo "Keyed" (Chaveada) estamos falando justamente sobre a cor que está sendo utilizada para a Chave de Cor que irá transparecer o plano de fundo através do plano frontal, Idem para Luminância, como "Lumma Key" (Chave de Luminância).

Estes Nós dão a você as ferramentas essenciais para trabalhar com filmagens em Telas do tipo "Green-Screen" (Tela Verde) ou "Blue-Screen" (Tela Azul), aonde a ação ao vivo é gravada/tomada na frente de um fundo Verde ou Azul para que seja substituído com uma Tela pintada, ou um "Background" (Plano de Fundo) Virtual.. Em Geral, atrele estes Nós à um Nó do tipo "Viewer" (Visualizador), configure o seu Editor de Imagens/UV para mostrar o Nó do tipo "Viewer" (Visualizador), e mexa um pouco com os deslizadores em Tempo Real utilizando uma Imagem de amostra/exemplo da filmagem, para conseguir acertar as configurações. Em alguns casos, pequenos ajustes podem eliminar artefatos ou degradação da Imagem de "Foreground" (Plano Frontal). Por exemplo, tirando muito do verde pode resultar nos atores presentes dentro do "foreground" (Plano Frontal) parecendo achatados ou então azulados/avermelhados. Você pode e deve atrelar estes Nós em conjunto dentro de uma corrente, refinando a sua correção de cores em refinamentos sucessivos, utilizando as configurações mais importantes/relevantes para a funcionalidade de cada Nó para que operem na saída do Nó previamente utilizado. Não há uma configuração ou Nó que faça O serviço de uma vez em um passo ou do tipo Compra rápida; eles trabalham melhor quando estão em combinação. Usualmente, as filmagens feitas com "Green Screen" (Tela Verde) são feitas dentro de um palco ou estúdio com iluminação consistente de tomada a tomada, portanto as mesmas configurações irão funcionar sobre múltiplas passadas de filmagem do tipo "Raw" (Bruta) ou No Estado. As filmagens que são tomadas externamente debaixo de variadas condições de iluminação ( e vento soprando no "background" (Plano de fundo) irão complicar as coisas para configuradas adequadamente e demandam valores de "falloff" (decaimento) mais baixos. "Garbage Matte" (Tela de Descarte/Sacrifício) A "Garbage Matte" (Tela de Descarte/Sacrifício) não é um Nó exatamente, mas uma técnica aonde o "foreground" (plano frontal) sofre um "Outline" (Contorno/Delineado) utilizando uma curva fechada (pode ser Bézier ou NURBS). Somente a área que está contida dentro da curva é


processada utilizando estes "Matte Nodes" (Nós de Telas) ; qualquer outra coisa é considerado descarte e portanto é descartado.

= "Difference Key Node" (Nó de Diferença de Chave) Painel: Editor de Nós → Nós de Composição Menu: ⇧ ShiftA → Mattes → Difference Key

O Nó Difference Key

O "Difference Key Node" (Nó de Diferença de Chave) determina quão diferente cada canal está a partir de determinada chave dentro do Espaço de Cores selecionado. Caso as diferenças estejam abaixo de um determinado "threshold" (limiar) definido pelo usuário, então o Pixel é considerado transparente. O "Difference Key Node" (Nó de Diferença de Chave) para as Telas não se apoia sobre uma determinada Cor de "background" (plano de fundo) , mas pode possuir resultados que não são os melhores caso haja uma quantidade significante de cor de "backgound" (plano de fundo) dentro do Objeto de "foreground" (plano frontal). Existem duas entradas para este Nó. • •

A primeira é uma entrada de Imagem que deverá ser "keyed" (chaveada). A "Key Color" (Chave de Cor) pode ser entrada como um valor RGB ou selecionada com a utilização do pegador de cores ( color picker) , clicando-se na caixa "Key Color" (Chave de Cor) para fazer com que a caixa de diálogo de cores apareça, e então clicando-se na ferramenta "eye dropper" (conta-gotas) e selecionado uma cor.

Os espaços de Cor selecionáveis são RGB (padrão), HSV, YUV, e YCbCr. Você pode ajustar a tolerância de cada cor dentro de espaço de cores individualmente para que você tenha uma variação mais para o Azul ou para o Verde dentro do que você deverá permitir que seja transparente. Eu consegui descobrir que um valor entre 0.15 (ou 15%) cobre grande parte das variações de cores caso o "background" (plano de


fundo) tenha uma iluminação bem distribuída. Qualquer aumento que seja feito para compensar maiores diferenças de iluminação do "background" (plano de fundo) e você correrá o risco de estar atravessando as variações das cores do "foreground" (plano Frontal). Quando o valor de "Falloff" (Decaimento) é alto, os Pixels que estão próximos da "Key Color" (Cor chaveada) são mais transparentes do que os Pixels que não estão tão próximos quanto os da "Key Color" (Chave de Cor) (mas ainda assim são considerados próximos o suficiente para serem chaveados). Quando o valor de "Falloff" (Decaimento) é baixo, não importa quão próximo a cor do Pixel da Imagem) esteja com relação a "Key Color" (Chave de Cor), ele será transparente. As saídas para este Nó são compostas de uma Imagem com um canal Alfa ajustado para a seleção chaveada e Imagens em Preto e Branco para formar uma Máscara para ser utilizada com a sua "Matte" (Tela) (ou seja, a máscara Alfa). Exemplo Simples

Utilizando o Nó de "Difference Key" (Diferença de Chave)

Dentro do exemplo à direita, (clique para expandir), nós temos um Cubo na Cor Roxo com tonalidades de Amarelo Marmorizado de frente com uma "Green Screen" (Tela Verde) que não está iluminada de maneira bem distribuída. Nós iniciamos a construção de nosso nódulo por fazer a "threading" (tarefa) de passar a Imagem para um Nó de "Difference key" (Chave de Diferença), e com a utilização do "eyedropper" (Conta gotas), pegamos uma cor que está bem próxima a das arestas do cubo, em torno do que é uma espécie de Halo que está ao seu redor no lado esquerdo; um verde muito mais claro. Nós passamos a "thread" (tarefa) para dois Nós do tipo "Viewer" (Visualizador) a partir dos soquetes de "output" (saída) para que possamos ver o que ( se caso alguma coisa esteja acontecendo) o Nó está fazendo. Nós adicionamos um Nó do tipo "AlphaOver" (Alfa Sobre), fazendo com que a tarefa do "Matte Node" (Nó de Tela) seja conectada ao soquete de CIMA e a Imagem seja conectada ao soquete de BAIXO. Muito importante, porque nesse caso a ordem de multiplicação importa, ou seja 0 vezes Azul não é igual Azul vezes 0. Você sempre irá querer que a sua máscara entre pelo soquete de cima do Nó de "AlphaOver" (Alfa Sobre). A opção de "Premultiply" (PréMultiplicação) está configurada e uma multiplicação plena está ligada de maneira que possamos remover completamente a cor Verde. Neste exemplo, nós aplicanos a "thread" (tarefa) para a "output" (saída) do Nó de "Alphaover" (Alfa Sobre) de maneira que possamos dividir a visão para um Nó do tipo "SplitViewer" (Dividir Visualização) para que possamos comparar os nossos resultados; o original tem a sua "thread" (tarefa) para a base de entrada do Nó de "SplitViewer" (Dividir Visualização), de maneira que o original fique ao lado esquerdo e o processado fique no lado direito.


Nós configuramos o nosso fator de "Variance" (Variação) para 0.15, para ver o que conseguimos. O que nós conseguimos (e que não está sendo mostrado nesta Imagem de exemplo) é uma "Matte" (Tela) que faz uma máscara em torno do Cubo, mas não ao na direita e em torno das arestas aonde a tonalidade do Verde está mais escura; esta tonalidade está muito distante da nossa "Key Color" (Chave de Cor). Portanto, desde que seja somente o Verde e suas variações o que queremos retirar da Imagem, nós podemos aumentar o valor de variação de Verde para 1.00 (e que não está sendo mostrado nesta Imagem de exemplo). Ufa ! Toda a Cor verde desapareceu (todos os verdes com uma variação de 100% de nossa Cor de chaveamento Verde significa TODO o verde), juntamente com os que estavam na parte de cima da caixa ! Não ficou legal. Portanto, nós iniciamos um decréscimo no fator de "Variance" (Variação) até que conseguimos fechar este caso com um Valor de 55% de variação, ou 0.55 de valor (mostrado na Imagem). Exemplo de Encadeamento

Encadeando Nós de "Difference Key" (Chaves de Diferença)

Nós tivemos que pagar os Olhos da Cara para o nosso talentoso (e bastante egoísta, podemos adicionar) “Senhor Cubo” para vir ao estúdio e fazer algumas tomadas. Nós dissemos a ele para “NÃO” vestir um terno Verde, mas quando nós olhamos para a nossa filmagem, aquela surpresa de sempre, lá está ele vestido com um Terno Verde de listra. Quando nós utilizamos o nosso simples nódulo, as litras verdes em suas vestimentas se converteram em Alfa (transparência), e o "background" (plano de fundo) da praia estava sendo mostrado através dele. Então, nós tentamos contatá-lo, mas era tarde demais, ele já estava voltando para “Santa Mônica” e não estava em seu contrato e não fora uma falha sua, depois de tudo, nós supomos que possuíamos tudo “naquele” software de Pós-Produção “super bacana”, etc,etc,etc e ele travou direto. Geez (Jesus), estes atores só dão trabalho..... Então, nós encadeamos estes dois Nós de "Difference Key" (Chaves de Diferença) como mostrado a direita, e o problema foi resolvido. O que nós fizemos foi baixar o percentual de variação no primeiro para a remoção de um pouco do Verde, então conectamos a tarefa para um segundo Nó de "Difference Key" (Chave de Diferença) (o que fica na parte de baixo), aonde nós utilizamos as amostras de verde mais próximas


do lado onde está a sombra e nas arestas da parte de fora do Cubo. Pelo fato de manter os dois valores de "Variance" (Variação) baixos, nada do seu terno Verde foi afetado; Esta "Shade" (Tonalidade) está fora das tolerâncias de variação das Chaves para +/-.

Nó de "Chroma Key" (Chave de Cor) Painel: Editor de Nós → Nós de Composição Menu: ⇧ ShiftA → Mattes → Chroma Key

O Nó de "Chroma Key" (Chave de Cor)

O Nó de "Chroma Key" (Chave de Cor) determina se um Pixel está no "background" (plano de fundo) ou no "foreground" (plano frontal ) (e portanto deverá ser transparente) com base em seus valores de "chroma" (cor). Isto é útil para a composição de Imagens que foram tomadas/filmadas em frente de uma "Green Screen" (Tela Verde) ou de uma "Blue Screen" (Tela Azul). Existe uma "input" (entrada) para este Nó, a Imagem que deverá ser "keyed" (Chaveada). Controle este Nó utilizando: Os botões "Green" (Verde) / "Blue" (Azul) A Seleção básica de qual cor o "background" (plano de fundo) supõe-se ter. Cb Slope e Cr Slope → deslizadores de Canal de "Chroma" (Cor). Determina com qual a velocidade os valores dos Pixels processados vão do "background" (plano de fundo) para o "foreground" (plano frontal), é bem parecido com o controle de "falloff" (decaimento). Deslizadores Cb Pos e Cr Pos. Determina aonde o ponto de transição processado está para o "foreground" (plano frontal) e "background" (plano de fundo) dentro do Canal respectivo. "Threshold" (Limiar) Determina se um detalhe adicional é adicionado para o Pixel caso este seja transparente. Isto é útil para extrair/puxar as sombras de uma Imagem mesmo que elas estejam dentro de uma Área da "Green Screen" (Tela Verde). "Alpha threshold" (Limiar de Alfa)


Esta é a configuração que determina a tolerância dos Pixels que deverão ser considerados transparentes depois que eles já foram processados. Um valor Baixo significa que somente Pixels que são considerados totalmente transparentes serão realmente transparentes, um valor mais alto significa que os Pixels que são em sua maioria transparentes serão considerados transparentes.

As saídas para este Nó são compostas de uma Imagem com um canal Alfa ajustado para a seleção chaveada e Imagens em Preto e Branco para formar uma Máscara para ser utilizada com a sua "Matte" (Tela) (ou seja, a máscara Alfa).

Nó de "Luminance Key" (Chave de Luminância) Painel: Editor de Nós → Nós de Composição Menu: ⇧ ShiftA → Mattes → Luma Key

Nó de "Luminance Key" (Chave de Luminância)

O Nó de "Luminance Key" (Chave de Luminância) ( Comumente conhecido como “Luma Key”) determina os Objetos que fazem parte do "background" (plano de fundo) dos Objetos que estão em "foreground" (plano Frontal) pela diferença dentro dos valores de "Levels" (Níveis) de luminância (Brilho). Por exemplo, isto é útil quando você estiver fazendo a composição de filmagens de efeitos pré-fabricados (stock) de explosões, que são muito brilhantes, e que são normalmente tomadas a partir de um "background" (plano de fundo) feito de material sólido (Não como Telas), e mais escuro, ou mesmo preto. Existe uma "input" (entrada) para este Nó, que é a Imagem que deverá ser chaveada. Controle este Nó com a utilização de: •

O Seletor de valor "High" (Alto) determina os valores mais baixos que são considerados o "foreground" (plano frontal). (o que é supostamente para ser – relativamente – mais claros,: a partir deste valor até 1.0).


O Seletor de valor "Low" (Baixo) determina os maiores valores que são considerados para ser os Objetos de "background" (plano de fundo). (o que é supostamente para ser – relativamente – mais escuro – a partir de 0.0 até este valor).

É possível ter uma separação entre os dois valores para que seja permitida uma gradiente de transparência entre os Objetos de "foreground" (plano frontal) e os de "background" (plano de fundo). As saídas para este Nó são compostas de uma Imagem com um canal Alfa ajustado para a seleção chaveada e Imagens em Preto e Branco para formar uma Máscara para ser utilizada com a sua "Matte" (Tela) (ou seja, a máscara Alfa). Exemplo

Utilizando Chaves de Luminância (Luma Key) de maneira fácil

Para este exemplo, iremos ser rápidos e direto ao ponto. Aqui, a foto/tomada/filmagem da modelo foi tirada a partir de um "background" (plano de fundo) esbranquiçado ou mais puxado para o Branco . Utilizando o Nó de "Luminance Key" (Chave de Luminância) , nós temos uma Tela aonde o "background" (plano de fundo) é mais puxado para branco, e a Imagem da modelo tem cores mais escuras, ou, cores que puxam mais para o Preto; isto é o oposto do que queremos. Se quisermos usar uma "Matte" (Tela), nós teremos que trocar o que está Puxado mais para o Preto com o que está mais puxado para o Branco. Como fazer isto ? A {{Languages/Translation| ColorRamp|Rampa de Cores para a salvação – nós configuramos a cor esquerda para o Branco em alfa 1.0, e a cor da direita para ser o Preto com o Alfa em 0.0. Portanto, quando a Rampa de Cores entra na parte Puxada para o Preto, ela fica Branca, e quando entra na Parte puxada para o Branco, ela fica Preta, invertendo as cores. A Máscara revertida é mostrada; o seu delineado branco pode ser utilizado como uma Máscara de Alfa a partir de agora. Agora para fazer o/a "Mix" (Mistura) nós realmente não necessitamos no Nó de "AlphaOver" (Alfa Sobre); nós podemos simplesmente utilizar a máscara como o Nosso "Input Factor" (Fator de entrada). Neste tipo de Caso estranho/bizarro, nós podemos utilizar a "Matte" (Tela) diretamente; nós só precisamos alterar os Nós de entrada. Conforme você pode ver, pelo fato da "Matte" (Tela) ser branca, (valor de 1.0) aonde não queremos usar a figura da modelo, nós alimentamos a foto de "background" (Plano de fundo) para o soquete de base (entrada) (lembre-se que os Nós do tipo "Mix " (Mistura) utilizamo soquete de entrada da parte de cima aonde o fator é de 0.0, e o soquete de entrada da parte de baixo aonde o fator é de 1.0). Alimentando a nossa Foto Original através do oquete de cima significa que ela será utilizada aonde o Nó de "Luminance Key" (Chave de Luminância) tirou para fora a parte mais Puxada para o Preto. E então, Voi la ! Nossa Modelo foi teleportada de Atlanta para dentro de um Navio estacionado nas Docas de Miami.


Nó de "Color Spill" (Vazamento de Cores) Painel: Editor de Nós → Nós de Composição Menu: ⇧ ShiftA → Mattes → Color Spill

Nó tipo Color Spill

O Nó de "Color Spill" (Vazamento de Cores) reduz um dos Canais RGB para que este não tenha valores maiores que os outros. Isto é um procedimento comum durante a composição de Imagens que foram tomadas em frente de uma "Green Screen" (Tela Verde) ou de uma "Blue Screen" (Tela Azul). Em alguns casos, caso o Objeto que estaje no "foreground" (plano frontal) seja reflexivo, ele irá a cor Azul ou Verde; esta cor aparecerá “vazada” no Objeto que está no "foreground" (Plano frontal). Caso existe uma iluminação a partir da lateral ou da parte de trás, e o ator que está no "foreground" (plano frontal) esteja vestido de branco, é possível que haja "spill" (vazamentos) de Verde ou Azul que se formam pela iluminação a partir do "background" (plano de fundo) e que são lançadas sobre os Objetos que estão no "foreground" (plano frontal), colorizando-os com um tingimento de Azul ou Verde ( Lembra-se da radiosidade ???) , então você pode utilizar este Nó bacana. Há uma entrada para este Nó, a Imagem a ser processada. O deslizador "Enhance" (Melhorar) permite que você reduza a entrada dos canais selecionados para a Imagem que está com o vazamento maior do que o algoritmo de "color spill" (vazamento de cores) normalmente permite. Isto é útil para quantidades excepcionalmente altas de vazamento de cores. As saídas deset Nó são a Imagem com os seus canais RGB corrigidos.

Nó de "Channel Key" (Chave de Canal) Blender 2.44+

Painel: Editor de Nós → Nós de Composição Menu: ⇧ ShiftA → Mattes → Channel Key


Nó de "Channel Key" (Chave de Canal)

O Nó de "Channel Key" (Chave de Canal) determina quais são os Objetos que estão no "background" (plano de fundo) dos canais que estão no "foreground" (plano frontal) pela diferença entre os "levels" (níveis) dos canais selecionados. Por exemplo, dentro do espaço de cores YUV, isto é útil quando estiver compondo filmagens previamente feitas de explosões (stock), que são muito brilhantes, e que são normalmente tomadas a partir de um "background" (plano de fundo) feito de material sólido (Não como Telas), e mais escuro, ou mesmo preto. Existe uma entrada para este Nó , a Imagem que deverá ser chaveada. Controle este Nó utilizando: • • •

"Color Space" (Espaço de Cores) esses botões selecionam qual o espaço de cores que os canais irão representar. "Channel" (Canais) Estes botões selecionam o canal para usar e determinar a "Matte" (Tela). "High" (Alta) Este Seletor de Valor determina os valores mais baixos que podem ser considerados o "foreground" (plano frontal). (o que é supostamente para ser – relativamente – os valores mais altos: a partir deste valor até 1.0). "Low" (Baixo) Este Seletor de Valor determina os mais altos valores que podem ser considerados os Objetos de "background" (plano de fundo). (o que é supostamente para ser – relativamente – os valores mais baixos: a partir de 0.0 até este valor).

É possível ter uma separação entre os dois valores para permitir que haja uma gradiente de transparências entre o "foreground" (plano frontal) e os Objetos de "background" (plano de fundo). As saídas para este Nó são compostas de uma Imagem com um canal Alfa ajustado para a seleção chaveada e Imagens em Preto e Branco para formar uma Máscara para ser utilizada com a sua "Matte" (Tela) (ou seja, a máscara Alfa).

Blender 2.4 Portuguese • •

Doc page Discussion


• •

View source History

Page Os Nós do tipo "Vector" (Vetor) manipulam informações sobre como a luz interage com a Cena, Multiplicando conjuntos de Vetores, e outras coisas maravilhosas que os humanos normais compreendem fracamente (com exceção de gênios da Matemática, que não podem ser considerados normais). Mesmo que você não seja um mago da matemática, você vai achar esses tipos de Nós bem úteis.

Nó "Normal" (Normal) Painel: Editor de Nós → Nós de Composição Menu: ⇧ ShiftA → Vetor → Normal

Nó tipo Normal

O Nó do tipo "Normal" (Normal) gera um Vetor de Normal e um produto pontual. Clique e arraste na esfera para configurar a direção da normal. Este Nó pode ser utilizado para a entrada de um novo Vetor de Normal dentro da Mistura. Por exemplo, utilize este Nó como uma entrada para um Nó do tipo "Color Mix" (Mistura de Cores). Utilize uma Imagem de entrada como a outra entrada para o "Mixer" (Misturador). Saída resultante colorizada pode ser facilmente variada pela movimentação da fonte de luz/iluminação (clicando e arrastando a esfera).

Nó de "Vector Curves" (Curvas de Vetor) Painel: Editor de Nós → Nós de Composição Menu: ⇧ ShiftA → Operador de Vetor → Vector Curves


O Nó de "Vector Curves" (Curvas de Vetor) mapeia uma entrada de vetor para os componentes X,Y, e Z das Imagens para uma curva diagonal. Os três canais são acessados pelos botões X, Y, e Z que se encontram na parte de cima do Nó. Adicione pontos para a curva clicando nela. Note que arrastar um ponto sobre outro irá trocar a ordem dos dois pontos ( Ex: caso o ponto A seja arrastado sobre o ponto B, então o ponto B irá se tornar o Ponto A e o ponto A irá se tornar o ponto B ). Utilize esta curva para reduzir a velocidade das coisas ou aumentar a sua velocidade a partir da Cena Original.

Nó de "Map Value" (Mapa de Valor) Painel: Editor de Nós → Nó de Composição Menu: ⇧ ShiftA → Vetor → Map Value

Nó de "Map Value" (Mapa de Valor)

O Nó do tipo "Map Value" (Mapa de Valor) é utilizado para escalar, causar deslocamento e limitar os valores (estes valores se referem a cada Vetor dentro do Conjunto). A Fórmula para como este Nó trabalha é: •

"Offs" (Deslocamento) Irá adicionar um número para o valor inicial de entrada.

"Size" (Tamanho) Irá escalar (multiplicar) este valo por um número.

"Min/Max" (Mínimo/Máximo) Clicando nesses valores você pode configurar os números Máximo e Mínimo para efetuar um limite (limite de corte) para os valores. Os valores para Min e Max deverão ser individualmente habilitados clicando-se com o botão esquerdo do Mouse LMB no rótulo de cada um dos que se queira utilizar. Você também pode utilizar o botão esquerdo do Mouse ⇧ ShiftLMB

nos valores para alterá-los.

Caso a opção Min esteja habilitada e o valor seja menor que o mínimo, configure o valor de saída para o mínimo. • Caso a opção Max esteja habilitada e o valor de entrada seja maior que o Máximo, configure o valor de saída para o máximo. •

Isto é particularmente útil para se conseguir o efeito de DOF "Depth Of Field" (Profundidade de Campo) na Cena, aonde você pode utilizar o Nó de "Value Map" (Mapa de Valor) para um valor de profundidade Z (que poderá ser de 20, 30 ou até 500 dependendo da Cena) para um campo de atuação que vai de 0-1, que se encaixa


perfeitamente para a utilização com o Nó do tipo "Blur" (Borrão). Utilizando o Nó de "Map Value" (Mapa de Valor) para a Multiplicação de Valores

Você pode também utilizar o Nó de "Map Value" (Mapa de Valor) para multiplicar valores e conseguir um número para a saída que você desejar. Dentro do Mini-mapa ao lado direito, o Nó de "Time" (Tempo) faz com que uma saída tenha um valor entre 0.00 e 1.00 distribuído igualmente entre 30 "frames" (quadros). O primeiro "Map Value" ( Mapa de Valor) multiplica a entrada por 2, resultando em um valor de "output" (saída) que tem a sua escala compreendida entre 0.00 e 2.00 sobre os 30 "frames" (quadros). O segundo Nó de "Map Value" (Mapa de Valor) subtrai o valor de 1 a partir da entrada, resultando em uma saída cujos valores trabalham dentre -1.00 e 1.00, e com a multiplicação desse valor por 150, resultará em um valor de "output" (saída) entre -150 e 150 sobre uma sequência de 30 "frames" (quadros).

Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page

"Constraints" (Restrições) Restrições são funcionalidades de Objetos que definem relações espaciais entre objetos, e são o método padrão para controlar personagens entre todos os pacotes de animação 3D que ainda implementam uma abordagem mais tradicional para animação de personagens digital. Dentro do Blender, restrições podem ser associadas para qualquer tipo de Objeto ou Objetos do tipo "bone" (osso), mas nem todas as restrições trabalham com Objetos do tipo "bone" (osso), e nem todas as restrições trabalham com Objetos normais do Mundo do Blender.

Nota - Página incompleta Esta página está ainda em construção para a língua inglesa, portanto quando obtivermos mais dados ou mais redatores para a língua inglesa, poderemos complementar as informações constantes desta página


Interface A interface que é utilizada para "Modifiers" (Modificadores) e "Constraints" (Restrições) está descrita aqui: • Pilha de Restrições

Constraints Modo: Qualquer Modo Painel: Object Context → Constraints Atalho: F7 (Painel) • Child Of-Filho de – Permite uma aplicação seletiva dos efeitos do parenteamento a outro Objeto. • Transformation-Transformação • Copy Location-Copiar Localização – Copia a posição de um Objeto baseado em alguma posição de outro objeto, para que os Objetos se movam simultaneamente. • Copy Rotation-Copiar a Rotação – Copia a rotação de outro Objeto então eles rotacionam simultaneamente. • Copy Scale-Copiar a escala – Copia a escala de outro Objeto. • Limit Location-Limitar a Localização – A Localização do Objeto é limitada em um campo definido. • Limit Rotation-Limitar a Rotação – A rotação do Objeto é limitada em um campo definido. • Limit Scale-Limitar a Escala – A escala do Objeto é limitada em um campo definido. • Track To-Tracionar para – O Objeto é tracionado para um Alvo definido. • Floor-Piso • Locked Track-Travar em uma Pista – O Objeto começa a seguir um caminho. • Follow Path-Seguir Traçado – O Objeto se move por um caminho. • Clamp To-Cortar para – • Stretch to-Esticar para • Rigid Body Joint-Junta de corpo rígido • IK Solver-Resolvedor IK – A cadeia do "Bone" (Osso) se move para seguir algum outro objeto. • Action-Ação – O Objeto executa a ação baseado no Objeto de comando. • Script-Script – Script Python Customizado é utilizado como restrição. • Null-Nulo -

Veja Doc:Tutorials/Animation/Armatures/BSoD/Constraints and Axis Locks (em inglês) para descrições de mais restrições disponíveis. Category: Constraints Blender 2.4 Portuguese


Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page

Restrições são acessadas pelos botões de Objetos (F7) dentro do painel Constraints. Depois de você ter pressionado o botão "Add Constraint" (Adicionar restrição) e selecionar o tipo de restrição desejada a partir do Menu, Uma Interface de Usuário (UI) é adicionada ao Painel. A restrição vai ser ligada ao Objeto ativo ou o "Bone" (Osso) selecionado, indicado pelo rótulo To Object: ou To Bone: na parte direita do Menu Add Constraint. Restrições são avaliadas dentro de uma ordem específica: a partir de cima para baixo dentro da Pilha de Restrições ou Constraint Stack. Esta ordem pode ser visualizada e alterada dentro do painel Constraints. Cada restrição possui um par de botões de seta na direita do nome da restrição em seu canto superior direito, que pode ser utilizada para mover a restrição para cima ou para baixo dentro da Pilha de restrições. A pequena cruz na direita destes botões pode ser utilizadas para deletar a restrição da pilha. Nota O Campo do nome de uma restrição recentemente adicionada vai aparecer em vermelho, o que indica que a restrição não está funcional. No caso de uma restrição recentemente adicionada, isto é porque a restrição ainda não possui um alvo especificado.

Todas as restrições requerem um Objeto de alvo específico (Um Objeto Normal dentro do Mundo Blender ou então um Osso de uma Armadura). Você deve entrar com o nome


do objeto alvo desejado dentro do campo Target: OB. Quando você quiser que um Osso de uma Armadura seja uma alvo, entre com o Nome do Objeto de Armadura como alvo. Um novo campo chamado BO: vai aparecer, aonde você pode colocar o nome do Objeto Osso Alvo. O campo do nome da restrição vai também se tornar vermelho se as configurações para a restrição forem inválidas ou se a restrição conflitar com outra restrição. Por exemplo: Um restrição do tipo Track To na qual o botão dos vetores To e Up apontam para Z.

Influência A influência de uma restrição na localização/rotação/tamanho pode ser definida com o valor do deslizador numérico Influence. Este pode ser ligado á uma curva Ipo, que pode ser evocada dentro do Ipo Curve Editor com o botão Show no lado direito do r deslizador numérico de valor Influence. O botão Key ao lado dele pode ser utilizado para inserir uma chave na curva Ipo. Você pode colocar keyframes em qualquer restrição, e um Objeto pode ter múltiplas restrições chaveadas para exercer diferentes influências em tempos diferentes. Exemplo de Múltiplas Influências

Suponha que você quer que uma câmera siga um trajeto por um período e então derrape um pouco mais para fora e então siga outro caminho. Você aplica uma restrição do tipo "follow path" (seguir caminho) na câmera para uma curva/círculo/caminho (tenha certeza de que você possui uma "Curve Path" (Curva de Caminho) habilitada e entre com o seu nome), então abra uma Janela de curvas IPO. Na Janela de botões (no painel de "constraint" (restrições)) você pode ou teclar I e inserir um valor de influência deslizando o deslizador (para variar a potência da força ou forçar o decaimento) ou LMB clique no botão da "Keyframe" (chave de quadro) no topo do painel de restrições. Uma vez que você tenha inserido a chave inicial, ↑ ou mude para o quadro que você quer que a primeira influência inicie o decaimento. Agora vá até a Janela IPO e CtrlLMB para inserir uma chave. Ande para a frente alguns quadros, aonde você quer que esta influência seja zero, e insira outra chave, e então a edite para que o seu valor de Y seja Zero. Neste quadro, a restrição na pilha não vai influenciar o movimento da câmera mais. Agora insira uma segunda restrição de Follow Path e entre com o nome da segunda curva de caminho a seguir . Agora posicione de volta alguns quadros e insira uma nova chave para o local onde você quer que esta influência inicie (provavelmente no local onde a primeira influência começa a diminuir). Edite esta segunda curva de influência para sair do Zero e chegar até Um em um determinado tempo. Você pode imaginar que as curvas IPO para cada círculo deverão se cruzar entre si para que em plena influência (max 1.0) a outra esteja em zero, ou outras combinações, etc. Você deverá brincar com as curvas um pouco para obter uma transição suave.

Restrições em Ossos Organizando Bones com Restrições: • • • • •

A cor dos Ossos na Janela de Visualização 3D indica que tipo de Restrição está sendo utilizada neste Osso em específico, como segue: Cinza: Sem restrição. Amarelo: Um Osso com uma Restrição IK. Laranja: Um Osso com uma Restrição IK, mas sem alvo. Verde: Um Osso com outro tipo de Restrição.


• •

Azul: Um Osso que está animado com Keyframes. Púrpura ou Roxo: A Raiz do Piso/Estrado.

Category: Constraints • • • • •

Doc page Discussion View source History

Page

Restrição "Floor" (Piso) Modo: Modo de Objetos e Modo de Pose Painel: Contexto de Objetos → Constraints Atalho: F7 Descrição

Dica de Animação: Quando você anima os locais de posicionamento dos pés de personagens em um plano de "Floor" (Piso), sempre tenha certeza de estar utilizando a opção de Keyframes VisualLoc a partir do menu Insert Key , ou Habilite a opção Use Visual Keying a partir do Menu Auto Keyframing dentro das preferências de Usuário. A restrição do tipo Piso permite a você utilizar um Objeto alvo para especificar a localização de um plano no qual o Objeto afetado não poderá passar através. Em outras palavras, ele cria um Piso ! (ou então um estrado, ou um Muro). Isto somente trabalha por padrão com planos no sistema de coordenadas Globais. Opções "Sticky" (Fixo) Faz com que o Objeto afetado fique imóvel quando estiver tocando o plano (O Objeto não poderá deslizar sobre a superfície do plano), o que é fantástico para fazer animações de andar e correr. "UseRot" (Utilize a Rotação) Leva a rotação do Objeto alvo em conta.


"Offset" (Base de Desvio) Um número de Unidades Blender a partir do centro do Objeto. Use isso para levar em conta a distância a partir dos Ossos do pé até a superfície do pé da Malha. "Max/Min" (Máximo e Mínimo) Escolhe o eixo do Piso. Normalmente os ciclos são atrelados ao eixo Z, mas com essas opções, há como fazer com que o Objeto ande sobre paredes, ou ande de cabeça para baixo. "Head/Tail" (Cabeça/parte de trás) -Somente com Ossos como Alvo. Um número entre 0.0 até 1.0 que representa o local no Osso alvo para utilizar para o Piso (0.0 = é a parte de trás do Osso; 1.0 = será a cabeça do Osso) Exemplo Category: Constraints

Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page

"Action Constraint" (Restrição tipo Ação) Modo: Modo de Pose Painel: Contexto de Objetos → Constraints Atalho: F7 Descrição


A restrição do tipo Action permite a você mapear qualquer ação para um dos eixos de rotação de um Osso em um sistema ósseo. Opções "Target" (Alvo) O Objeto para utilizar com a restrição. "AC" (Ação) A ação contendo as chaves para o Osso específico. "Loc" (Localização) Escolha qual o eixo de transformação (a partir do Objeto) será usado para as Chaves. "Start" (Início) O Quadro Inicial da Ação. "End" (Final) O Quadro Final da Ação. "Min" (Mínimo) O valor Mínimo para o campo do Canal Alvo. "Max" (Máximo) O valor Máximo para o campo do Canal Alvo. "C Space" (Sistema de Coordenada Espacial) O espaço (Global ou Local) no qual o Objeto será computado . Exemplo Category: Constraints

Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page

Restrição Child Of ou Filhos de Modo: Modo de Objetos e Modo de Pose


Painel: Contexto de Objetos → Constraints Atalho: F7 -Nota Página ainda em construção na Língua Inglesa Descrição

Esta restrição acertadamente permite relacionamentos animáveis de parentesco. Agora vamos aos Botões!

Opções Loc X, Y, e Z Cada uma destas opções vai fazer com que o parente afete a localização de acordo com esse eixo. Rot X, Y, e Z Faz com que o parente mude a rotação do eixo especificado. Scale X, Y, and Z O Parente afeta a escala no eixo selecionado. Set Offset Restaura o offset (distância) entre os Objetos antes da relação de parentesco. Clear Offset Este botão move o Objeto de volta para onde o parente o colocou. Show


Mostra a IPO correspondente para a Restrição nas IPOs de "Constraints" dentro da Janela do Editor de IPO. Isso também faz com que seja criado um canal para a IPO caso não haja algum. Key Este pequeno botão configura uma keyframe para o seu trabalho em um simples clique. Dicas

Quando estiver criando uma nova relação de parentesco usando esta restrição, é usualmente necessário clicar no botão 'Set Offset' depois de designar o parente. Isto cancela qualquer transformação não desejada pelo parente, portanto, assim o proprietário retorna para a posição + orientação em que estava anteriormente antes que a restrição tenha sido aplicada. Note que você deve aplicar o botão 'Set Offset' com todas as outras restrições desabilitadas para uma restrição em particular do tipo Filho de ou Child Of. Existem também alternadores para habilitar/desabilitar os canais individuais de transformação a partir do parente afetando o proprietário. Na prática, é usualmente melhor deixá-los sozinhos, ou desabilitar todos os alternadores para uma transformação em particular. Exemplos Category: Constraints

Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page

Restrição "Follow Path" (Seguir Caminho) Modo: Modo de Objetos e Modo de Pose Painel: Object Context → Constraints Atalho: F7

Nota Página incompleta em (inglês)


Descrição

A restrição "Follow Path" (Seguir Caminho) coloca o Objeto afetado na trajetória definida por um Objeto de curva. As curvas possuem uma propriedade de animação que faz com que os Objetos se movam oa longo de um caminho. Para que isto funcione, você terá de possuir a opção "CurvePath" (Caminho da Curva) ativada (esta é uma propriedade do Objeto Curva). Você pode encontrá-la dentro do Painel "Curve and Surface" (Curvas e Superfície ) dentro dos botões do contexto Editing, F9. O Movimento ao longo do caminho pode ser controlado de duas maneiras diferentes: a mais simples, e que está presente no mesmo Painel de "Curve and Surface" (Curvas e Superfície), é definir o número de "Frames" (Quadros) do movimento via "Num Button" (Botão Numérico)através do valor "Path Len:" (Comprimento do Caminho), e o seu "frame" (quadro) inicial através da opção de restrição "Offset:" (Deslocamento:) (por padrão, o "frame" (quadro) inicial é 1 (= deslocamento de 0), e duração de 100 "frames" (quadros)). A segunda maneira –muito mais precisa e poderosa – é definir uma "Speed" (Velocidade) para uma curva IPO para a seção "Path" (Caminho) da Janela de IPO Curve. A posição inicial ao longo do caminho será correspondente para um valor de IPO de 0.0, e na posição final, para um valor de IPO de 1.0. Você poderá portanto controlar o "frame" (quadro) inicial, a velocidade do movimento, e o "frame" (quadro) final, e até mesmo forçar o seu Objeto a andar pra frente e para trás ao longo do caminho ! Caso você não queira que os Objetos no caminho se movam, você pode dar a curva IPO um valor fixo ( uma curva IPO com trajetória retilínea) , já que este valor é o que controla a posição do Objeto no caminho especificado). A restrição "Follow Path" (Seguir Caminho) é outra restrição que funciona bem com "Locked Track" (Observação fechada). Um exemplo é uma câmera flutuante sobre um caminho. Para controlar o ângulo de rolagem/inclinação da câmera, você pode utilizar uma restrição do tipo "Locked Track" (Observação Fechada) e especificar um Objeto como Alvo para informar a diretção de "UP" (Cima), conforme a câmera faz o seu “voo” ao longo do caminho. Esta Restrição não funciona bem com "Bones" (Ossos) . Opções "Offset" (Deslocamento) O número de quadros para o deslocamento do início da Animação definido pelo caminho. (Por Padrão, a partir do "frame" (quadro) 1). "CurveFollow" (Seguir Curva)


Caso esta opção naõ esteja ativada, a rotação do Objeto afetado não será modificada pela curva; caso contrário, ele será afetado dependendo das seguintes opções: "Fw" (A frente) O eixo do Objeto que deverá ser alinhado com a direção que está para a frente no caminho especificado. Up O eixo do Objeto que deverá estar alinhado (o máximo possível) com o eixo Z Global. de fato, com esta opção ativada, o comportamento do Objeto afetado compartilha algumas propriedades com aquelas que são causadas pela utilização da restrição Locked Track ou Observação Fechada, com o caminho como o "eixo principal", e o eixo Global Z como se fosse um "magneto"… Exemplo

Category: Constraints

A restrição Null não possui mais funcionalidade, e é uma funcionalidade antiquada do Blender.

Category: Constraints Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page

Restrição "Rigid Body Joint" (Junta de Corpo Rígido) Modo: Modo de Objetos e Modo de Pose Painel: Contexto Object → Constraints


Atalho: F7 Descrição

Esta "Constraint" (Restrição) é útil principalmente quando estiver utilizando a Máquina de Jogos do Blender ou BGE. Opções "Joint Types" (Tipos de Junta) "Ball:" (Esfera :) trabalha em dois eixos, permitindo movimentos circulares. "Hinge:" (Dobradiça:) trabalha em um plano, como um cotovelo. "toObject " (Para Objeto) É o nome do Objeto ao qual a Malha deverá ser conectada. "ShowPivot" (Mostrar Pivô) Desenha o Pivô da Junta na Janela de visualização 3D. "Pivot X, Y, Z" (Pivô X, Y, Z) Realoca o Pivô. "Ax X, Y, Z" ( Eixo X, Y, Z) Rotaciona o Pivô. Exemplos Categories: Constraints | Incomplete doc page

Blender 2.4 Portuguese • • •

Doc page Discussion View source


History

Page

Restrição Script Modo: Modo de Objetos e Modo de Pose Painel: Contexto de Objetos → Constraints Atalho: F7 Descrição

A restrição Script permite que uma pessoa escreva uma nova "Restrição" (Constraint), totalmente em Python. uma restrição do tipo Pyconstraint pode ter múltiplos alvos (contudo quantos o Script requerer) e até possuir suas próprias opções.

Opções Script Configura qual o Pyconstraint para utilizar. Target Permite a você selecionar quais Objetos o Script vai ter como alvo. Options Muda algumas das configurações da Restrição. Refresh Força a restrição baseada em Script a atualizar as suas configurações . C Space O espaço de atuação da Restrição (Global, Local) na qual o alvo vai ser utilizado. Exemplo


Category: Constraints

Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page

Restrição "Clamp To" (Enganchar para) Modo: Modo de Objetos e Modo de Pose Painel: Object Context → Constraints Atalho: F7 Descrição

Previamente, nós falamos sobre como fazer a configuração para Objetos que necessitam "Follow Path" (Seguir caminho). Agora vamos falar sobre a "Constraint" (Restrição) do tipo "Clamp To" (Enganchar para). Necessita de revisão de termos Esta página será revisada em momento apropriado, pois o Autor Original montou um exemplo funcional e iniciou as suas explicações a partir do mesmo, mas uma página de manual mais apropriadamente redigida será feita mais á frente. Fui Obrigado a fazer adaptações pois alguns termos não possuem equivalência em nossa língua Portuguesa. Greylica

A restrição "Clamp To" (Enganchar para) é uma restrição qe é particularmente útil para coisas que se movem ao longo de grandes e complexos "paths" (caminhos) que seriam de outra maneira muito difíceis de fazer um controle de maneira a ter resultados configurados suavemente. Caso você esteja sentindo um pequeno “déjà vu”, é por que a idéia da estrição "Clamp To" (Enganchar para) é bem similar a "Follow Path" (Sefuir Caminho), mas com uma diferença principal. A diferença é: aonde o "Follow Path" (Seguir Caminho) utiliza o tempo de IPO da curva a qual a nossa restrição está apontando como seu alvo, a restrição "Clamp To"


(Enganchar para) irá obter a posição atual do Objeto e julgar aonde deverá colocar este Objeto ( através de alternância) pela comparação da localização do Objeto com a curva a qual ele está utilizando como alvo. Quando estamos trabalhando com a restrição "Clamp To" (Enganchar para), é mais fácil de ver o que o nosso Objeto estará fazendo, e pelo fato de estarmos trabalhando em uma Janela de Visualização 3D em uma "Viewport" (Porta de Visão), o seu controle pode ser muito mais preciso do que o deslizamento de chaves de interpolação dentro da Janela de IPO e tocar a animação todas as vezes que é feita alguma modificação. O lado ruim é que, diferentemente da restrição "Follow Path" (Seguir Caminho), a restrição "Clamp To" (Enganchar para) não possui uma opção para configurar a rotação de nosso Objeto (Guinar, girar, inclinar) quando ele estiver seguindo a trajetória da curva, mas—como a nossa fechadura, utilizada como exemplo, ou o exemplo de armadura um pouco mais abaixo desta—nós nem sempre necessitamos de rotações, então em casos como esse é usualmente muito mais simples utilizar uma restrição do tipo "Clamp To" (Enganchar para), e obter alguns pontos pequenos de rotação que necessitamos de alguma outra maneira. Em suma, o que isso significa é que será muito mais fácil de animar movimentos variados sobre uma curva com a restrição "Clamp To" (Enganchar para) do que se estivéssemos utilizando a restrição "Follow Path" (Seguir Caminho), mas mesmo que não atenda a sua expectativa ou que se pareça mais fácil para a a plicação desejada, ainda assim é uma alternativa interessante, no demais a escolha depende do uso na aplicação prática de animação. Opções "Target" (Alvo) É uma Caixa de Texto – Esta é a sua caixa para o Alvo básico (a curva), que simplesmente mostra o que a sua restrição está usando como referência. NOTA: Neste caso, o Objeto Alvo terá de ser um Objeto de curva ao qual o Objeto estará restrito a "Clamp To" (Enganchar para), portanto esta caixa somente aceitará Objetos de Curva. "Main Axis" (Eixo Principal) Este é um botão com grupos na Base – selecionando um deles escolherá um eixo Global (X,Y,Z) para que a restrição utilize como referência para Obter a distância que a curva supostamente possui e realizar as calculações. Não existe uma escolha errada realmente, portanto somente escolha o eixo que será mais fácil de trabalhar, ou que funciona melhor com a sua situação corrente—uma boa ideia é escolher o eixo na qual a curva alvo tem o maior comprimento, portanto as restrições de localização global do Objeto serão mais similares entre si—ou você pode simplesmente escolhera a opção Auto e o Blender tentará fazer a melhor escolha.


Exemplo

Uma fechadura “Dark and Stygian”. Stygian Lock(object) .Blend file

Este é uma exemplo de fechadura “Dark and Stygian” que eu formai para exemplificar a utilização da restrição "Clamp To" (Enganchar para). Vamos deixar de lado todo o trabalho estético, e utilizar a face e porta somente como decoração; a animação atual é feita pela restrição "Clamp To" (Enganchar para) no “puxador” de abrir/fechar. Caso você a observe, você verá o movimento dela que desliza em torno dos cantos do disco, vai para frente e para trás, e até para algumas vezes, e ainda assim permanece em um círculo. Esta é a melhor maneira para a utilização de curvas. Tentar fazer com que haja chaves "keyframes" (chaves de quadro) para fazer isto da maneira convencional provavelmente seria muito mais demorado, e seria uma animação muito menos suave. A melhor parte de não ter utilizado uma curva com "Folow Path" (Seguir Caminho), e ter utilizado uma restrição "Clamp To" (Enganchar para) neste caso, é mostrado no ponto central da animação. O “puxador” desliza por todo o caminho, e então depois de passar pela boca da face, se mantém andando mais um pouco, antes de parar e deslizar de volta. Pelo fato da curva atual iniciar e terminar na boca da figura desenhada, deverá haver uma "keyframe" (chave de quadro) de continuidade, para fazer com que o “puxador” pule do fim da curva para o início ou vice/versa. Para fazer isto, nós temos que visualmente mover a localização de ambas as chaves o mais próximo umas das outras para fazer com que a transição seja suave, isto é alguma coisa que também seria mais difícil com com a utilização de temporização através das curvas IPO. Nota do autor u decido, como um facho do último momento de inspiração, que a câmera também deveria utilizar uma restrição do tipo Clamp To. Isso pode parecer um pouco trabalhoso, mas nós tentamos também ser o mais consistente dentro do possível. Mesmo assim, é apenas um arquivo de exemplo.


Category: Constraints

Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page

Restrição de "IK Solver" (Resolvedor IK) Modo: Modo de Pose Painel: Contexto Object → Constraints Atalho: F7 Nota Página ainda em construção na língua inglesa, informações necessitam de atualização

Descrição

A restrição de "IK Solver" (Resolvedor IK) é a implementação do Blender para "Inverse Knematics" (Cinemática Inversa). Você adiciona esta restrição para um osso e então esse, e os ossos acima dele na cadeia, se tornam parte do algoritmo de Solução de IK, ou Cinemática Inversa.

Opções Rot Opção de alternância para fazer com que a cadeia IK siga a rotação do Objeto "target" (alvo). Use Tip


Opção de alternância para utilizar a ponta do osso ao invés de sua base para a solução IK. Esta opção alterna entre o comportamento anterior do Blender (não utilizava a ponta) e o novo comportamento (utilizar a ponta).

Uma restrição IK no osso amarelo com o alvo indicado. Esquerda: sem "Use Tip" (Utilizar ponta). Direita: com "Use Tip" (Utilizar ponta).

ChainLen O número de ossos acima deste osso que você quer que seja afetado pelo IK. O padrão é 0, que significa que todos os ossos acima deste osso serão utilizados para a solução IK. PosW Peso do Controle de posição para este Alvo. RotW Peso do Controle de Rotação para este Alvo. Tolerance Iterations Numero máximo de Resolução da Interação do IK. Exemplo Categories: Constraints | Incomplete doc page


Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page

Restrição "Locked Track" (Observação Fechada) Modo: Modo de Objetos e Modo de Pose Painel: Contexto Object → Constraints Atalho: F7 Descrição

A Restrição do tipo "Locked Track" (Observação Fechada) é uma restrição complicada de ser explicada, tanto graficamente quanto verbalmente. O melhor exemplo do Mundo Real seria compará-lo a um compasso. Um compasso pode rotacionar para apontar na direção geral de seu alvo, mas não pode apontar diretamente no alvo, pois roda como uma roda em um eixo. Caso um compasso esteja em uma mesa e exista um Magneto diretamente sobre ele, o compasso não poderá apontar para ele. Caso nós movamos o Magneto mais para um lado do compasso, ele ainda não poderá apontar diretamente para o alvo, mas ele pode apontar na direção geral do alvo, e ainda assim obedecer as suas restrições de eixo. Quando estiver utilizando uma restrição do tipo "Locked Track" (Observação Fechada), você pode pensar no Objeto alvo como se fosse o magneto, e o Objeto afetado como um compasso. O eixo de "Lock" (Travamento) iá funcionar como o eixo sobre o qual o Objeto gira, e o eixo "To" (Para) irá funcionar como a ponta do compasso. O que cada eixo fará é por sua conta ! Caso você tenha problemas para entender os botões desta restrição, leia as "Tool Tips" (Dicas de Ferramenta); elas são muito boas. Caso você não saiba aonde os eixos dos seus Objetos estão, faça com que o Blender os desenhe, acionando o botão "Axis" (Eixos) dentro do Painel "Draw" (Desenhar), no contexto Object, F7. Ou, caso você esteja trabalhando com "Bones" (Ossos), ligue o botão "Draw Axes" (Desenhar Eixos), dentro do Painel "Armature" (Armaduras), no contexto Editing F9. Esta restrição foi desenhada para trabalhar cooperativamente com a restrição "Track To" (Observar para). Caso você configure os botões dos eixos corretamente para estas duas restrições, a restrição "Track To" (Observar para) pode ser utilizada para apontar para o eixo em um Objeto Alvo (target), e a restrição do tipo "Locked Track" (Observação Fechada) pode girar o Objeto em torno deste eixo apontando para um Alvo secundário. Esta Restrição também funcione muito bem para fazer "billboarding" (letreiros/mostradores) 2D. Isto está totalmente relacionado ao tópico explicado de maneira mais completa dentro do Tutorial para Observação de Objetos. (em inglês)


Opções

O Painel da "Constraint" (Restrição) tipo "Locked Track" (Observação Fechada ). "Target" (Alvo) O Nome do Objeto Alvo ( target ) que o Objeto do tipo "tracking" (vigilante/observador) está a observar . "VG" (Grupo de Vértices) Isto está somente disponível quando estivar fazendo o/a "tracking" (observação) para um Objeto de Malha. Caso você digite dentro do campo de nomes, o nome de um Grupo de Vértices do Objeto "target" (alvo), ele será o centro deste Grupo de Vértices que será o "target" (alvo) físico, e não mais o centro do Objeto. BO Isto está somente disponível quando estiver fazendo o/a "tracking" (observação) apontada para um Objeto do tipo Armadura. Caso você digite o nome de um "bone" (osso) da armadura que será o alvo, será neste "bone" (osso) o alvo físico, e não mais o centro da Armadura. "To" (Para) O Eixo que estará Observando , ou o "tracking axis" (eixo observador/vigilante). Ele não deverá ser o mesmo que o eixo "Lock" (Travado) . "Lock" (Travado) O Eixo Local travado. "Influence" (Influência) Isto controla quão acuradamente o "Tracking Object" (Objeto Vigilante/Observador) Observará o Alvo. 0 significa que a restrição está desligada. O "Tracking Object" (Objeto Vigilante/Observador) irá permanecer travado dentro da Orientação. 1 significa que o/a "tracking" (vigilância/observação) está completamente ligada e que o eixo de "tracking" (observação/vigilância) estará completamente ligado aos movimentos do Objeto observado e estará estritamente focado no alvo.


"Show" (Mostrar) Isto adiciona um canal IPO de influência para a "constraint" (restrição) caso uma não esteja presente. Você então poderá adicionar "keys" (chaves) para o Canal. "Key" (Chave) Isto adiciona "keys" (chaves) de animação para a curva de influência no Canal IPO. Isto é uma combinação muito poderosa. Por exemplo, você pode ter uma câmera com uma "constraint" (restrição) do tipo "Locked Track" (Observação Fechada) aplicada e ter uma entrada para guiar o canal de influência. Exemplo Setas Compassadas

Sample blend file

Category: Constraints

Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page

Restrição Esticar para Modo: Modo de Objetos e Modo de Pose Painel: Object Context → Constraints Atalho: F7


Descrição

A restrição Esticar para, faz com que o Objeto afetado escale o eixo Y conforme o Objeto Alvo. Ele também possui funcionalidades volumétricas, portanto o Objeto afetado pode ser encolhido conforme o Objeto Alvo se move em sua proximidade, ou esticar conforme o Objeto Alvo se move para mais longe. Ou então você pode escolher não fazer uso desta função volumétrica de encolher/estivar, pressionando o botão NONE. Esta restrição assume que o eixo Y vai ser o eixo que vai perfazer o esticamento, e não lhe dá a opção de utilização de um eixo diferente pois seria obrigado a ter muitos botões para que executasse sua tarefa. Esta restrição afeta a orientação do Objeto da mesma maneira que a restrição Tracionar para faz, com exceção que essa restrição baseia a sua orientação de seus polos na orientação original do osso ! Para mais informações, veja também a página presente em Tracking em inglês. O travamento de eixos pela restrição "Locked Track" (Tracionamento Fechado) também trabalha com essa restrição. Opções "R" (Restante) Pressionando o botão R calcula o comprimento restante conforme a distância a partir dos centros do Objeto Restringido e seu Alvo. "Rest Length" (Comprimento Restante) O Comprimento Restante determina o tamanho do objeto na posição de descanso. "Volume Variation" (Variação do Volume) A Variação do Volume controla a magnitude do efeito "Vol" (Volume) Os botões Vol: controla ao longo de quais eixos o volume será preservado (se estiver sobre todos ) "Plane" (Plano)


Os botões de plano definem quais orientações locais devem ser mantidas enquanto o Alvo é tracionado. Exemplo Category: Constraints

Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page

Restrição "Track To" (Observar Objeto) Modo: Modo de Objetos e Modo de Pose Painel: Contexto Object → Constraints Atalho: F7

Introdução Na vida Real, quando passamos diante de um letreiro que nos chama atenção, e ao mesmo tempo estamos em movimento, nossos Olhos ficam presos ao letreiro, por um instante vigiando ou observando-o. O Blender possui um sistema de observação ou vigilância, em que um Objeto pode Vigiar outro Objeto, sendo um chamado de Observador (tracker) e outro chamado de alvo (target). Uma linha de interligação é apresentada quando um Objeto está vigiando os movimentos de outro, sendo que o Objeto vigiado, sempre apresenta um eixo que ficará apontado para cima ou UP enquanto o outro, que está a vigiar, tem a liberdade de movimento para girar/inclinar ou se distanciar desse Objeto observado. O Objeto que vigia o Alvo sempre aponta um de seus eixos para o Objeto vigiado ou seja, o eixo definido como To. O Blender apresenta diversas maneiras para que um Objeto siga os movimentos de outro Objeto. A Restrição apresentada aqui, descreve um desses métodos de Vigilância dos movimentos de um Objeto por outro.

Descrição A Restrição "Track To" (Observar Objetos) aplica rotacionamento a um Objeto, de maneira que ele sempre aponte para um eixo local definido por pela variável “To” no Objeto Alvo, com outro eixo definido como “Up”, mantido permanentemente na linha vertical o máximo conforme o possível. Este tipo de observação ou vigilância, é similar a observação ou vigilância do tipo "billboard" (letreiro) em 3D. Este é o método preferido de Restrição de Observação, por que possui um mecanismo de Restrição mais facilmente controlado. A Observação/Vigilância tipo "billboard" (letreiro) O termo “billboard” ou “letreiro” possui um significado específico em programação de CG para Tempo Real ( Vídeo Games !) , aonde ele é utilizado para Objetos planos que estão sempre voltados para a câmera (eles são de fato “trackers” ou “observadores”, sendo que a câmera é o


seu “alvo”). Seu uso principal é como suporte para árvores em cenários ou Texturas mistas: caso eles não estejam permanentemente faceando a câmera, você veria as suas árvores trilhando para o nada, ou sua névoa se transformando em uma pasta, o que seria engraçado mas não creditável…

Esta Restrição compartilha uma relação próxima da relação de IK de algumas maneiras. Esta Restrição é muito importante em construções de arranjos (Rigs), mas você deve ter certeza de ter lido e entendido o Tutorial de Observação/Vigilância (em inglês), por que ele se centra em torno do uso dessas duas Restrições.

Opções To O eixo do Objeto que aponta para o Alvo. Up O eixo do Objeto que deve ser alinhado (o máximo possível) com o eixo 'Z' Global. Um alinhamento: o Botão target ou Alvo, quando habilitado, utiliza as coordenadas do eixo 'Z' do Objeto Alvo, inclinando ou sacudindo o Objeto conforme ele observa o alvo. Head/Tail – Funciona com Alvos de "Bone" (Ossos) Somente. Um Número entre 0.0 a 1.0 que representa o lugar no Osso alvo para tracionar (0.0 = a "root" (raiz) do osso; 1.0 = a ponta ou "cabeça" (head) do osso)

Exemplo

Exemplo de Restrição TrackTo.


O Painel de Constraints do exemplo.

(Exemplo de Restrição TrackTo) é um exemplo de um Cubo utilizando a Restrição TrackTo.O Cubo “A” está Observando o Cubo “B” aonde “L” é a linha de vigilância. Note como os eixos locais do Objeto vigilante são visíveis usando o botão Draw do Painel. Você poderá identificar claramente os eixos da Restrição “To” e “Up” nos Objetos. As configurações de Restrição do Cubo “A”’ são refletidas dentro do (Painel Constraints do exemplo). +X é o eixo “To” e Z é o eixo “Up”. Você também pode ver em (Painel Constraints do exemplo) que o Cubo “A” está vigiando/observando o que está especificado no campo do nome do alvo ou Target. Nós podemos ver que o Cubo “A” está vigiando o Cubo “B” por que o nome do Cubo “B” é “Cube” e está escrito na caixa. Você pode redirecionar a vigilância para um outro Objeto simplesmente entrando com o nome do outro Objeto no campo do nome do alvo ou Target.


Pistão

Um arranjo de pistão (RIG) criado com a Restrição. Arquivo Blender de Exemplo

Esta restrição também é muito útil para rotacionar os olhos de um personagem para fazer com que ele observe em um ponto fixo. O mesmo pode ser feito para a câmera ou para luzes.

Category: Constraints

Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page

Restrição de Cópia de Localização Mode: Modo de Objetos e Modo de Pose Panel: Contexto de Objetos → Constraints Hotkey: F7


Painel de restrição Copy Location Descrição

A Cópia de Localização força o objeto a ter a mesma localização conforme seu alvo. Quando esta restrição é usada em um osso e outro osso é o alvo, um novo botão, chamado de Local aparece próximo aos botões X Y Z. Usando os botões locais fazem com que os valores de translação local do alvo sejam repassadas para o objeto restringido. Na posição de descanso, todos os ossos estão em sua localização local de (0,0,0). Opções Target ou Alvo Objeto do qual copiar a Localização. XYZ Eixo para restringir o movimento. Use menos (-) para invertê-lo. Head/Tail - Com alvos feitos de objetos de sistema ósseo somente Um número entre 0.0 até 1.0 que representa o local no osso alvo para usar para a Cópia (0.0 = a raíz do osso; 1.0 = A ponta ou cabeça do osso) Exemplo


Na esquerda: Usando o espaço Global. Este é o comportamento padrão; é o que acontece quando o botão local não está ativado. Na direita: Usando o espaço Local, com o botão Local ativado.

Nessas duas últimas imagens, o osso com o movimento restringido (mostrado em verde) é atualmente o filho do osso raiz (O osso no início da cadeia). Esta demostração mostra possíveis usos para a restrição de localização em um arranjo de animação. Note que o osso verde ainda herda a rotação do osso raiz por que o osso raiz é seu parente. Isto é uma decisão pelo design do software; O osso verde poderia ser o filho de qualquer um desses ossos, ou de nenhum deles. Category: Constraints

Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page

Restrição de cópia de rotação Mode: Modo de Objetos e Modo de Pose Panel: Contexto de Objeto → Constraints Hotkey: F7

Painel de restrição Copy Rotation.


Descrição

A cópia de rotação faz com que um objeto copie ou bata a rotação de um objeto alvo. Para o sistema ósseo, uma opção chamada Local vai aparecer, permitindo a você usar o espaço local. Imagine que você tenha um osso apontando para cima e outro apontando para baixo. Se você utilizar o espaço local, cada um pode apontar em direções diferentes, mas quando o osso alvo se mover para a esquerda, o osso afetado também se moverá para a esquerda. Opções Target ou Alvo Objeto do qual copiar a rotação. XYZ Eixo para restringir o movimento. Use o botão com o sinal de menos (-) para invertêlo.

Usando espaço Global fig. esquerda - Usando espaço Local fig. direita

Exemplo

Aqui está um bom uso da restrição de cópia de rotação e espeço local. Configurando o valor de influência para 0.5, o pequeno osso vai ser rotacionado metade da rotação do alvo. Isto é útil para juntas de personagens ou partes mecânicas sincronizadas.

Category: Constraints


Restrição "Cópia de Escala" (Copy Scale) Modo: Modo de Objetos e Modo de Pose Painel: Contexto de Objetos → Constraints Atalho: F7 Descrição

A Restrição de cópia de escala força o Objeto afetado a ter o mesmo tamanho que o Alvo. Todos os "bones" (ossos) possuem um tamanho de (1,1,1) na posição de descanso. Nós podemos desenhar um "bone" (osso) que é 10 milhões de vezes maior que o osso próximo a ele, mas no Modo de Pose, ambos os dois terão um tamanho inicial de (1,1,1). Você deve ter isso em mente se você estiver utilizando a Restrição de Cópia de Escala.

Opções "Target" (Alvo) Objeto do qual copiar a escala. XYZ Eixos para aplicar a Restrição.

Category: Constraints


Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page

Restrição "Limit Location" (Limitar a Localização) Modo: Modo de Objetos e Modo de Pose Painel: Object Context → Constraints Atalho: F7 Descrição

Um Objeto pode ser movido pela cena nas coordenadas X, Y e Z. Esta restrição coloca um limite na localização de um Objeto. Um limite pode ser especificado para para o valor mais Alto e mais Baixo de cada direção de coordenada. Limites separados para o mais alto e mais baixo podem ser aplicados para cada uma das três coordenadas espaciais (X, Y e Z). É interessante Notar que mesmo que a restrição "Limit Location" (Limitar a Localização) limite a localização visual e renderizada do Objeto, o Bloco de Dados do Objeto ainda permite que você tenha coordenadas que extrapolam os limites Máximo e Mínimo impostos pela restrição. Isto pode ser visto dentro das Propriedades de Transformação N. Quando um Objeto é agarrado e tentamos movê-lo fora dos limtes impostos pela restrição, O Objeto vai ser restrito até estes limites visualmente, e quando renderizado mas não internamente, sua coordenadas ainda serão alteradas além desses limites. Se a restrição for removida, o objeto vai parecer pular para a sua localização especificada internamente. Finalmente, se um Objeto possui uma localização interna que está além desse limite, arrastando o Objeto de volta a área do limite vai parecer não fazer nada até que as coordenadas internas estejam de volta ao seu limite estabelecido. Os limites para um Objeto são calculados a partir do seu centro. Configurando um valor Mínimo e Máximo nessa restrição para ter o mesmo valor pode retringir o Movimento do Objeto no eixo especificado, efetivamente travando esse eixo enquanto permite a movimentação em outros eixos. Ainda que seja possível fazer isto dessa maneira, usar a funcionalidade de Travamento de eixos dentro das Propriedades de Transformação N é provavelmente mais rápido e mais simples.


Opções minX, minY, minZ Estas configurações especificam a localização Mínima do centro do Objeto nos espaços de coordenadas X, Y e Z. Para colocar um limite, o valor Mínimo em coordenadas relacionadas ao world (Globais) da localização do centro do Objeto podem ser digitadas. A restrição não vai funcionar a menos que o botão associado com o eixo também esteja pressionado. maxX, maxY, maxZ Estas configurações especificam a localização Máxima do centro do Objeto nos espaços de coordenadas X, Y e Z. Para colocar um limite, o valor Máximo em coordenadas relacionadas ao world (Globais) da localização do centro do Objeto podem ser digitadas. A restrição não vai funcionar a menos que o botão associado com o eixo também esteja pressionado. Exemplo Category: Constraints

Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page

Restrição "Limit Rotation" (Limitar a Rotação) Modo: Modo de Objetos e Modo de Pose Painel: Contexto de Objetos → Constraints Atalho: F7 Descrição

Um Objeto pode ser rotacionado em torno dos eixos X, Y e Z. Esta restrição coloca um limite na quantidade de rotação. Um limite pode ser especificado dentro dos valores


mais altos e mais baixos da rotação em torno de cada eixo. É interessante notar que mesmo que a restrição"Limit Rotation" (Limitar a Rotação) é ativa para a rotação visual e renderizada do Objeto, o Bloco de dados do Objeto ainda permite que o Objeto possua valores de rotação fora dos campos especificados de mínimo e máximo. Isto pode ser visto dentro das propriedades de Transformação N. Quando um Objeto é rotacionado e se tenta rotacionar fora dos limites impostos pela restrição "Limit Rotation" (Limitar a Rotação), o objeto vai ser restringido até estes limites visualmente e quando renderizado, mas não internamente, seus valores de rotação ainda vão ser alterados além dos limites. Caso a restrição seja removida, o Objeto vai parecer pular para a sua rotação especificada internamente. Finalmente, se um Objeto possui uma rotação interna que está além do limite, rotacionando o Objeto de volta dentro da área de limite vai parecer estar fazendo nada até que os valores internos de rotação estejam de volta para dentro dos limites estabelecidos. Configurando uma restrição Mínima e Máxima para ter os mesmos valores, restringe a rotação do Objeto neste eixo efetivamente travando as mudanças para este eixo enquanto ainda permite a rotação em outros eixos. Ainda que seja possível fazer isto por este método, utilizar as Propriedades de Transformação para travar os eixos é provavelmente mais simples e mais rápido. Opções "LimitX" (Limitar em X) Os valores Mínimos e Máximos de rotação em torno do eixo X. A restrição não irá acontecer a menos que o botão associado a este eixo também esteja pressionado. "LimitY" (Limitar em Y) Os valores Mínimos e Máximos de rotação em torno do eixo Y. A restrição não irá acontecer a menos que o botão associado a este eixo também esteja pressionado. "LimitZ" (Limitar em Z) Os valores Mínimos e Máximos de rotação em torno do eixo Z. A restrição não irá acontecer a menos que o botão associado a este eixo também esteja pressionado. Exemplos Category: Constraints

Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page

Restrição "Limit Scale" (limitação de Escala) Modo: Modo de Objetos e Modo de Pose


Painel: Contexto de Objetos → Constraints Atalho: F7 Descrição

A restrição do tipo Limitação de escala serve para que você possa limitar a escala de um Objeto quando este estiver associado a outro Objeto ou quando uma keyframe inserida para um Objeto faz com que este acabe passando de um certo nível. Opções minX, minY, minZ Os valores Mínimos para os eixos, X,Y,e Z da escala do Objeto. Os valores podem ser negativos ou positivos, para o caso de escalas inversas. maxX, maxY, maxZ Os valores Máximos para os eixos X,Y e Z da escala do Objeto. Os valores podem ser negativos ou positivos, para o caso de escalas inversas. Mas lembre-se que quando uma escala máxima para o Objeto é mantida em um valor menor que zero ( negativo ) o Objeto se manterá invertido. "Influence" (Influência) A influência da Restrição sobre o o limite de escala do Objeto. O Valor total é o Valor do Limite multiplicado pelo valor do fator de influência. Exemplos Category: Constraints

Blender 2.4 Portuguese • • • •

Page

Doc page Discussion View source History


Restrição "Transformation" (Transformação)

Modo: Modo de Objetos e Modo de Pose. Painel: Contexto Object → Constraints Atalho: F7 Página incompleta Esta página ainda está incompleta em inglês, uma página de manual específica em breve será escrita e mantida por Ivan Paulos Tomé – Greylica tanto em sua versão (em inglês) quanto em sua versão para o Português

Descrição

Esta "constraint" (restrição) permite que transformações em Objetos possam ser convertidas de um tipo de movimento para outro, e também de um campo de atuação para outro, os usos típicos para isso podem incluir engrenagens, mecanismos e amostragem de rotações baseadas em configurações de localização e escala. As transformações podem converter movimentos de escala em graus, na relação de inicial de 1:1, ou seja cada vez que o Objeto é escalado uma vez a mais, um grau pode ser rotacionado no Objeto Alvo ( target ). Também podem ser convertidas localizações de Objetos em rotações, permitindo por exemplo a simulação de esmeris, ou de rodas sobre trilhos que se movem. As opções Mínimo e Máximo controlam a partir de um sentido de proporção, a conversão de um movimento do Objeto que está sendo Observado para o Alvo, o que significa a limitação de movimentos com cortes em seu valores extrapolados e ao mesmo tempo a divisão de resultados dos movimentos de um lado a outro.

Opções "Extrapolation" (Extrapolação) descrição aqui


"Source" (Fonte) descrição aqui "Destination" (Destinação) descrição aqui "CSpace" (Espaço de conversão, Normal e Global) descrição aqui Exemplo Categories: Constraints | Incomplete doc page

Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page

Visão Geral O arquivo do Blender contém uma base de dados. Esta base de dados contém todas as Cenas, Objetos, Malhas, Texturas, etc. que estão contidas no arquivo. Um arquivo pode conter múltiplas Cenas, e cada Cena pode conter múltiplos Objetos. Os Objetos podem conter múltiplos Materiais que podem conter muitas Texturas. É também possível criar as ligações entre diferentes Objetos. Modo: Todos os Modos, em alguma janela Atalho: ⇧ ShiftF4 - Navegador de Blocos de Dados (DataBlock Browser) Para acessar a base de dados, pressione Shift + f4, e a janela mudará para a janela de navgação de "Datablock" (Blocos de Dados). Esta Janela contém a amostragem de todos os objetos contidos no arquivo Blender. Para ir ao um nível acima, clique no ponto (.) e você verá seus Objetos sendo mostrados como uma espécie de estrutura de arquivos. Armadura, Brush, Camera, Curve, Group, Malhas, etc. Clique com o botão esquerdo do Mouse LMB para selecionar qualquer tipo de "DataBlock" (Bloco de Dados). Para as Malhas, por exemplo, é dado uma lista de Malhas contidas no arquivo, juntamente com o número de usuários que usam os Objetos dessa classe. Por exemplo, se você possui uma Malha de carro, e usa essa mesma Malha de carro para mais 6 outras Malhas (cópias ligadas), uma lista de Malhas de carros é exibida, com um total de 6 usuários. Modo: Seleção de dados Atalho: F - Usuário Falso -(Fake User) Clique com o botão direito do Mouse RMB para selecionar determinados tipos de dados (Materiais, Texturas, Imagens,...) e pressione o atalho F para atribuir um Usuário


Falso desses dados e mantê-los dentro de seu arquivo enquanto o Blender salva o seu arquivo no disco. Com um "Fake User" (Usuário Falso) no lugar, o Blender manterá os dados daquele arquivo, mesmo que não tenham um usuário "real". Dados sem usuários, do tipo Real ou Falso, não serão salvos dentro do arquivo Blender para esta seção e não serão carregados na próxima vez que você aciona o arquivo. Para manter os dados no Blender para uma utilização futura, de maneira pré-carregada , pressione o atalho F para atribuir um "Fake User" (Usuário Falso). Executar esta ação é o mesmo que clicar no botão F ao lado dos materiais, dos nomes de imagem, etc.

O "Outliner" (Delineador) e o diagrama esquemático OOPS OOPS é uma abreviatura para Object Oriented Programming System, ou Sistema de Programação Orientada a Objetos. O diagrama esquemático OOPS é um dos Modos disponíveis dentro da Janela do "Outliner" (Delineador), e é utilizado para verificar e ter uma noção de interligações entre dados de Objetos e o seu esquema de funcionamento. Você pode facilmente verificar os gráficos de seu arquivo na janela de OOPS do "Outliner" (Delineador). Exibindo esta janela, há uma visão parecida com a do fluxo do Sistema de dados. Esta janela oferece duas visões de sua base de dados contida em seu arquivo Blender. O Modo de visão de esboço permite que você faça operações simples nos Objetos. Estas operações incluem elecionar, deletar e fazer ligações. A visão esquemática da Janela de OOPS (Sistema de Programação Orientada a Objetos) permite que você veja facilmente como esses dados são interligados. Você pode filtrar a sua visão, de modo a Observar Objetos específicos utilizando os atalhos encontrados no Menu do "header" (cabeçalho), na parte de baixo da Janela. •

"Compartilhamento entre Objetos Usuários" (Shared Users) Muitos dados podem ser compartilhados por outros dados. Por exemplo, vamos supôr que você tenha um Material para um Objeto, nomeado "lustroso". Você pode selecionar um segundo Objeto, por exemplo, que ainda não tem um Material. Em vez de clicar em "Add New" (Adicionar Novo) para adicionar um novo Material, clique na seta de seleção ao lado do botão "Add New" (Adicionar Novo), que exibe uma lista de materiais contidos no arquivo e que estão disponíveis. Escolha um Material existente entre a lista para ser utilizado. Após a seleção, você perceberá um número "2" ao lado do nome do Material, indicando que há dois usuários para o Material (os dois Objetos) para este mesmo material. Outros exemplos comuns incluem: Compartilhamento de Texturas entre Materiais. Compartilhamento de Malhas entre os Objetos (Clones). Compartilhamento de Curvas IPO entre Objetos, por exemplo para fazer com que todas as luzes em um cenário escuresçam ao mesmo tempo.

"Fake User" (Usuário Falso) O Blender remove todos os dados que não estiverem ligados a qualquer "DataBlock" (Bloco de Dados) quando você abre um arquivo. Por este motivo, você pode ligar estes dados que não estão ligados a um Objeto ou "DataBlock" (Bloco de Dados) um "Fake User" (Usuário Falso). Você pode fazer isso, clicando no botão F ao lado do Nome do Dado que você gostaria de preservar em seu arquivo.


Copiando e Ligando objetos entre cenas As vezes você pode querer fazer operações de "link" (ligar) ou "copy" (copiar) Objetos e configurações entre Cenas. Isto é possível com os Objetos selecionados que você queira ligar ou copiar, então, você pode fazer a utilização das opções de "Make Links" (Fazer Ligações) e "Make Single User" (Fazer Usuário único). As opções para estas operações podem ser encontradas no menu de Objetos do "header" (cabeçalho) da Janela de visualização 3D. Escolha os Objetos desejados, e use a opção "make Links" (fazer ligações) para fazer ligações dos seus Objetos entre Cenas. O Blender irá perguntar em qual Cena você deseja fazer estas ligações. Para fazer uma cópia simples ou fazer com que os Dados do seu Objeto se tornem locais, você primeiro deverá fazer uma ligação e então usar "Make Single User" (Fazer Usuário único), para que seja feita uma cópia autônoma do(s) Objeto(s) em sua Cena atual.

Adicionar ou ligar através de arquivos Os Objetos contidos dentro de um arquivo do Blender são facilmente acessados usando a função "File/Append" (Arquivo/Anexar). Que pode ser acessado em qualquer momento usando ⇧ ShiftF1, ou através do menu "File" (Arquivo).

Objetos tipo "Proxy" (Próximos) Os Objetos do tipo "Proxy" (Próximos), permitem que você faça uma ligação com base nos dados completos dos Objetos que estão sendo construídos em outros locais. Por exemplo, isto permite que um desenhista/animador faça uma cópia local dos "Bones" (Ossos) de um personagem, sem ter o conjunto real-duplicado. Isto é especialmente útil para as configurações de animações de personagens, onde você quer que o personagem inteiro seja carregado de uma biblioteca externa, mas permite ainda que desenhistas de animações trabalhem com "Poses" (POses) e "Actions" (Ações). Um outro exemplo: você pode ter um modelador trabalhando em uma forma da "Mesh" (Malha) de um carro e em um outro trabalhando como o pintor de Materiais para esse carro. O pintor não pode alterar a forma do carro, mas pode iniciar o trabalho com esquemas de cor para o carro. As atualizações feitas à forma do carro são aplicadas automaticamente ao Objeto "Proxy" (Próximo) do pintor. Veja isso como uma informação mais útil sobre o sistema de base de dados.

Compactar e Descompactar dados O Blender tem a habilidade de incorporar vários tipos de dados (Texturas, Texto, Scripts ou mesmo arquivos) dentro de um arquivo .blend que são salvos normalmente fora de um arquivo de Animação Blender. Por exemplo, uma textura de imagem que seja um arquivo externo de .JPG pode ser “colocada dentro do interior” de um arquivo do Blender através do sistema de dados; Indo em "File->Pack" (Arquivos->Empacotar). Quando um arquivo .blend é salvo, uma cópia daquele arquivo de .JPG será colocada dentro desse arquivo .blend. O arquivo .blend pode então ser copiado em qualquer lugar, e a textura de imagem será movida com ele.

Descompactar dados Quando você tem um arquivo compactado, você pode ir em "File-> UnPack" (Arquivo>Desempacotar). Você será avisado com a opção para criar a estrutura original de diretório ou para pôr o arquivo no local relativo // (diretório onde o arquivo .blend está). Utilize "Original Locations" (Localização Original) se você tiver modificado as texturas e estiver recompactando, ou se estiver comparilhando arquivos .blend.


Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page Em progresso

0%

Linked Libraries Overview Blender is able to "reach in" to other .blend files and pull in whatever you want. In this way, Blender supports reuse of your graphical models. For example, if you have a library .blend file that has a really neat Material used in it, you can, from your current .blend file, Append that Material into your current .blend file. This saves you from manually re-creating all the different settings.

General Procedure {{RefBox |mode=All Modes |hotkey=⇧ ShiftF1 |menu=File → Append or Link |lang=en }} The main menu in Blender is located in the User Preferences window (by default the header located at the top of your screen). From that menu, all you have to do is use File -> Append or Link or press ⇧ ShiftF1 in your active window. The active window will change to a File Browser (the Window type icon looks like a manilla folder) selector window. Use this window to navigate your hard drive and network-mapped drives through folders and subfolders to find the .blend file that has the object you want to reuse. When you click on a .blend file (indicated by the square box next to the name), Blender will go into that file and show you the list of datablock types within it: Scenes, Objects, Materials, Textures, Meshes, etc. Clicking on any one of them will display the specific instances of that type. Folder and File Organization

We suggest creating a folder called /lib or /library. Under that library, create a set of folders for each kind of thing you might want to access and re-use later on, such as Materials, Textures and Meshes. Create subfolders under each of those as your library grows. For example, under the Meshes folder, you might want to create folders for People, Spaceships, Furniture, Buildings, etc. Then, when you have a .blend file that contains a chair mesh, for example, all you have to do is copy that file into the Furniture folder.


Appending library objects into your current project

The following procedure appends an object with all its linked data, such as mesh data, materials, texture etc., to the current .blend file. •

Select File -> Append or Link *Locate and select the file that contains the object you want to append (often a 'library' file). *Navigate to the OBJECT section of the file *Select one object from the list using LMB

, multiple objects via RMB

, and/or a

range of objects by dragging RMB *Repeat the above for each kind of object you wish to append or link. Parents and Armatures (all modifier objects) must be selected separately. *Set desired options that are shown in the header (to cursor, to active layer) *LMB

on Load Library or press ↵ Enter or MMB

directly on the data to append

Of course, you can append or link many other things besides objects: cameras, curves, groups, lamps, materials, meshes, an entire scene, etc. Note that there is a BIG difference between adding the Object and the type of object, such as Mesh. If you append a Mesh datablock, you are only bringing in the data about that particular type of Mesh, and not and actual instance of the Mesh that you can see. Use Append (button enabled by default) if you want to make a local independent copy of the object inside your file. Select Link if you want a dynamic link made to the source file; if anyone changes the object in the source file, your current file will be updated the next time you open it. These buttons are located in the File Browser window header. Click Load Library to append or link the object into your current blend file. Some more loading option buttons (in the File Browser header) include: •

AutoSel: **When an object is loaded, it is not active or selected; it just plops into your .blend file. Often, right after loading, you will want to do something with it, like scale it or move it. Enable this button and the imported object will be selected, just as if you magically right-clicked on it. This button saves the step of finding the object and selecting it. *Active Layer: **Blender has 20 layers to divide up a large scene, and each object resides on some layer. By default, an object is loaded into your file directly into the layer it resides on in the source file. To load the object to the current active layer that you are working on, enable this button. *At Cursor: **By default, an object is loaded into your file at the location it is at in the source file. To reposition the object to your cursor when it loads, enable this button. Finding What was Loaded If the loaded object is not visible, consider using At Cursor or AutoSel. If you use AutoSel, remember there are Snap tools to put your cursor on the object (⇧ ShiftS4 (Cursor to Selection)), and Center your view on it (C (Center View to Cursor)). Note that these tools do not work if the object is on an unselected layer, since objects on unselected Layers are invisible.


Reusing Objects (Meshes, Curves, Cameras, Lights, etc) Let's suppose you created a wheel in one .blend file and want to reuse it for your current project. The physical model of the wheel would be a mesh, and probably comprised of a tire and rim. Hopefully you named this mesh something reasonable, like, oh, I don't know, "Wheel". The wheel may be colored and thus have some Materials assigned to it (like rubber and chrome). Once you navigate to the file, select the "Wheel" and it will be imported into your current file. You can import a copy of it, or merely link to it. Linking: If you link to it, and later modify it in the source file, it will be shown "as-is" (modified) in your current file the next time you open it up.

Other artists have released their models to the public domain, and friends may share models simply by posting or emailing their .blend files to each other. Keeping these files, as well as your past projects, in a Download directory on your PC/server will save you from ever having to reinvent the wheel. When selected, linked objects are outlined in Cyan. Normal selected objects are outlined in pink. Notice that you cannot move a linked object! It resides at the same position it has in the source file. To move/scale/rotate the object, turn it into a Proxy. Using Appended/Linked Mesh Data

When Appending or Linking certain resources such as mesh data, it may not be instantly visible in the 3D Viewport. This is because the data has been loaded into Blender but has not been assigned to an Object, which would allow it to be seen. You can verify this by looking in the Outliner View and switching it to OOPS Schematic view (you may need to have the Displays Scene datablock button selected in the OOPS Schematic Header menu).


In the OOPS Schematic picture you can see that Wheel is not linked to an Object.

To allow the newly loaded Wheel mesh to be assigned to an Object, either select a currently visible object or create a new object (such as a cube), then goto the Link and Materials panel and select the Wheel mesh from the mesh drop down panel, at that point you should see the Wheel mesh, because it's been assigned to an object. <BR/> If instead of Appending/Linking to a mesh you instead load the object into Blender, it should be instantly displayed in the 3D Viewport without having to associate an object with the mesh using the Link and Materials panel.

Reusing Material/Texture Settings


Some materials, like glass or chrome, can be very tricky to get "just right". The Blender Foundation has released, for example, a Materials CD, which is available for free to download from their site. Using the .blend files on that CD, you can import common materials, like glass, chrome, wood and bananas. This feature saves you a lot of time, as it often means you don't have to be fiddling with all the little buttons and sliders just to re-create a material. I call out the Banana material because it is a great example of using simple procedural materials with a ColorRamp, and a procedural texture, to give a very realistic look. When you navigate to the file, and select Materials, the browser will show you a sphere sample of that material to help you visualize the texture that goes with the name. For more information on using the image browser, see the release notes. Blender Extension: Library There is also a fantasic Python script called Blender Library that overarches all of your files and allows you to construct a master library. This script displays a preview and helps you organize your Blender work. Highly recommended; search www.blendernation.com for "Blender Library", it is also stored on the Blender Wiki Scripts section here.

Reusing Node Layouts To reuse noodles (node layouts), open the original (source) file and create a Group for the set of nodes that you think you want to reuse. When you want to import that node group into your current file, select File->Append from the User Preferences window header, and navigate to the file. When you dive into the file, there will be a NodeTree option. Click it and the list of node groups in that file will be listed. LMB one you want and then Load Library.

Click the

Verse Verse is an amazing OpenSource collaboration tool that integrates with Blender. Verse enables multiple people to work on, link, and share objects and modifications in Blender files in real time.

Proxy Objects A proxy is a legal stand-in or substitute for the real thing. In Blender, when you make a linked copy (described above), you cannot edit the object; all you have is a link to it. You cannot add to it or change it, because its source is in another file that is not open. When working in a team environment, you may want more flexibility. For example, if modeling a car, you may have one person working on the shape of the car (its Mesh), but another working on available color schemes (its Materials). In this case, you want to grant the Painter a Proxy of the object and allow him/her to modify the material settings. More commonly, you will have a character being animated by a team of animators; they can define poses, but cannot change the character's colors or armature, only use what is defined by the master rigger. The important aspect of a Proxy Object is that it allows you to edit data locally, but also allows specific data to be kept protected. Data that's defined as protected will always be


restored from the Library (typically on file reading or undo/redo steps). This protection is defined in the referenced Library itself, which means that only the Library files can define what's allowed to change locally. For Poses, you can control this by indicating Bone layers as being protected. A protected layer is shown with a black dot in it. Use CTRL+click on a button to protect or unprotect that layer. {{RefBox |mode=Object Mode |hotkey=CtrlAltP |lang=en }} To make a Proxy object for yourself, establish a Link to the source object as described above. With that linked copy selected (RMB and in view (you can see it in the 3D View), press CtrlAltP and confirm the Make Proxy dialog. The object will be named with the original name plus a "_proxy" suffix. You may now move and modify the proxy. When selected, it will look like a local object (outlined in pink). You can then edit unprotected data. For most objects, this includes the location and rotation. You can also animate the object's location and animation using Ipo Curves. For mesh objects, the shape of the mesh is protected, so you cannot define shape keys. When you reload your file, Blender will refresh your file with any changes made to the original protected data, but will not reset your changes (unless the owner has).

Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page

Layout de tela atual e cena As cenas são uma maneira de organizar o seu trabalho. As cenas podem compartilhar objetos, mas elas podem, por exemplo, diferir de outra na sua resolução após renderizada ou na sua visão de câmera. O layout de tela (padrão) e de cena é mostrada na janela de cabeçalho de Informação do usuário, geralmente localizada na parte de cima de sua tela:

Janela de cabeçalho informação de usuário. A) ícone da janela, B) Menu, C) Layouts de telas, D) Cenas. Expandindo Imagens no Manual Neste manual é possível expandir a imagem desde que haja um pequeno ícone na parte de baixo da imagem, você pode clicar nesse ícone para ver a imagem num formato maior.


Carregando o arquivo UI através do menu File -> Open Dentro de cada arquivo .Blend, O Blender salva o layout da interface do usuário (UI) – a organização de layouts de telas. Por definição, este arquivo de interface (UI) é carregado, sobrepondo qualquer definição de usuário ou layout de tela atual que você talvez tenha. Se você quer trabalhar em um arquivo .blend usando suas definições atuais, você deve iniciar uma nova instancia do Blender, abrir o seletor de arquivo (usando a tecla F1), e então desligar o botão “Load UI” localizado no cabeçalho da janela do navegador de arquivos, e depois abrir o arquivo. O blender não modificará seu layout de tela atual quando você carregar um novo arquivo.

Trabalhando com as cenas Selecione uma cena para trabalhar por clicar na seta próxima ao nome da cena. O que deve conter nas cenas e nos objetos vai depender do tipo de projeto que você quer trabalhar. Portanto, eles também podem ser salvos em seu estado atual a fim de serem reusados isso pode ser feito por pressionar CtrlU. Desse modo eles irão aparecer da próxima vez que o Blender for iniciado ou usuário selecionar o menu File -> New. O Blender vem com uma cena padrão, na qual contem uma câmera, uma lâmpada e uma caixa, isso é ótimo!

Adicionando uma Cena

Menu popup (Add Scene) Adicionar Cena É possível fazer uma copia inteira da cena atual, para isso inicie com uma janela em branco, ou crie uma cena que esteja ligada a cena atual; desse modo os objetos serão mostrados na cena nova e na cena antiga. Use esse recurso de linkagem quando, por exemplo, você quiser que a cena original contenha o set ( o ambiente em si) e a nova contenha os atores ou as propriedades. Começando: Se você inicia com uma nova cena, certifique-se de adicionar a iluminação e uma câmera primeiro.. As cenas são listadas alfabeticamente na lista pop – up (flutuante). Se você quiser que elas apareçam numa ordem diferente, inicie as com um numero ordinal, como por exemplo “1-“. A referencia para uma cena é sua abreviação de três letras “SCE”. Para adicionar uma cena, clique no botão lista de cena e então escolha a opção Add New. Ao trabalhar com uma cena você terá essas opções: Empty Cria uma cena completamente vazia. Link Objects


Todos os objetos são ligados a nova cena. A camada e os sinais(flags) de seleção dos objetos podem ser configurados de maneira diferente em cada cena. Link ObData Apenas duplica os objetos. ObData ligado aos objetos, exemplo: malha e curvas, não são duplicados. Full Copy Tudo é duplicado. Geralmente para a sua primeira cena, você faz uma copia completa da definição, ou você pode iniciar com a definição, e começar a edição do cubo que está lá esperando que você use sua criatividade. Então crie!

Nomeando uma cena Você pode usar ⇧ ShiftLMB (clique com o botão esquerdo do mouse) no nome da cena (geralmente nomeado Scene.001), é possível mudar o nome da cena. Por exemplo, “ GarotoEncontraGarota” é geralmente mais pratico do que o método de numeração. Você então passa a fase de modelagem das propriedades e objetos na cena usando a janela de layout 2-Model.

Removendo a cena do Arquivo Você pode deletar a cena atual clicando na letra X próximo ao nome do mesmo.

Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page

Planejando a Cena O Blender pode ser usado para criar algo simples como uma cena ou imagem, ou algo muito mais complexo como um filme completo. Um filme é geralmente composto de três situações: 1. Introdução- Conflito 2. Progresso da tensão 3. Clímax da Resolução (Solução da Situação) Cada situação contem algumas cenas, configurações de onde a ação acontece. Cada sena é uma tomada em um set, estagio ou localização. Cada um com propriedades e fundos. A cena é um set de seqüência de ações onde os atores atuam (que realmente convença). Cada seqüência, ou tomada, geralmente duram alguns segundos. Um único arquivo do blender é organizado e configurado para ser capaz de conter um filme completo. Cada arquivo do blender pode conter múltiplas cenas. Uma cena é um grupo de objetos organizados em camadas. Enquanto você progride no processo de criação, você usa uma configuração de janelas (layouts de telas) feitas especificamente para lhe ajudar a trabalhar de maneira mais eficiente no processo de criação: modelagem dos objetos e criação de suas propriedades como: a vestimenta dos atores e o adorno do set (atribuição de materiais), definição da ação (animação), rederização do


vídeo, e a produção do filme. Você pode tanto usar estes layouts de tela ou criar seus próprios layouts de acordo com suas necessidades.

Planejando sua Timeline (linha do tempo) Tomadas em uma cena são feitas por mover uma câmera e/ou atores dentro da cena por alguns segundos. O tempo no blender é medido em quadros(frames), e geralmente um vídeo tem 25 ou 30 quadros por segundo (fps-frames per second), e um filme tem 24 quadros por segundo. Então para uma tomada de 5 segundos você deve alocar 150 quadros (30 quadros por segundo x 5 segundos). Seguindo essa lógica a tomada 2 iniciaria então no quadro 250 e continuaria apartir daí. Um filme de um minuto em uma única cena para o padrão americano (NTSC) teria uma timeline com 1800 quadros no total, e talvez estendidos ate cerca de 2500 quadros. Essa timeline permite o corte de 700 quadros, aproveitando os 1800 quadros (30 quadros por segundo x 60 segundos = 1800 quadros) isso menos o tempo de transição. • Múltiplas Câmeras: Você pode ter múltiplas câmeras em uma cena, usadas para diferentes tomadas, e então selecionar qual deve esta ativa quando uma tomada for renderizada. Você pode apagar uma cena clicando na letra X próxima ao nome da cena (localizada no cabeçalho da janela preferências de Usuário).

Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page Em progresso

0%

Outliner window Description

The Outliner Window is used for easily navigating a complex scene. There are two views, the Outliner view and the OOPS Schematic view. The OOPS Schematic and Outliner give you a 2d representation of your complicated 3d world. Use these views to find things in your scene. For example, suppose you sneeze while moving an object; your mouse flies off your desk (gezhundeit!) and the object is hurled somewhere off screen into space. Simply use the schematic/outliner to find it; select it, and move back to your 3d window to snap your cursor to it and then move it back. Another more practical example is to evaluate the impact of a change on related datablocks. Suppose you are looking at your TableTop object, and it doesn't look right;


the Wood material doesn't look right; you want it to look more like mahogany. Since the same material can be used by many meshes, you're not sure how many things will change color when you change the material. Using the OOPS Schematic, you could find that material and trace the links that it has to every mesh in your scene. <br> Outliner view

The Outliner window in list mode. The Outliner is a kind of list that organizes related things to each other. In the Outliner, you can: •

View the data in the scene *Select and deselect Objects in the scene *Hide or show an object in the scene *Enable or disable selection (to make an object "unselectable" in the 3D Window) *Enable or disable the rendering of an object *Select data like materials and textures directly (they show up automatically in the Buttons Window!) *Delete objects from the scene *Unlink data (equivalent to pressing the "X" button next to the name of a datablock) *Easily select which RenderLayer to render *Easily select which render pass to render (for example, you can choose to render just the Specular layer).


OOPS Schematic view

The OOPS schematic view in the Outliner window. The OOPS schematic is a kind of picture that shows how things are linked together. OOPS is a highly geeky term for Object-Oriented Programming System. Yeah, right. I think someone just spilled coffee on their keyboard late one night and this was the first word that came to their mind ;) In the OOPS view, you can: •

Look at relationships between objects (for example, which objects use the same texture)

The main difference is that the OOPS schematic shows you all available things (datablocks) in your blend file, organized by type of thing: scenes at the bottom, objects in the middle, materials toward the top. The Outliner shows you things in use within your blend file, organized by parent object with their children as indents.

Selecting the Outliner Window Type


Turn a window into an Outliner window type by using the Window Type menu.

The Outliner window in list mode. Choose a window and click on its current Window Type button (left-most icon in its header), and select Outliner.


Switch between the Outliner view and the OOPS Schematic view using the menu item View → Show OOPS Schematic or View → Show Outliner.

Window size Choose or arrange a window size that suits the view you are going to work with. The OOPS Schematic needs a wide window, and the Outliner needs a tall, narrow window.

Using the Outliner view Each row in the Outliner view shows a datablock. You can click the down-arrow to the left of a name to expand the current datablock and see what other datablocks it contains. You can select datablocks in the Outliner, but this won't necessarily select the datablock in the scene. To select the datablock in the scene, you have to activate the datablock. Selecting and activating

<br>Single selection doesn't require any pre-selection: just work directly with LMB and/or RMB

inside the name/icon area.

Toggling selection of a datablock. •

Toggle pre-selection of a group of datablock<br>Useful when you want to select/deselect a whole bunch of datablocks. For this you must prepare the selection using, to your liking:<br>RMB <br>RMB

and drag or LMB

then confirm with a RMB

or LMB

, <br>⇧ ShiftRMB

or ⇧ ShiftLMB

,

and drag <br>all outside the name/icon area.<br>You

on the name/icon area to bring on a dialog.

<br>When you select an object in the list,| it is selected and becomes the active object in all other 3D View window panes. Use this feature to find objects in your 3D View; select them in the outliner, then snap and center your cursor on them via ⇧ ShiftS>Cursor to Selection, and then C


Click LMB •

on the mesh data of the cube to activate Edit Mode.

Activate the datablock with LMB on the icon or the name of the datablock. Activating the datablock will automatically switch to the relevant mode or Buttons context. For example, activating the mesh data of the cube will select the cube and enter Edit Mode (see right). Another example is that activating the material datablock for the cube will show the material in the Material context of the Buttons window.

Context menu for the Cube object. •

Show the context menu for a datablock with RMB on the icon or name. Depending on the type of datablock, you will have the following options (Note: some datablock types will not have a context menu at all): **Select **Deselect **Delete **Unlink **Make Local *Delete selected datablocks with X. *Expand one level with + NumPad. *Collapse one level with - NumPad. *Collapse/Expand all levels with A

Toggling object-level restrictions


Icons for toggling The following options are only available for objects: •

Toggle visibility by clicking the 'eye' icon for the object on the right-hand side of the Outliner. Useful for complex scenes when you don't want to assign the object to another layer. This will only work on visible layers - an object on an invisible layer will still be invisible regardless of what the Outliner says. V will toggle this property for any objects that are selected in the Outliner. *Toggle selectability by clicking the 'arrow' icon. This is useful for if you have placed something in the scene and don't want to accidentally select it when working on something else. S will toggle this property for any objects that are selected in the Outliner. *Toggle rendering by clicking the 'camera' icon. This will still keep the object visibile in the scene. It will be ignored by the Renderer. R will toggle this property for any objects that are selected in the Outliner.

Searching

You can search the file for datablocks, either by using the Search menu in the header of the Outliner, or by using one of the following hotkeys: •

F - Find *⇧ ShiftF - Find again *CtrlAltF - Find complete (case sensitive) *AltF - Find complete *CtrlF - Find (case sensitive)

Matching datablocks will be automatically selected. Filtering the display

Outliner Display dropdown The window header has a field to let you select what the outliner should show in the outline. By default, the outliner shows All Scenes. You can select to show only the current scene, datablocks that have been selected, objects that are on currently selected layers, etc. These selects are to help you narrow the list of objects so that you can find things quickly and easily. •

All Scenes - Shows everything the outliner can display (in all scenes, all layers, etc...) *Current Scene - Shows everything in the current scene. *Visible Layers - Shows everything on the visible (currently selected) layers in the current Scene. Use the Layers buttons to make objects on a layer visible in the 3D


window. *Groups - Lists only Groups and their members. *Same Types - Lists only those objects in the current scene that are of the same types as those selected in the 3d window. *Selected - Lists only the object(s) currently selected in the 3D window. You can select multiple objects by ⇧ ShiftRMB *Active - Lists only the last selected object.

<br> Example

The Outliner window in list mode. The outline example shows that the blend file has three scenes: Ratchet in Middle, Ratchet on Outside, and Ratchet Out White. By clicking on the little arrow to the left of the name, the outline is expanded one level. This was done for the Ratchet in Middle scene. As you can see, this scene has some world material settings, a Camera, an Empty, a HandelFixed object ... all objects that were added to the scene.

By clicking the arrow next to ratchetgear, we can see that it has some motion described by the ObIpo.001 curve; that it was based on a Circle mesh, and that it is the parent of HandleFixed.002. HandleFixed is in turn the parent of Plane.003, and so on. The neat thing is: If you select any of these datablocks here, they will be selected in the 3d Window as well as far as this is possible. Pressing


•

on your keypad with your mouse cursor in any 3D Window will center the view to that object. Very handy. Also, pressing X will delete it, as well as all the other hotkeys that operate on the currently selected object.

<br>

Using the OOPS Schematic Layout of the OOPS Schematic In this view, the window has a clear background that, by default, shows the OOPS Schematic and a header:

Outliner Window in OOPS Schematic modeA) OOPS Schematic, B) Menu, C) Zoom, D) Display Select, E) Currently selected datablock

The OOPS Schematic window & header have the following areas: A) The schematic picture :B) Menus with the basic functions: View, Select, and Block :C) A zoom control that allows you to focus on a certain area of the schematic. :D) Visible Select - A number of buttons that toggle what kinds of datablocks are displayed in the schematic. :E) The name of the currently selected datablock. The datablock is also highlighted in the OOPS schematic. (A) Making sense of the OOPS Schematic

The schematic is a sort of map that shows the connections between datablocks. Each datablock is shown as a colored box. Boxes (datablocks) are connected by lines. Common types of connections between datablocks are: Parents  One datablock, let's say an object called "TableTop", is held up by four other objects "leg.001", leg.002", etc. The TableTop would be the parent of each of the legs, so that as the table top moves, the legs move as well. In the schematic, four lines would be shown going from the TableTop to each of the Legs. ;Material Use  :Datablock can share the same material. In our Table example, the TableTop and each of the legs might share the same material, "Wood", so that they all look the same. In


the schematic, there would be a box called "Wood" with five lines connecting it to each of the mesh datablocks TableTop, Leg.001, Leg.002, Leg.003 and Leg.004.

The schematic uses different colored boxes for each type of datablocks: green for scenes, grey for objects, taupe for text, sea green for materials, etc. to help you visually distinguish between types of datablocks. The OOPS Schematic Header View  Handy functions include switching between the schematic and outliner view. Also, you can change the size of the boxes, so more can fit in the window. ;Select  :Key functions include finding users and links between connected boxes, as indicated in the useage examples previously. ;Block  :Scales (S) the distance between multiple selected datablocks, and grabs/moves (G) an datablock or set of selected datablocks around the schematic - very useful for arranging and organizing your schematic. ;Zoom controls  :As you can imagine, depending on what you have selected and your scene complexity, these schematics can start looking like the piping diagram for a nuclear power plant. The schematic header provides two buttons to help you zoom in. Hold down LMB over the

button and move your mouse up and down (forward and backward) to

zoom your view in and out. Click on to start a border select. Select a region in the window, and your window view will be zoomed to that region. Standard Window Controls The window, like any Blender window, can be panned by clicking the middle mouse button while your cursor is in the window, and moving the mouse.

;Visible Select  :The series of icons in the header allow you to select what type(s) of datablocks are visible in the schematic. They are, left to right: :*

- Only show the datablocks from the shown layers.

:*

Scenes - Your stage, a set, where action occurs.

:*

Objects - Cameras, empties, and other misc items

:* Meshes - The main things you model, not to be confused with Objects. e.g. One Mesh can be used in multiple objects and is displayed accordingly in the schematic.


:*

Curves, Surfaces, Fonts

:* Metaballs - Mathematically calculated meshes that can mush together. :*

Lattices - Deformation grids

:*

Lamps - All types of lights.

:*

Materials - Colors, paints.

:* Textures - Color maps or gradients used commionly in materials and other places. :*

Ipos - Actions,

:*

Images - Imported pictures

:*

Libraries - Collections of Objects

<br>

Datablocks The base unit for any blender project is the datablock. The datablocks and the ways those are linked together are all there is to it, may it be a simple still image of a sphere floating over a plane or a full featured film. These datablocks can reside within as many files as needed for the good organization of the project. Scene Datablock

Each "scene datablock" contains a scene. "Scene datablock" is the parent of the rest datablocks. Object Datablock

Each "object datablock" has the properties of Scale, Location and Rotation and is the 'meeting place' for other datablock that define the other properties of that object when they are linked to it. An object can be linked to other datablock that determine its nature: mesh, curve, camera, lamp or armature datablock are a few examples of such datablocks. Other datablocks, will define the material, the texture, the animation... for that object. ObData Datablocks

These datablocks are such datablocks that are always connected to "Object datablock" in a way or another. Curve Datablock

"Curve datablock" may contain NURBS curves or circles, Bezier curves or circles, or Text objects. It may also be linked to a "material datablock". Camera Datablock

"Camera datablock" contains a camera.


Lattice Datablock

"Lattice datablock" contains a lattice. Lamp Datablock

"Lamp datablock" contains a lamp. Metaball Datablock

"Metaball datablock" contains a metaball. Mesh Datablock

Each "mesh datablock" contains a mesh. "Mesh datablock" may contain link to one or more "material datablocks". Material Datablock

"Material datablock" contains a material. It may contain links to "texture datablocks". Note that "material datablocks" can be linked to "object datablock" instead if desired. You can set this in the "User Preferences" window below "Edit Methods". Texture Datablock

"Texture datablock" contains a procedural or image texture.

Copying and Linking Datablocks It is possible to copy object and scene datablocks. <!--Not true, I think; and redundant with the "Copying and Linking Object Datablocks" part! To copy object datablock, first select the objects you want to copy and hit CtrlD while hovering mouse on "3D viewport".--> Copying and Linking Scene Datablock

To copy scene datablock, use Scene list found in the header of "User Preferences" window. The list is to the right of the menus and window workspace list. Select "ADD NEW" to make a copy of the current scene. Select "Full Copy" from the list that opened to make a copy. The current scene will be copied to the new scene. Instead of copying everything, you can link datablocks by selecting "Link Objects" or "Link ObData" on the list (the former copying the objects, but not their ObDatas meshes, curves, materials, etc.). Note that if you select "Link Objects", it means that the objects are linked on deeper level as Object Datablock is parent of ObData datablock. So for instance if you move an object, the move is reflected to other scenes linked this way as well. Copying and Linking Object Datablocks • ⇧ ShiftD is used to make normal copy of the selected objects: **The object and some of it's child datablocks will really be duplicated, the other children are just linked; you can define the attributes to be duplicated in User Preferences → Edit Methods, button group Duplicate with object:. • AltD makes a linked copy: **All datablocks but the object one are linked. Copying and Linking other Datablocks

You can see a number next to the name of a datablock. This number indicated the number of links. If you click the number, it removes the link to the datablock and creates a new copy.


Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page

Estendendo o Blender Diferentemente de outros programas com os quais você pode estar familiarizado, o Blender não é monolítico e estático. Você pode estender as suas funcionalidades sem ter de modificar o código fonte e recompilar. Existem duas maneiras de estender a funcionalidade do Blender utilizando: Scripts Python e Plugins Binários.

Scripts Python Fora do executável do Blender, existem literalmente centenas de Script escritos por muitas pessoas: • •

Muitos Scripts são embutidos com o instalador do Blender. Nem todos os Scripts podem ser inclusos dentro da distribuição de versões do Blender por razões logísticas ou de suporte, mas muitos deles funcionam seguramente e são muito úteis, então eles foram catalogados e estão disponíveis dentro desta wiki na página de Catálogo de Scripts (em inglês) e na nova página Rastreamento de Extensões. (em inglês)

Plugins Existem muitos Plugins para estender a funcionalidade do Blender em duas áreas importantes: • •

Plugins de Textura – Altera a maneira com a qual um Material aparece. Sequências de Vídeo – Fazem alguma coisa bacana com fluxos de Vídeo.

A Instalação Padrão do Blender inclue alguns Plugins, mas você pode encontrar outros em: repositório de Kent Mein’s (em inglês) e no novo site de Rastreamento de Extensões (em inglês).

Salvando as suas próprias extensões Localização dos Arquivos

Dentro de uma distribuição GNU/Linux, existem duas pastas chamadas “scripts” e “plugins” abaixo de uma destas pastas: • •

/usr/share/blender/, OU /usr/lib/blender/,

dependendo de sua distribuição.


Dentro de uma instalação Microsoft Windows, existem também duas pastas chamadas “scripts” e “plugins”, mas a pasta “scripts” está em um diretório chamado “.blender”, que está localizado juntamente com a pasta plugins. A localização destas pastas depende da escolha que você faz durante a instalação, são estas: "Use application data directory" (Utilizar o diretório de dados da aplicação) Neste caso, as pastas scripts e plugins irão estar em um local como: C:\Users\****\AppData\Roaming\Blender Foundation\Blender\

"Use installation directory" (Utilizar o diretório de instalação) Neste caso, as pastas “plugins\” e “.blender\scripts\” vão estar dentro do diretório de instalação do Blender. "I have defined a %HOME% variable - please install here" (Eu defini uma variável %HOME% -por favor, instale aqui) Neste caso, as pastas estarão dentro do diretório definido para a localização da variável “%HOME%” .

Você pode configurar um "path" (caminho) para os Script e um para os Plugins dentro das Preferências de Usuário, dentro de User Preferences → File Paths. Scripts

Caso você encontre um Script que seja útil para você, baixe ele para o seu diretório scripts e ele estará ali quando você necessitar dele. Caso ele não esteja dentro da pasta scripts, você terá que carregá-lo utilizando o Editor de textos do Blender e então escolhendo pelo Menu → File → Run Python Script. Plugins

Caso um Plugin esteja dentro do diretório de instalação do Blender plugins (ou caso você o tenha escolhido via "User Preferences" (Preferências de Usuário) e os tenha colocado no local correto, você poderá facilmente encontrá-lo quando você utilizar as opções de Menu para escolha de Plugins, presentes nos Menus para "Texture" (Texturas), "Sequence" (Sequencias) ou "Plugin" (Plugin), como uma das opções. Caso não, você terá que encontrar o Plugin ou Script manualmente navegando através das pastas de seu disco rígido. Em ambos os casos, eles serão dinamicamente carregados para você e estarão prontos para estar trabalhando imediatamente.

Category: Extensions

Sistema de Plugins do Blender


Esta seção publica uma referência mais aprofundada para os Plugins de Texturas e Plugins do Sequenciador do Blender: Plugins de Textura • Lista de Plugins de Textura (A partir da seção de Texturas) • Especificações de Plugins de Textura Plugins do Sequenciador • Lista de Plugins do Sequenciador (A partir da seção do Sequenciador) • Especificações de Plugins do Sequenciador Categories: Extensions | Plugins Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page

Escrevendo um Plugin para Sequenciador Nesta seção, nós iremos escrever um Plugin básico para o Sequenciador e então navegar através dos passos para a utilização de um Plugin para o Sequenciador. O conhecimento básico necessário por trás de um Plugin de Sequenciador é que você terá como entradas, de 1 a 3 Buffers de Imagem, tanto quanto algumas outras informações, e você terá como resultado uma saída de Buffer de Imagem. Manter a informação de partes do Manual ”No estado” Como esta parte do Manual explica procedimentos avançados do Blender através de configuração e programação Interna, decidi manter os Códigos em C sem tradução parcial ou completa, incluindo os seus comentários. É desejável que o leitor que se aventure na área de programação possua um mínimo de conhecimento do Inglês para que possa se guiar através de manuais de programação, e para que possa compreender os comandos de maneira adequada → Ivan Paulos Tomé – Greylica Todos os arquivos necessários para o desenvolvimento de Plugins como também alguns Plugins de exemplo podem ser encontrados no diretório de Plugins do Blender, localizado em blender/plugins directory. Você pode alternativamente baixar um monte de Plugins a partir deste repositório.

Especificação #include <plugin.h>

Cada Plugin do Blender deverá possuir este arquivo de cabeçalho, que contém todas as estruturas necessárias para que o Plugin funciona apropriadamente com o Blender.


char name[]="Blur";

Uma "string" (variável de amarração) que contém o nome do Plugin. VarStruct varstr[]= {...};

A estrutura “varstr” contém toda a informação que o Blender necessita para mostrar os Botões para um Plugin. Os Botões para os Plugins podem ser numéricos para a entrada de dados, ou Texto para comentários e outras informações. Os plugins são limitados para um máximo de 32 variáveis. Cada entrada da estrutura “VarStruct” consiste de "type" (tipo), "name" (nome), "range" (campo de abrangência) e uma "tool tip" (dica de ferramenta). type

Define os tipos de dados para cada entrada de botão, e maneira que o botão será mostrado . Para botões numéricos, este valor deverá ser uma combinação (O Binário “OR”, “|”) de “INT” ou “FLO” para o formato numérico (inteiro ou de ponto flutuante), e “NUM”, “NUMSLI”, ou “TOG”, para tipo de botão (numérico, numérico com deslizador, ou de alternância). Botões de Texto deverá possuir um tipo de rótulo, através da String “LABEL”. name

É o que será mostrado no botão (ou ao lado dele). Isto é limitado a 15 caracteres. range information

Consiste de três variáveis de ponto flutuante que definem os valores "default, minimum, and maximum" (padrão, mínimo e máximo) para o botão. Para os botões de alternância TOG, o mínimo é configurado para o estado “pressionado”, e o máximo é configurado para o estado “não pressionado” do botão . tooltip

É uma "string" (variável de amarração) que será mostrada quando o Mouse estiver passando pelo botão (caso o usuário tenha a opção de Tool Tips habilitada). Isto possui um limite de 80 caracteres, e deverá ser configurado para nulo (NULL) ("") caso não seja utilizado.

typedef struct Cast {...}; A estrutura Cast é utilizada quando

estiver chamando a função doit e serve como uma maneira de simplesmente acessar os dados de valor de cada Plugin. A estrutura “cast” deverá conter, em ordem, um número inteiro ou flutuante para cada botão definido na variável “varstr”, incluindo os botões de texto. Tipicamente, estes deverão possuir o mesmo nome que o botão para simples referência.

float cfra

O valor de cfra é configurado pelo Blender para o quadro corrente antes de cada passo de renderização. Este valor é o número do "frame" (quadro) (± 0.5 dependendo de configurações de entrelaçamento (renderizações com field)). plugin_seq_doit prototype A função plugin_seq_doit deverá ser prototipada para ser utilizada pela função getinfo . Você não precisa alterar esta linha. plugin_seq_getversion

Esta função deverá estar em cada Plugin para que este seja carregado corretamente. Você não deve alterar esta função. plugin_but_changed

Esta função é utilizada para passar informação sobre quais botões o usuário modou dentro da Interface. A maioria dos Plugins não necessita utilizar esta função, somente quando a Interface permite o usuário que altere algumas


variáveis que forçam o Plugin a fazer um recálculo (uma tabela randômica picada, por exemplo (random hash table)). plugin_init

Caso necessário, os Plugins podem utilizar esta função para inicializar os dados Internos. Nota: Esta função de inicialização pode ser chamada múltiplas vezes caso o mesmo Plugin de textura seja copiado. Não inicie "Global Data" (Dados Globais) específicos de uma instância única de um Plugin nesta função. plugin_getinfo

Esta função é utilizada para comunicar informação para o Blender. Você nunca precisará alterá-la. plugin_seq_doit

A função de Plugin de Sequenciador doit é responsável pela aplicação do efeito do Plugin e pela cópia dos dados finais para dentro do Buffer de saída. The Arguments Cast *cast A estrutura Cast que contém os typedef struct Cast. float facf0

dados do Plugin, veja as entradas acima sobre

O valor da Curva IPO do Plugin para o primeiro deslocamento de campo (field). Caso o usuário não tenha feito uma curva IPO, este campo varia entre 0 e 1 para a duração do Plugin. float facf1

O Valor da curva IPO do Plugin para o deslocamento do segundo campo (field) . Caso o usuário não tenha feito uma curva IPO, este campo varia entre 0 e 1 para a duração do Plugin. int x, int y

O comprimento e altura dos Buffers de Imagem, respectivamente . Imbuf *ibuf1

Um ponteiro para o primeiro Buffer de Imagem ao qual o Plugin está ligado. Isto será sempre um Buffer de Imagem válido. Imbuf *ibuf2

Um ponteiro para o segundo Buffer de Imagem ao qual o Plugin está ligado. Os Plugins que utilizam este Buffer deverão checar por um Buffer do tipo Nulo NULL , pelo fato do usuário não poder ter ligado o mesmo Plugin a dois Buffers. Imbuf *out

O Buffer de Imagem para a Saída do Plugin. Imbuf *use

Um ponteiro para o terceiro Buffer de Imagem ao qual o Plugin está ligado. Os Plugins que utilizam este Buffer deverão checar por um Buffer do tipo Nulo NULL, pelo fato do usuário não poder ter ligado o mesmo Plugin a três Buffers. ImBuf image structure A estrutura ImBuf sempre contém dados de Pixels em formato de 32 bits RGBA. As estruturas ImBuf são sempre iguais em seu tamanho, indicadas pelos valores x e y. "User Interaction" (Interação com o Usuário) Não há uma maneira do Blender saber quantas entradas o Plugin espera para poder funcionar, então é possível que um usuário conecte somente uma entrada para um Plugin que requer duas. Pos esta razão, é sempre importante checar os Buffers que seu Plugin utilizar para ter certeza de que todos eles são válidos. Os


Plugins para sequenciador deverão sempre incluir um "label" (rótulo) de texto descrevendo o número de entradas requeridas dentro dos botões de Interface.

Plugin Genérico para o Sequenciador #include "plugin.h" char name[24]= ""; /* structure for buttons, * {butcode, name, default, min, max, tooltip} */ VarStruct varstr[]= { {LABEL, "In: X strips", 0.0, 0.0, 0.0, ""}, }; /* The cast struct is for input in the main doit function * Varstr and Cast must have the same variables in the same order */ typedef struct Cast { int dummy; /* because of the 'label' button */ } Cast; /* cfra: the current frame */ float cfra; void plugin_seq_doit(Cast *, float, float, int, int, ImBuf *, ImBuf *, ImBuf *, ImBuf *); int plugin_seq_getversion(void) { return B_PLUGIN_VERSION; } void plugin_but_changed(int but) { } void plugin_init() { } void plugin_getinfo(PluginInfo *info) { info->name= name; info->nvars= sizeof(varstr)/sizeof(VarStruct); info->cfra= &cfra; info->varstr= varstr; info->init= plugin_init; info->seq_doit= (SeqDoit) plugin_seq_doit; info->callback= plugin_but_changed; } void plugin_seq_doit(Cast *cast, float facf0, float facf1, int xo, int yo, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *outbuf, ImBuf *use) { char *in1= (char *)ibuf1->rect; char *out=(char *)outbuf->rect; }


Nossas Modificações O Primeiro passo é ter um diagrama ou um plano de ação. O que este Plugin irá fazer, como os usuários irão interagir com ele. Para este exemplo, nós criaremos um simples filtro que irá possuir um deslizador para uma intensidade que vai de 0-255. Caso quaisquer dos componentes R,G, ou B de um Pixel dentro da Imagem de entrada forem menores do que a nossa Intensidade escolhida, ele irão retornar Preto e Alfa, caso contrário, eles retornarão o que está na Imagem. Agora nós iremos copiar o nosso Plugin genérico para o arquivo simpfilt.c e iremos preencher as lacunas. É sempre uma boa ideia adicionar alguns comentários. Primeiro, iremos dizer aos usuários o que o Plugin faz, aonde podem obter uma cópia, e quem eles deverão contatar para resolução de problemas como bugs ou melhorias, e os termos de licença ou restrições dentro dos códigos. Quando estiver utilizando comentários, tenha certeza de utilizar com comentários em estilo de linguagem C, tipicamente “/* */”. Os Plugins são escritos em C e alguns compiladores não aceitam comentários no estilo C++, portanto, não use “//” para seus comentários. Exemplo abaixo (em inglês): /* Description: This plugin is a sample sequence plugin that filters out lower intensity pixels. It works on one strip as input. Author: Kent Mein (mein@cs.umn.edu) Website: http://www.cs.umn.edu/~mein/blender/plugins Licensing: Public Domain Last Modified: Sun Sep 7 23:41:35 CDT 2003 */

O próximo passo é preencher o código para o nome name, você realmente deverá manter este como sendo o mesmo que o seu nome de arquivo *.c , preferivelmente descritivo, com menos de 23 caracteres, sem espaços, e todos em "lowercase" (minúsculo) char name[24]= "simpfilt.c";

As estruturas "Cast" e a variável “varstr” necessitam estar em sincronismo. Nós queremos um deslizador, portanto faremos o seguinte: VarStruct varstr[]= { {LABEL, "In: 1 strips", 0.0, 0.0, 0.0, ""}, {NUM|INT, "Intensity", 10.0, 0.0, 255.0, "Our threshold value"}, }; typedef struct Cast { int dummy; /* because of the 'label' button */ int intensity; } Cast;

Agora nós precisamos preencher os códigos para plugin_seq_doit. Nós basicamente queremos um "loop" (que o código seja circular) através de cada Pixel e caso encontre valores em RGB que sejam todos menores que a intensidade escolhida, que ele configure o Pixel de saída para (0,0,0,255) (Alfa), caso contrário configurar os valores de entrada para esta posição: void plugin_seq_doit(Cast *cast, float facf0, float facf1, int xo, int yo, ImBuf *ibuf1, ImBuf *ibuf2, ImBuf *outbuf, ImBuf *use) { int nbrComp = xo * yo * 4; /*There are xo times yo pixels, with 4 components for each;*/ int i; char *in1 = (char *)ibuf1->rect; /*ImBuf::rect is an int pointer (containing 4 chars!) */


char *out = (char *)outbuf->rect;

}

for(i=0; i < nbrComp; i+=4) { /* if R and G and B of the pixel are all greater than the intensity, keep it unchanged. */ if((in1[i+0] > cast->intensity) && (in1[i+1] > cast->intensity) && (in1[i+2] > cast->intensity)) { out[i+0] = in1[i+0]; out[i+1] = in1[i+1]; out[i+2] = in1[i+2]; out[i+3] = in1[i+3]; } /* else, make the pixel black and transparent! */ else { out[i+0] = out[i+1] = out[i+2] = 0; out[i+3] = 255; } }

Então nós terminamos que um arquivo chamado “simpfilt.c”.

Compilando O software “bmake” é um simples utilitário, (que roda através de shell script) para auxiliar com a compilação e desenvolvimento de Plugins. Ele ode ser encontrado dentro do subdiretório plugins/ da Instalação do Blender. Ele é invocado pela linha de comando : bmake (plugin_name.c), e irá tentar ligar corretamente as bibliotecas apropriadas e compilar o arquivo específico em C de maneira adequada para seu Sistema. Caso você esteja tentando desenvolver Plugins em uma Máquina rodando o Sistema Operacional Microsoft Windows, o software “bmake” poderá não funcionar. Neste caso, você deverá procurar pela utilização do software “lcc”. Você poderá utilizar o seguinte para compilar um Plugin com o “lcc”: Assumindo que você tenha colocado os seus Plugins dentro de c:\blender\plugins, aqui há uma exemplo de como você deverá compilar o Plugin de Textura sweep.c. Abra uma Janela de Console de comando ou DOS e faça o seguinte (Nota: Você irá querer ter certeza de que o diretório lcc\bin está corretamente registrado na lista de caminhos ou “Path”, consulte os arquivos para fazer os registros adequados de suas variáveis de ambiente para seu Sistema Operacional): cd c:\blender\plugins\sequence\sweep lcc -Ic:\blender\plugins\include sweep.c lcclnk -DLL sweep.obj c:\blender\plugins\include\seq.def implib sweep.dll

A última versão do “lcc” não possui a biblioteca “implib”. Caso realmente não a tenha, faça o seguinte: Note que o arquivo seq.def não é distribuído com os fontes do Blender, mas está disponível a partir do Repositório de Plugins do Blender. Alternativamente, crie um arquivo seq.def, copie e cole o seguinte : EXPORTS LibMain@12 plugin_but_changed


plugin_getinfo plugin_init plugin_seq_doit plugin_seq_getversion

Categories: Extensions | Plugins | Script Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page

Escrevendo um Plugin para Texturas Nesta seção nós iremos escrever um Plugin de Textura básico e então navegar através dos passos para a utilização de um Plugin de Textura. O conhecimento básico necessário sobre os Plugins de Textura é que você tem que dar a ele algumas entradas; posição, e valores de normal tanto quanto algumas outras informação. Então você tem como retorno, valores de informação de "intensity, colour and/or normal" (intensidade, cores e/ou normal), dependendo do tipo de Plugin de Textura. Manter a informação de partes do Manual ”No estado” Como esta parte do Manual explica procedimentos avançados do Blender através de configuração e programação Interna, decidi manter os Códigos em C sem tradução parcial ou completa, incluindo os seus comentários. É desejável que o leitor que se aventure na área de programação possua um mínimo de conhecimento do Inglês para que possa se guiar através de manuais de programação, e para que possa compreender os comandos de maneira adequada → Ivan Paulos Tomé - Greylica Todos os arquivos necessários para desenvolver Plugins tanto quanto alguns Plugins de exemplo podem ser encontrados dentro do diretório blender/plugins de sua instalação do Blender. Você pode alternativamente baixar um monte de Plugins disponíveis a partir deste repositório de Plugins. Os Plugins são suportados pelo Blender (chamados ou carregados) utilizando a família de chamadas dlopen(). Para os que não estão familiarizados com este sistema, ele permite que um programa ( Blender ) utilize um Objeto compilado como se fosse parte do programa em si, e seu funcionamento é similar ao de DLLs ou "Dynamically Linked Libraries" (Bibliotecas de Vínculo Dinâmico),com a exceção de que os Objetos a serem carregados são determinados durante o "runtime" (tempo de execução). A vantagem da utilização do sistema de chamadas dlopen para Plugins é que ele é muito rápido para acessar uma função, e não há "overhead" (taxação/perda de desempenho) em fazer a Interface com o Plugin, o que é crítico quando (no caso de Plugins de Textura) a rotina do Plugin pode ser chamada por milhares de vezes em um


único render. A desvantagem do Sistema é que o código do Plugin funciona como se fosse parte do Blender em si, caso o Plugin trave, o Blender irá travar também. Os arquivos tipo include encontrados dentro do subdiretório da instalação do Blender plugin/include/ documentam a funcionalidade provida para os Plugins. Isso inclui as funções da biblioteca Imbuf para o carregamento e trabalho com Imagens e Buffers de Imagens, e funções de "noise" (ruído) e "turbulence" (turbulência) para uma texturização consistente.

Especificação #include <plugin.h>

Todos os Plugins do Blender devem incluir este arquivo de cabeçalho, que contém todas as estruturas e definições necessárias para que o Plugin funcione adequadamente com o Blender .

char name[]="Tiles";

Uma "string" (variável de amarração) contendo o nome do Plugin, este valor será mostrado para o título da Textura dento da Buttons Window, no subcontexto Texture . #define NR_TYPES 2; char stnames[NR_TYPES][16]= {"Square", "Deformed"};

Os Plugins possuem permissão para ter sub-tipos separados para variações menores em algoritmos – por exemplo, a textura padrão tipo "clouds" (nuvens) dentro do Blender possui os subtipos "“Default”" (”Padrão”) e "“Color”" (”Cor”). NR_TYPES deverá ser definido para o número de sub-tipos requerido para o Plugin, e um nome para cada sub-tipo deverá ser fornecido (stnames[NR_TYPES]). Cada Plugin deverá ter pelo menos 1 sub-tipo e um nome para o sub-tipo. VarStruct varstr[]= {...}; A estrutura varstr contém toda

a informação da qual o Blender necessita para mostrar botões para um Plugin. Os Botões para Plugins podem ser numéricos para a entradad de dados, ou de textos para comentários e outras informações. Os Plugins são limitados para um máximo de 32 variáveis. Cada entrada VarStruct consiste de um tipo, nome, informação de campo de atuação, e uma "tooltip" (dica de ferramenta). O "”type”" (”tipo”) define o tipo de dados para cada entrada de botão, e a maneira que esse botão será mostrado. Para botões numéricos, este valor deverá ser uma combinação ( através dos binários OR, “|”) de “INT” ou “FLO” para o formato numérico (inteiro ou flutuante), e “NUM”, “NUMSLI”, ou “TOG”, para o tipo de botão (numérico, numérico com deslizador, ou de alternância). Botões de Texto deverão ter um tipo de código para definir seu rótulo, através de “LABEL”. O "“name”" (”nome”) é o que será mostrado no botão (ou ao lado dele). Isto é limitado a 15 caracteres. A informação de "“range”" (”campo de atuação”) consiste de três variáveis de ponto flutuante que definem os valores de "default, minimum, and maximum" (padrão, mínimo e máximo) para o botão. Para os botões de alternância utilizando o código TOG, o mínimo é configurado para o seu estado pressionado, e o máximo é configurado dentro de seu estado não pressionado. A "”tooltip”" (”dica de ferramenta”) é uma "string" (variável de amarração) que será mostrada quando o Mouse estiver sobre este botão (caso o usuário possua a opção "Tool Tips" (Dicas de Ferramenta) habilitada). Isto possui um limite de 80


caracteres, e deverá ser configurado para a "string" (variável de amarração) NULL ("") caso não seja utilizado.

typedef struct Cast {...}; A estrutura de Código Cast

é utilizada durante a chamada da função doit, e serve como uma maneira de simplificar o acesso para os dados de valores de cada Plugin. A estrutura Cast deverá conter, em ordem, um valor "integer" (inteiro) ou de "float" (ponto flutuante) para cada botão definido dentro de varstr, incluindo botões de texto. Tipicamente, estes deverão possuir o mesmo nome que o botão para simples referência.

float result[8];

A matriz de códigos resultante (array) é utilizada para passar informação de/para e para receber informação a partir do Plugin. Os valores resultantes são mapeados da seguinte maneira: result Index Significance Range result[0] Intensity value 0.0 to 1.0 result[1] Red color value 0.0 to 1.0 result[2] Green color value 0.0 to 1.0 result[3] Blue color value 0.0 to 1.0 result[4] Alpha color value 0.0 to 1.0 result[5] X normal displacement -1.0 to 1.0 result[6] Y normal displacement -1.0 to 1.0 result[7] Z normal displacement -1.0 to 1.0 O Plugin deverá sempre retornar um valor de intensidade. O retorno de Cores em RGB ou valores de Normal são opcionais, e deverão ser indicados pela "flag" (bandeira) doit() de retorno com os valores “1” (RGB) ou “2” (Normal). Antes do Plugin ser chamado, o Blender inclui o seguinte dentro da renderização-normal result[5], result[6] and result[7]. float cfra

O valor cfra, é um valor configurado pelo Blender para o "frame" (quadro) corrente antes de cada passo de renderização. Este valor é o número do "frame" (quadro) (± 0.5 dependendo das configurações de campo de entrelaçamento). plugin_tex_doit prototype A função plugin_tex_doit deverá ser prototipada para ser utilizada pela função getinfo . Você não necessita fazer alterações nesta linha. plugin_tex_getversion

Esta função deverá estar em cada Plugin para que ele seja carregado corretamente. Você não deve alterar esta função. plugin_but_changed

Esta função é utilizada para passar informação sobre quais botões o usuário modou dentro da Interface. A maioria dos Plugins não necessita utilizar esta função, somente quando a Interface permite o usuário que altere algumas variáveis que forçam o Plugin a fazer um recálculo (uma tabela randômica picada, por exemplo (random hash table)). plugin_init

Caso necessário, os Plugins podem utilizar esta função para inicializar os dados Internos.


Nota: Esta função de inicialização pode ser chamada múltiplas vezes caso o mesmo Plugin de textura seja copiado. Não inicie "global data" (dados Globais) específicos de uma instância única de um Plugin nesta função. plugin_getinfo

Esta função é utilizada para comunicar informação para o Blender. Você nunca precisará alterá-la. plugin_tex_doit

A função doit é responsável pelo retorno da informação sobre o Pixel requisitado para o Blender. "The Arguments" (Os Argumentos) int stype

Este é o número do sub-tipo selecionado, veja as entradas acima sobre NR_TYPES e char stnames[NR_TYPES][16]. Cast *cast A estrutura Cast é a que contém os sobre typedef struct Cast. float *texvec

dados do Plugin, veja as entradas acima

Este é um ponteiro para três posições flutuantes, que são as coordenadas das texturas para qual o valor da textura será retornado. float *dxt, float *dyt

Caso este ponteiros sejam não nulos, (non-NULL) eles apontam para dis vetores ( duas matrizes de três pontos flutuantes) que definem o valor de tamanho da textura requisitada em espaço de Pixels. Eles são somente não nulos (nonNULL) quando o Oversamplig está ligado (OSA) e são utilizados para realizar apropriadamente os cálculos de Anti-Aliasing. A função doit deverá preencher dentro da matriz resultante (ela deverá sempre preencher um valor de intensidade), e retorna 0, 1, 2 ou 3 dependendo de quais valores foram preenchidos : • 0 para intensidade somente, • 1 para intensidade + Cor RGBA, • 2 para intensidade + Normal, e • 3 para intensidade + Cor RGBA + Normal.

Interação Textura/Material O Blender é um pouco diferente da maioria dos pacotes de 3D dentro da separação lógica entre Texturas e Materiais. Dentro do Blender, as Texturas são Objetos que retornam certos valores, são de fato geradores de sinal (como geradores de onda em um sintetizador, por exemplo). Os Materiais controlam o Mapeamento das Texturas nos Objetos, o que é afetado, quanto, em que sentido, etc. Plugins apropriadamente desenhados deverão somente incluir variáveis para afetar o sinal retornado, não o seu mapeamento. Os botões para controlar a escala, campo de abrangência, eixos, etc, são melhor incluídos quando eles fazem com que a Textura seja fácil de utilizar (no caso do botão "Size" (Tamanho) dentro do Plugin "Tiles" (Encaixes/recortes)), ou quando eles aceleram a calculação (os sub-tipos "Intensity" (Intensidade)/"Color" (Cor)/"Bump" (Ressalto) dentro do Plugin Clouds2). Caso contrário, o sub-contexto Material fará com que esses botões se tornem redundantes, e a interface se tornará complexa sem necessidade.


Plugin de Textura Genérica #include "plugin.h" /* Texture name */ char name[24]= ""; #define NR_TYPES 3 char stnames[NR_TYPES][16]= {"Intens", "Color", "Bump"}; /* Structure for buttons, * {butcode, name, default, min, max, tooltip} */ VarStruct varstr[]= { {NUM|FLO, "Const 1", 1.7, -1.0, 1.0, ""}, }; typedef struct Cast { float a; } Cast; float result[8]; float cfra; int plugin_tex_doit(int, Cast*, float*, float*, float*); /* Fixed Functions */ int plugin_tex_getversion(void) { return B_PLUGIN_VERSION; } void plugin_but_changed(int but) { } void plugin_init(void) { } void plugin_getinfo(PluginInfo *info) { info->name= name; info->stypes= NR_TYPES; info->nvars= sizeof(varstr)/sizeof(VarStruct); info->snames= stnames[0]; info->result= result; info->cfra= &cfra; info->varstr= varstr; info->init= plugin_init; info->tex_doit= (TexDoit) plugin_tex_doit; info->callback= plugin_but_changed; } int plugin_tex_doit(int stype, Cast *cast, float *texvec, float *dxt, float *dyt) { if (stype == 1) { return 1; } if (stype == 2) { return 2; } return 0; }

Nossas Modificações


O Primeiro passo é ter um diagrama ou um plano de ação. O que este Plugin irá fazer, como os usuários irão interagir com ele. Para este exemplo, nós vamos criar uma simples Textura que cria um simples padrão de blocos de "brick" (tijolos). Agora nós vamos copiar nosso Plugin Genérico cube.c e iremos preencher as lacunas. É sempre uma (muito boa) ideia adicionar alguns comentários. Primeiro de tudo dizer aos usuários o que o Plugin faz, aonde eles podem obter uma cópia, quem eles devem contatar para correções de bugs/melhorias, e quaisquer restrições de licenças que o Plugin possa ter nos seus códigos. Quando estiver utilizando comentários, tenha certeza de utilizar com comentários em estilo de linguagem C, tipicamente “/* */”. Os Plugins são escritos em C e alguns compiladores não aceitam comentários no estilo C++, portanto, use “//” para seus comentários. Exemplo abaixo (em inglês): /* Description: This plugin is a sample texture plugin that creates a simple brick/block pattern with it. It takes two values a brick size, and a mortar size. The brick size is the size of each brick. The mortar size is the mortar size in between bricks. Author: Kent Mein (mein@cs.umn.edu) Website: http://www.cs.umn.edu/~mein/blender/plugins Licensing: Public Domain Last Modified: Tue Oct 21 05:57:13 CDT 2003 */

O próximo passo é preencher o código para o nome name, você realmente deverá manter este como sendo o mesmo que o seu nome de arquivo .c , preferivelmente descritivo, com menos de 23 caracteres, sem espaços, e todos em "lowercase" (Minúsculo). char name[24]= "cube.c";

Nós iremos tentar manter este Plugin o mais simples possível, e somente possuir um tipo de controle que lida com a intensidade. Então necessitamos do seguinte: #define NR_TYPES 1 char stnames[NR_TYPES][16]= {"Default"};

Para a nossa Interface de Usuário, nós iremos permitir que as pessoas alterem o tamanho dos Blocos de "Brick and Mortar" (Tijolos e da Massa), tanto quanto os valores de intensidade retornados para fabricar os Blocos de "Brick and Mortar" (Tijolos e Massa). Para isso, nós precisamos editar os valores de varstr e Cast. A parte onde estão os códigos para Cast deverão ter uma varável para cada entrada dentro de varstr. /* Structure for buttons, * {butcode, name, default, */ VarStruct varstr[]= { {NUM|FLO, "Brick", 0.8, {NUM|FLO, "Mortar", 0.1, cell"}, {NUM|FLO, "Brick Int", 1.0, {NUM|FLO, "Mortar Int", 0.0, };

min, max, tooltip] 0.1, 1.0, "Size of Cell"}, 0.0, 0.4, "Size of boarder in 0.0, 1.0, "Color of Brick"}, 0.0, 1.0, "Color of Mortar"},

typedef struct Cast { float brick, mortar, bricki, mortari; } Cast;

Agora nós precisamos preencher a parte de plugin_tex_doit, nós basicamente queremos quebrar a nossa textura em “Células” que irão consistir de um bloco e a Massa estará na


base dos cantos desse “Tijolo”. Então, determinar se estamos na parte do "Brick OR Mortar" (Tijolo OU da Massa). O seguinte código deverá fazer isto: int plugin_tex_doit(int stype, Cast *cast, float *texvec, float *dxt, float *dyt) { int c[3]; float pos[3], cube; /* setup the size of our cell */ cube = cast->brick + cast->mortar; /* we need to do is determine where we are inside of the current brick. */ c[0] = (int)(texvec[0] / cube); c[1] = (int)(texvec[1] / cube); c[2] = (int)(texvec[2] / cube); pos[0] = ABS(texvec[0] - (c[0] * cube)); pos[1] = ABS(texvec[1] - (c[1] * cube)); pos[2] = ABS(texvec[2] - (c[2] * cube)); /* Figure out if we are in a mortar position within the brick or not. */ if ((pos[0] <= cast->mortar) || (pos[1] <= cast->mortar) || (pos[2] <= cast->mortar)) { result[0] = cast->mortari; } else { result[0] = cast->bricki; } return 0; }

Uma coisa a ser notada, a função ABS (que retorna uma variável de valor numérico Absoluto) está definida no cabeçalho ou declaração plugins/include. Existem algumas outras funções comuns também, tenha certeza de dar uma olhada no que está ali.

Compilando O software “bmake” é um simples utilitário, (que roda através de shell script) para auxiliar com a compilação e desenvolvimento de Plugins. Ele ode ser encontrado dentro do subdiretório plugins/ da Instalação do Blender. Ele é invocado pela linha de comando : bmake (plugin_name.c), e irá tentar ligar corretamente as bibliotecas apropriadas e compilar o arquivo específico em C de maneira adequada para seu Sistema. Caso você esteja tentando desenvolver Plugins em uma Máquina rodando o Sistema Operacional Microsoft Windows, o software “bmake” poderá não funcionar. Neste caso, você deverá procurar pela utilização do software “lcc”. Você poderá utilizar o seguinte para compilar um Plugin com o “lcc”: Assumindo que você tenha colocado os seus Plugins dentro de c:\blender\plugins, aqui há uma exemplo de como você deverá compilar o Plugin de Textura sinus.c. Abra uma Janela de Console de comando ou DOS e faça o seguinte (Nota: Você irá querer ter certeza de que o diretório lcc\bin está corretamente registrado na lista de caminhos ou “Path”, consulte os arquivos para fazer os registros adequados de sua variáveis de ambiente para seu Sistema Operacional): cd c:\blender\plugins\texture\sinus lcc -Ic:\blender\plugins\include sinus.c


lcclnk -DLL sinus.obj c:\blender\plugins\include\tex.def implib sinus.dll

A última versão do “lcc” não possui a biblioteca “implib”. Caso realmente não a tenha, faça o seguinte: cd c:\blender\plugins\texture\sinus lcc -Ic:\blender\plugins\include sinus.c lcclnk -dll -nounderscores sinus.obj c:\blender\plugins\include\tex.def

Note que o arquivo tex.def não é distribuído com os fontes do Blender, mas está disponível a partir do Repositório de Plugins do Blender. Alternativamente, crie um arquivo tex.def, copie e cole o seguinte : EXPORTS LibMain@12 plugin_but_changed plugin_getinfo plugin_init plugin_tex_doit plugin_tex_getversion

Categories: Extensions | Plugins | Script Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page

Scripts Python O Blender possui uma ferramenta poderosa mas que muitas vezes passa desapercebida ou as pessoas somente passam os olhos sobre ela e partem para outras áreas. Ele exibe internamente um Interpretador Python completo em sua funcionalidade. Isto permite que qualquer usuário possa adicionar funcionalidades por escrever um Script Python. O Python é uma linguagem interpretada, interativa, e orientada a Objetos. Ela incorpora Módulos, exceções, declaração de variáveis dinâmica, acesso dinâmico em Tempo-Real, tipos de dados dinâmicos de alto nível, e classes. O Python combina um poder invejável com uma clara sintaxe. Essa linguagem foi expressamente designada para ser utilizada como uma linguagem de extensão para aplicativos que necessitam de uma Interface programável, e esse é o porque o Blender a utiliza. Das duas maneiras de estender a funcionalidade do Blender, com a outra sendo através de Plugins binários, os Scripts Python são mais poderosos, versáteis e ainda assim mais simples e fáceis de compreender, além de serem mais robustos. Em geral é preferível escrever um Script em Python do que um Plugin. Atualmente, a Scriptagem em Python que possuía funcionalidades limitadas até a versão 2.25 do Blender foi totalmente reconstruída, essa também foi a última das versões da antiga NaN (Quando o Blender ainda era proprietário). Quando o Blender se tornou um aplicativo "Open Source" (Código Fonte Aberto), a maioria dos novos desenvolvedores


se aglomerou em torno da definição da nova fundação de códigos do Blender eleita para ser trabalhada e, juntamente com as mudanças para a nova Interface de Usuário (UI), a API Python foi provavelmente a única parte do Blender que ganhou o desenvolvimento mais amplo. Uma completa reorganização do que existia foi retrabalhada, refeita, (algumas partes descartadas) e muitos novos módulos foram adicionados ao Blender. Essa evolução está ainda em andamento e uma integração ainda melhor é esperada nas versões do Blender que ainda estão por vir. • Configurando o Python • O Editor de Textos • Como utilizar Scripts • Um exemplo funcional • Scripts Embutidos • Referências

Scriptagem em Python Por favor, refira-se ao Índice de desenvolvimento Python (em inglês) Categories: Extensions | Python | Scripting Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page Existem muitos Scripts que são empacotados em conjunto com o Blender, bem como centenas de Scripts com funcionalidades diversas disponíveis para Download a partir de sites individuais. Para facilitar a boa documentação desses recursos, uma seção Wiki inteiramente nova (em inglês*) foi estabelecida. Por favor, se refira a esta página para mais informações sobre os Scripts embutidos e disponíveis que estendem as funcionalidades do Blender. Os Scripts Python podem, depois de uma longa e estável história, ser incorporados dentro do sistema de menus do Blender e aparecer como opções adicionais dentro dos Menus da Janelas. Este empacotamento faz com que eles sejam prontamente acessíveis para o usuário. Aqui estão algumas Janelas que possuem/utilizam estes Scripts: • "User Preferences" (Preferências do Usuário) • "3D View" (Janela de Visualização 3D) • "UV/Image Editor" (Editor de Imagens/UV) • "Text Editor" (Editor de Textos) • "Node Editor" (Editor de Nós ) Esta seção provê links específicos para uma documentação futura sobre Scripts Python específicos, que estão disponíveis a partir dos menus do Blender. Para mais informações sobre todos os Scripts conhecidos, veja o Catálogo de Scripta Python. (em inglês)

Scripts Embutidos


Janela de Preferências do Usuário "File" (Arquivo) → "Import" (Importar) Você encontrará mais documentação sobre os importadores de outros tipos de arquivos aqui. Isto é uma lista de suporte para importadores embutidos com o Blender (Nota : essa lista definitivamente necessita de atualização, existem muito mais Scripts de importação, agora…). ND (Não Disponível), significa que não é suportado pelo seu formato. SIM/NÃO ou * para as Notas. Verte Extens Obje Mal Materi x Armad Animaç Pel Cen Luz Câme Ambie Nativo UV ão to ha al Colo ura ão e a es ra nte r 3D SI SI NÃ 3DS SIM SIM SIM NÃO NÃO NÃO ND NÃO ND Studio M M O SI AC3D AC SIM SIM SIM ND ND ND ND ND ND ND ND M SI SI Quake 2 MD2 SIM SIM ND ND ND SIM ND ND ND ND M M Wavefr SI OBJ SIM SIM SIM ND ND ND ND ND ND ND ND ont OBJ M Verte Extens Obje Mal Materi x Armad Animaç Pel Cen Luz Câme Ambie Nativo UV ão to ha al Colo ura ão e a es ra nte r "File" (Arquivo) → "Export" (Exportar) Você encontrará mais documentação sobre exportadores para outros formatos aqui. Isto é uma lista de suporte de exportadores para outros formatos dentro do Blender (Note : essa lista definitivamente necessita de atualização, existem muito mais Scripts de exportação, agora…) ND (não disponível), significa que não é suportado pelo seu formato. SIM/NÃO ou * para Notas. Verte Extens Obje Mal Materi x Armad Animaç Pel Cen Luz Câme Ambie Nativo UV ão to ha al Colo ura ão e a es ra nte r 3D SI SI NÃ 3DS SIM SIM SIM NÃO NÃO NÃO ND NÃO ND Studio M M O SI AC3D AC SIM SIM SIM ND ND ND ND ND ND ND ND M SI SI Quake 2 MD2 SIM SIM ND ND ND SIM ND ND ND ND M M Wavefr SI OBJ SIM SIM SIM ND ND ND ND ND ND ND ND ont OBJ M Nativo Extens Obje Mal Materi UV Verte Armad Animaç Pel Cen Luz Câme Ambie ão to ha al x ura ão e a es ra nte Colo


r "Render" (Renderização) • Backface Cull. Help • Blender/Python Scripting API – Abre um Navegador HTML guiado para uma página Internet a partir do Python dentro do Blender. • Getting Started – Abre um Navegador HTML guiado para uma página de Internet para os Novatos. • HotKey and MouseAction Reference – Altera a Janela para um Mostrador de Referências Rápidas sobre o Blender. • ID Property Browser – Configura/inspeciona as propriedades em qualquer Objeto Blender. • Manual – Abre um Navegador HTML guiado para a página WIKI do Blender. • Release Notes – O que há de novo nesta versão do Blender. • Scripts Help Browser – Dá a você algumas informações e ajuda com os Scripts em si. • Tutorials – Aponta você para tutoriais que fornecem o passo-a-passo em simples instruções sobre como fazer grandes coisas com o Blender. "Help" (Ajuda) → "Websites" (Sites da WEB) Estes Scripts simplesmente abrem uma página em HTML em seu navegador HTML (Firefox, IE, …) e mostram a página relevante em www.blender.org: • E-Shop – Consiga os seus Objetos de desejo sobre o Blender Aqui ! • Blender Website. • Developer Community – Programadores desenvolvendo o Blender. • User Community – Usuários ajudando outros usuários. "Help" (Ajuda) → "System" (Sistema) • Informações sobre o Sistema ( Sem link ainda ) - Uma pequena ferramenta de informações sobre o seu Blender, a versão utilizada do Python e a sua instalação de OpenGL. • Benchmark (Sem Link ainda) – dividido em três partes → draw, recalc ob e recalc data , sendo que o primeiro, verifica quantas vezes a sua placa de vídeo pode redesenhar a interface do Blender, e os outros dois referem-se ao poder de processamento de sua máquina e memória, e fornecem a velocidade com a qual dados de Objetos podem ser recalculados.

Janela de "3D View" (Visualização 3D) Os Scripts disponíveis que são mostrados no Menu variam conforme o Modo no qual você está utilizando a Janela. Por exemplo, a lista de Scripts que são utilizáveis quendo estiver editando Malhas, dentro do "Edit Mode " (Modo de Edição) são diferentes dos Scripta que estão disponíveis quando se está trabalhando dentro do "Object Mode" (Modo de Objetos). "Object" (Objeto) mode → "Object" (Objeto) → Scripts • Apply Deformation → Aplicar Deformação • Axis Orientation Copy → Cópia de Orientação de Eixos. • Batch Object Name Edit → Edição de Nomes de Objetos em Bloco.


Bone Weight Copy → Cópia de Peso de Ossos. • Cookie Cut from View → executar o Corte a partir da Visualização. • Data Copier → Copiador de Dados. • Drop Onto Ground → Derrubar no Chão. • Find by Data Use → Encontrar pelo Uso de Dados. • Object Name Editor → Editor de Nomes de Objetos. • Randomize Loc Size Rot → Randomizar Localização, Tamanho e Rotação. • Selection to DupliGroup → Converter Seleção para DupliGroup. • UV Copy from Active → Cópia do UV a partir da Malha Ativa. "Edit" (Edição) mode → "Mesh" (Malha) → Scripts • Bevel Center → Aplicar Chanfro no Centro. • Clean Meshes → Limpar Malhas. • Discombobulator → Discombobulator (Serve para fazer arquiteturas aleatórias com polígonos) • Edges to Curve → Arestas para Curvas. • Mirror Vertex Locations & Weight → Espelhar a Localização dos Vértices e seu peso. • Poly Reducer → Redutor de Polígonos. • Rvk1 to Rvk2 → Copia os dados de deformação de um Objeto para outro. • Solid Wireframe → Converte de Aramado para Sólido ( Cria faces) . • Solidify Selection → Solidificar a Seleção • Unfold → Desdobrar/Desenrolar • Unweld vertex/ices → Dessolda Vértice(s) "Vertex Paint" (Pintura de Vértices) mode → "Paint" (Pintura) • VCol Gradient → Gradiente de Cores de Vértices • Self Shadow VCols (AO) → Faz as Sombras com as cores dos Vértices a partir de AO • Copy from Material → Copia a partir de um Material. "Weight Paint" (Pintura de Pesos) mode → "Paint" (Pintura) • Clean Weight → Limpar os Pesos • Copy Active Group → Copiar o Grupo Ativo. • Envelope via Group Objects > Executra o envelope a partis dos Objetos em Grupo. • Normalize/Scale Weight → Normalizar a escala e Peso. • Grow/Shrink Weight → Fazer com que seja aumentado/reduzido o peso. • Weight Gradient → Gradiente de Pesos. •

Janela do "UV/Image Editor" (Editor de Imagens/UV) Modo de "Image" (Imagem) Estes Scripts ajudam a você quando estiver trabalhando com Imagens que provavelmente serão utilizadas como Imagens de Mapas UV. • Fix Broken Paths - > Consertar caminhos quebrados. • Edit Externally → Editar Externamente • Consolidate into one image → Consolidar em uma Imagem.


Billboard Render on Active → Renderização do tipo "Billboard" (Letreiro) na Imagem Ativa. Modo de UVs • Save UV Face Layout → Salvar esquema de Layout UV. • Seams from Islands → Converter Costuras em Ilhas. •

Janela "Text Editor" (Editor de Textos) Estes Scripts ajudam você quando estiver escrevendo um Script Python ! Você iá encontrar mais documentação sobre estes aqui. Text → Text Plugins … (Página incompleta em inglês ) Text → Script Templates … (Página incompleta em inglês)

fazendo com que um Script seja “Embutido” Para fazer com que um Script seja registrado como um que faça parte da distribuição do Blender ( e seja mostrado em um Menu) você precisa incluir um cabeçalho de Script. Por favor, veja nesta página a parte sobre “Registrando Scripts”. Página sobre a API Python.

Recursos Adicionais Por favor, veja também O Fórum sobre Python dentro da Blender Artists.

Categories: Extensions | Python | Scripts Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page

Um exemplo de Script Python funcional Agora que você sabe que o Blender é extensível a partir de Scripts Python e que possui as noções básicas de manuseamento de Scripts e como rodá-los, antes de explodir a sua cabeça com a referência completa da API do Blender para a linguagem Python, vamos dar uma olhada em um exemplo de Script Python funcional. Nós vamos apresentar um pequeno Script para a produção de polígonos. Isso na verdade duplica mais ou menos o que a caixa de ferramentas de adicionar Objetos faz, você já a conhece e ela está acessível através do atalho Space → Add → Mesh → Circle, mas nesse caso, o Script irá criar polígonos “preenchidos” , e não somente o seu contorno.


Para tornar o Script mais simples, mas ainda completo, iremos exibir neste exemplo uma "Gaphic User Interface" (Interface Gráfica Usuário) (GUI) escrita usando completamente a API so Blender. Cabeçalhos,importação de Módulos e Variáveis Globais

As primeiras 32 linhas de código estão listadas abaixo: "Script header" (Cabeçalho do Script) Manter a informação de partes do Manual ”No estado” Como esta parte do Manual explica procedimentos avançados do Blender através de configuração e programação Interna, decidi manter os Scripts sem tradução parcial ou completa, incluindo os seus comentários. É desejável que o leitor que se aventure na área de programação possua um mínimo de conhecimento do Inglês para que possa se guiar através de manuais de programação, e para que possa compreender os comandos de maneira adequada → Ivan Paulos Tomé - Greylica

1. ###################################################### 2. # 3. # Demo Script for Blender 2.3 Guide 4. # 5. ###################################################S68 6. # This script generates polygons. It is quite useless 7. # since you can do polygons with ADD->Mesh->Circle 8. # but it is a nice complete script example, and the 9. # polygons are 'filled' 10. ###################################################### 11. 12. ###################################################### 13. # Importing modules 14. ###################################################### 15. 16. import Blender 17. from Blender import NMesh 18. from Blender.BGL import * 19. from Blender.Draw import * 20. 21. import math 22. from math import * 23. 24. # Polygon Parameters 25. T_NumberOfSides = Create(3) 26. T_Radius = Create(1.0) 27. 28. # Events 29. EVENT_NOEVENT = 1 30. EVENT_DRAW = 2 31. EVENT_EXIT = 3

Depois dos comentários necessários com a descrição daquilo que o Script faz, existem linhas ([016-022]) específicas para a importação dos Módulos Python. O código Blender significa a importação do módulo principal da API Python do Blender. NMesh é o módulo que provê acesso as Malhas do Blender, enquanto o código BGL e Draw dão


acesso as constantes OpenGL e funções, bem como a Interface de Janelas do Blender, respectivamente. O módulo math é o módulo matemático do Python, mas pelo fato de ambos os módulos math e os serem construídos com o Blender e estarem embutidos na instalação, você não necessitará uma instalação completa do Python para rodar este Script e fazer isto ! Os polígonos são definidos pelo número de lados que eles possuem e o seu raio. Estes parâmetros posuem valores que deverão ser definidos pelo usuário através da Interface Gráfica (GUI), portanto as linhas [025-026] criam dois Objetos do tipo “botões genéricos” , com o seu valor inicial padrão. Finalmente, os Objetos da Interface de Usuário trabalham com, e geram eventos. O Identificados do evento (ou ID do evento, para abreviar) são números inteiros deixados pelo programador para que os usuários os definam. (eles todos podem ser diferente, a menos que hajam necessidades especiais!). É usualmente uma boa prática definir nomes mneumônicos para eventos, conforme foi feito aqui nas linhas [029-031].

Desenhando a Interface de Usuário (GUI) O código que é responsável pelo desenho ou redesenho da GUI deverá residor dentro de uma função chamada draw (GUI drawing). "GUI drawing" (Desenho da GUI) 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49.

###################################################### # GUI drawing ###################################################### def draw(): global T_NumberOfSides global T_Radius global EVENT_NOEVENT,EVENT_DRAW,EVENT_EXIT ########## Titles glClear(GL_COLOR_BUFFER_BIT) glRasterPos2d(8, 103) Text("Demo Polygon Script")

######### Parameters GUI Buttons glRasterPos2d(8, 83) Text("Parameters:") T_NumberOfSides = Number("No. of sides: ", EVENT_NOEVENT, 10, 55, 210, 18, 50. T_NumberOfSides.val, 3, 20, "Number of sides of out polygon"); 51. T_Radius = Slider("Radius: ", EVENT_NOEVENT, 10, 35, 210, 18, 52. T_Radius.val, 0.001, 20.0, 1, "Radius of the polygon"); 53. 54. ######### Draw and Exit Buttons 55. Button("Draw",EVENT_DRAW , 10, 10, 80, 18) 56. Button("Exit",EVENT_EXIT , 140, 10, 80, 18)

As linhas [037-039] simplesmente garantem acesso aos dados Globais. A Coisa realmente interessante inicia nas linhas [042-044]. A Janela OpenGL é inicalizada, e a posição corrente é configurada para a posição (x=8, y=103). A origem desta referência é o canto mais baixo a esquerda da Janela de Script. Quando o título “Demo Polygon Script” é impresso. Uma "string" (amarração) ( aqui, string se refere á uma variável (em geral texto) de amarração dos códigos) mais á frente é escrita nas linhas ([047048]).


Então os botões de entrada para os parâmetros são criados. O primeiro (linhas [049050]) é um "NumButton" (Botão Numérico), exatamente como os Botões existentes em diversas Janelas do Blender. Para os significado de todos os parâmetros, por favor, refira-se a referência de API do Blender. Basicamente, existe um rótulo para o botão (label), o evento gerado pelo botão, a sua localização (x,y) e suas dimensões (comprimento, altura), seu valor, que são dados pertencentes ao Objeto do botão em si, e os valores máximo e mínimos permitidos, juntamente com um "text string" (texto de amarração) que irá aparecer como uma ajuda enquanto o usuário foca no valor do botão, como uma "tooltip" (dica de ferramenta). As linhas [051-052] definem um "Num Button" (Botão Numérico) com um "Slider" (Deslizador), com uma sintaxe muito similar. As linhas [055-056] finalmente criam um botão chamado Draw que irá criar o polígono e um botão de saída chamado Exit .

Manuseando eventos. A Janela de Interface de Usuário (GUI) não será desenhada, e não irá funcionar, até que um manipulador de evento apropriado seja escrito e registrado (Handling events). "Handling events" (Manuseando Eventos) 58. def event(evt, val): 59. if (evt == QKEY and not val): 60. Exit() 61. 62. def bevent(evt): 63. global T_NumberOfSides 64. global T_Radius 65. global EVENT_NOEVENT,EVENT_DRAW,EVENT_EXIT 66. 67. ######### Manages GUI events 68. if (evt == EVENT_EXIT): 69. Exit() 70. elif (evt== EVENT_DRAW): 71. Polygon(T_NumberOfSides.val, T_Radius.val) 72. Blender.Redraw() 73. 74. Register(draw, event, bevent)

As linhas [058-060] definem o manipulador de eventos pelo teclado, aqui respondendo pelo atalho Q com uma chamada direta de código de saída Exit(). Mais interessantes são as linhas [062-072], responsáveis por manipular os eventos da Interface de Usuário (GUI). Cada vez que um botão da GUI é utilizado esta função é chamada, com o número de evento definido dentro do botão como parâmetro. O núcleo desta função é portanto uma estrutura de “seleção” do tipo "if/elif" (se/caso se) executando diferentes códigod de acordo com o número do evento. Como última chamada, a função Register() é invocada. Isso efetivamente desenha a GUI e inicia o ciclo de captura de eventos (“event loop”).

Manipulação de Malhas Finalmente, os códigos presentes em Main function mostram a função principal, aquela que cria efetivamente o polígono. Ela é relativamente uma simples edição de Malha, mas mostra muitos pontos importantes da estrutura interna do Blender. "Main function" (Função Principal) 76. ###################################################### 77. # Main Body


78. ###################################################### 79. def Polygon(NumberOfSides,Radius): 80. 81. ######### Creates a new mesh 82. poly = NMesh.GetRaw() 83. 84. ######### Populates it of vertices 85. for i in range(0,NumberOfSides): 86. phi = 3.141592653589 * 2 * i / NumberOfSides 87. x = Radius * cos(phi) 88. y = Radius * sin(phi) 89. z = 0 90. 91. v = NMesh.Vert(x,y,z) 92. poly.verts.append(v) 93. 94. ######### Adds a new vertex to the center 95. v = NMesh.Vert(0.,0.,0.) 96. poly.verts.append(v) 97. 98. ######### Connects the vertices to form faces 99. for i in range(0,NumberOfSides): 100. f = NMesh.Face() 101. f.v.append(poly.verts[i]) 102. f.v.append(poly.verts[(i+1)%NumberOfSides]) 103. f.v.append(poly.verts[NumberOfSides]) 104. poly.faces.append(f) 105. 106. ######### Creates a new Object with the new Mesh 107. polyObj = NMesh.PutRaw(poly) 108. 109. Blender.Redraw()

A primeira linha importante aqui é a de número [082]. Aqui há uma novo Objeto de Malha, onde poly é criado. O Objeto de Malha é constituído de uma lista de vértices e uma lista de faces, mais algumas coisas interessantes. Para a nossa finalidade, as listas de vértices e faces são o que precisamos. Claro que a Malha criada recentemente é vazia. O primeiro ciclo (linhas [085-092]) computa a localização x,y,z do número de lados de NumberOfSides, incluindo os vértices necessários para definir o polígono. Sendo uma figura lisa ela terá o tamanho Z=0 para todos. A Linha [091] chama o método NMesh Vert() para criar um novo Objeto vértice a partir das coordenadas (x,y,z). Esse tipo de Objeto é então juntado/anexado (linha [092]) dentro da malha poly, na lista verts. Finalmente (nas linhas [095-096]) um último vértice é adicionado no centro. As linhas [099-104] agora conectam esses vértices para fazer faces. Não é requerido que sejam criados todos os vértices primeiramente e então as faces. Você pode seguramente criar uma nova face tão logo todos os vértices esteja ali. A Linha [100] cria um novo Objeto Face. Um Objeto Face possui sua própria lista de vértices v (até 4) pra definí-lo. As linhas [101-103] anexam/juntam três vértices para a lista original vazia f.v. Os vértices são dois vértices subsequentes do polígono e o vértice central. Estes vértices deverão ser pegos a partir da lista verts da Malha. Finalmente, a linha [104] anexa/junta as faces recém criadas para a lista faces de nossa Malha poly.


Conclusões

A Interface GUI de nosso exemplo.

O resultado de nosso Script de exemplo.

Caso você crie um arquivo chamado polygon.py contendo o código acima especificado e o carregue dentro da Janela de texto do Blender, conforme você aprendeu nas páginas anteriores, e pressione a combinação AltP nesta janela para rodr o Script, você verá o Script desaparecendo e a Janela se tornando Cinza. No canto esquerdo de baixo, uma GUI será então desenhada (A Interface GUI de nosso exemplo.). Pela seleção, por exemplo, 5 vértices e um raio de 0.5, e pressionando o botão Draw, um pentágono irá aparecer no plano XY da Janela de Visualização 3D (O resultado de nosso Script de exemplo.).

Categories: Extensions | Python | Scripting | Script

A API do Python para Blender A completa API Python para o Blender "Application Programmer Interface" (Interface de Aplicação para programador) está documentada aqui: • Atenção → todas as Páginas estão em (inglês).

2.42 API 2.43 API 2.44 API 2.45 API 2.46 API 2.47 API 2.48 API 2.49 API

Scripts


Existem mais de uma centena de Scripts diferentes para o Blender disponíveis na Internet. Bem como com os Plugins, os Scripts são bem dinâmicos, e mudam de Interface, alteram funcionalidades e sua localização na Internet pode mudar muito rapidamente, portanto para uma lista atualizada e para obter um link vivo ( funcional ) para eles, por favor, refira-se a um ou mais dos principais sites do Blender: • www.blender.org • www.blenderartists.org • Extensões Python dentro desta wiki.

Categories: Extensions | Python | Scripting Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page

Fazendo o Download do Python Para ter acesso aos módulos padrão do Python, você precisa ter uma instalação do Pyhon plenamente funcional. Você pode baixar istro a partir do site de Downloads dos Python. http://www.python.org/download/

Configurando a Variável PYTHONPATH Tenha certeza de verificar no site da fundação as informações de suaversão do Blender para saber qual é a exata versão do Python com a qual o seu Blender foi construído, para evitar problemas de compatibilidade. O Blender também deve ser avisado o local aonde a sua instalação completa do Python está. Isto é feito pela definição de uma variável em seu Sistema Operacional. O nome dessa variável de ambiente é PYTHONPATH ( Caminho do Python ).

Win95,98,Me Uma vez que você tenha instalado o Python dentro de, digamos C:\PYTHON22, você deverá abrir o arquivo C:\AUTOEXEC.BAT com o seu editor de Textos favorito, e adicionar a seguinte linha: SET PYTHONPATH=C:\PYTHON22;C:\PYTHON22\DLLS;C:\PYTHON22\LIB;C:\PYTHON22\LI B\LIB-TK

e reiniciar o seu sistema.

WinNT,2000,XP


Uma vez qeu você tenha instalado o Python dentro de, digamos C:\PYTHON22, vá até o ícone "Meu Computador" (My Computer) dentro de sua Área de Trabalho ( ou você pode acionar o ícone Sistema dentro de seu Painel de Controle), clique com o botão direito RMB e selecione "Propriedades" (Properties). Slecione a Aba "Avançado" (Advanced) e pressione o botão de "variáveis de Ambiente" (Environment Variables). Abaixo da caixa de "Variáveis de Sistema" (System Variables) (a segunda), clique em "Nova" (New). Caso você não tenha permissões de administrador em seu sistema, você não será capaz de fazer isto. Neste caso, clique em "Nova" (New) na caixa mais acima. Agora, dentro da caixa "Nome da Variável" (Variable Name), digite PYTHONPATH, e dentro da caixa de "Valor da variável" (Variable Value) , digite: C:\PYTHON22;C:\PYTHON22\DLLS;C:\PYTHON22\LIB;C:\PYTHON22\LIB\LIB-TK

Clique em OK repetidamente para sair de todas as caixas de diálogo. Você necessitará ou não de reinicialização de Sistema, dependendo do Sistema Operacional.

Linux e outras variantes de UNIX Normalmente você já terá a linguagem de programação Python instalada. Caso não, instale-a. Você terá que descobrir aonde ela está. Isto é relativamente simples, simplesmente inicie um Console de comando interativo e digite python dentro dele para acionar o Python. Dentro do Python, digite os seguintes comandos: >>> import sys >>> print sys.path

e anote a saída, ela deverá se parecer com isto: ['', '/usr/local/lib/python2.2', '/usr/local/lib/python2.2/platlinux2', '/usr/local/lib/python2.0/lib-tk', '/usr/local/lib/python2.0/libdynload', '/usr/local/lib/python2.0/site-packages']

Adicione isto ao seu arquivo de inicialização rc favorito como uma configuração de variável de ambiente. Por exemplo, adicione dentro de seu .bashrc a linha: export PYTHONPATH=/usr/local/lib/python2.2:/usr/local/lib/python2.2/platlinux2: /usr/local/lib/python2.2/libtk:/usr/local/lib/python2.2/lib-dynload: /usr/local/lib/python2.0/site-packages

(Atenção: tudo deverá estar em uma linha única). Abra um novo console de comando interativo, ou então faça o seu "Logout" (Saída de Usuário) e "Login" (Entrada de Usuário) novamente. Nota mesmo que a variável PYTHONPATH não esteja definida, nas instalações mais novas do Python em determinados Sistemas Operacionais, o Blender parece não ter problemas em reconhecer a localização da instalação do Python, quando ambos foram instalados através dos sistemas de pacote da distribuição. Provavelmente, em muitos casos, o Python está localizado em um local padrão. (EX. /usr/lib/python2.5).

Categories: Extensions | Python | Scripting | Script


Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page

O Editor de Textos do Blender O Blender possui uma Janela de "Text Editor" (Editor de Textos) entre os seus tipos de Janelas, acessível pelo botão Text Editor ( ) do Menu "Window type" (Tipo de Janela), ou via ⇧ ShiftF11. A Janela de texto criada mais recente é cinza e vazia, com uma "toolbar" (Barra de ferramentas) bem simples (Text Toolbar). A partis da esquerda para a direita, existem botões de seleção padrão Window type e os Menus da janela. Então, cinco botões de alternância, sendo: o alternador para ela cheia, um que mostra/esconde as linhas numéricas dos Textos, um que habilita/desabilita o "word wrapping" (condicionamento de palavras), um que habilita/desabilita o realce de sintaxe, e o último que habilita/desabilita os Plugins de texto Python. No final, um Menu do tipo dropdown para "select/add/open" (selecionar/adicionar/abrir) um buffer de Textos, e mais duas configurações: a fonte do editor e o número de espaços em uma tabulação.

Barra de Ferramentas de Texto. O Menu tipo dropdown ( ) permite a você selecionar qual o Buffer de Texto que deverá ser mostrado, e também permite a você criar um novo buffer ou carregar um arquivo de texto. Caso você escolha carregar um arquivo de Texto, o "Editor de textos" (Text Editor) se tornará temporariamente uma Janela de "File Browser" (Navegador de Arquivos), com as funções usuais. Uma vez que a tela de buffer de Texto está dentro da Janela de textos, o seu comportamento é como o de um simples editor de textos. A Digitação no teclado produz o texto dentro do buffer de texto. Como usual, pressionar, arrastar e soltar o botão esquerdo do Mouse LMB seleciona texto. Os seguintes atalhos de teclado se aplicam aos comandos: • AltC ou CtrlC – Copia o Texto marcado para o a memória de cópia. • AltX ou CtrlX – Recorta o texto marcado para a memória de cópia. • AltV ou CtrlV – Cola o texto a partir da memória de cópia para a posição do cursor dentro da Janela de Texto. Detalhe: A função de guardar em memória de cópia (clipboard) do Blender de cortar/copiar/colar é separada da memória de cópia (clipboard) utilizada no Sistema Operacional (S.O.). Portanto, normalmente você não pode recortar/copiar/colar de fora ou para o Blender. Para acessar a memória de cópia do seu S.O., você deverá fazer o seguinte : • Ctrl⇧ ShiftC – Para copiar texto para a memória de cópia (clipboard) do S.O. (Ex: caso você queira colar um texto do Blender em outro aplicativo).


• •

• • •

Ctrl⇧ ShiftX – Para recortar e para copiar texto para a memória de cópia do S.O. Ctrl⇧ ShiftV – Para colar texto a partir da memória de cópia do S.O. (clipboard) (Ex: caso você tenha copiado algum texto a partir do seu navegador de Internet ou Editor de Documentos externo). AltS – Salva o texto como um arquivo de texto, uma Janela de "File Browser" (Navegador de Arquivos ) aparecerá. AltO – Carrega um texto, uma Janela de "File Browser" (Navegador de Arquivos) aparecerá. AltF – Faz com que apareça a "Toolbox" (Caixa de Ferramentas) "Find & Replace" (Encontrar e Substituir).

⇧ ShiftAltF ou RMB – Faz com que apareça o Menu Text para a "text Window" (Janela de Texto). • AltJ – Faz com que apareça um controle numérico aonde você pode especificar um número de linha para onde o cursor irá saltar. • AltP – Executa o Texto como um Script Python. • AltU – Desfaz. • AltR – Refaz. • CtrlR – Reabre (recarrega) o buffer corrente (todas as modificações não salvas são perdidas). • AltM – Converte o conteúdo da Janela de Texto em texto para a Janela de visualização 3D (no máximo 100 caracteres). Para deletar um buffer de Texto, simplesmente pressione o botão X próximo ao nome do buffer, da mesma maneira que você faz com Materiais, etc. A Mais notável combinação de teclas é AltP, que faz com que o conteúdo do seu buffer de texto seja analisado pelo interpretador de linguagem Python construído dentro do Blender. A próxima página irá apresentar um exemplo de Script escrito em Python. Antes de continuar, vale a pena salientar que o Blender vem somente com um interpretador simplificado do Python empacotado com ele para a finalidade de manter funções básicas funcionais, e com muito poucos módulos específicos pra o Blender, caso você queira mais infromações sobre estes módulos básicos, por favor, refira-se a s Referências sobre a API. A API completa se encontra nas páginas específicas para as versões do Blender, como descrito anteriormente. O "Text Editor" (Editor de Texto) agora possui alguns Scripts Python dedicados a ele, que adicionam algumas ferramentas úteis para a escrita, como um navegador de auto complemento para "class/function/variable" (classes/funções/variáveis). Você pode acessá-los através da entrada de menu Text → Text Plugins. •

Outras utilizações para a "Text Window" (Janela de Texto) A Janela de Texto também é útil quando você quer compartilhar os seus arquivos .blend com a comunidade ou com os seus amigos. A Janela de Texto pode ser utilizada para escrever textos do tipo "READ-ME" (LEIA-ME), explicando o conteúdo de seu arquivo Blender. Muito mais útil do que tê-lo escrito em uma aplicação separada. Tenha certeza de mantê-lo visível quando estiver salvando ! ( O Blender salva junto com o arquivo a posição de suas Janelas Internas ou Painéis do Blender ) Caso você esteja compartilhando o arquivo com a comunidade e queira compartilhá-lo sob alguma licença específica, você pode escrever esta licança e suas atribuições dentro da Janela de


Texto.

Categories: Interface | Extensions | Python | Scripting Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page

Introdução a Game Engine do Blender O Blender possui sua própria "Game Engine" (Máquina de Jogos) embutida, que possibilita a criação de aplicações interativas 3D. A "Game Engine" (Máquina de Jogos) do Blender ou a chamada "BGE" (Blender Game Engine) é uma poderosa ferramenta de programação de alto nível. Seu foco principal é o desenvolvimento de Jogos, mas a BGE pode ser utilizada para criar praticamente qualquer tipo de software interativo 3D para outras finalidades, como visualizações de cenários interativos 3D para arquitetura, ou então pesquisas físicas em educação.

Utilizando a Game Engine O núcleo da estrutura da BGE são os "Logic Bricks" (Blocos Lógicos). A finalidade dos "Logic Bricks" (Blocos Lógicos) é oferecer uma interface visual simples e fácil de utilizar para fazer o desenvolvimento de aplicações interativas sem qualquer conhecimento de linguagem de programação. Existem três tipos básicos de "Logic Bricks" (Blocos Lógicos): 1. "Sensors" (Sensores), 2. "Controllers" (Controladores) 3. "Actuators" (Atuadores). Cada um deles está detalhado nestas páginas abaixo: • Sensores • Controladores • Atuadores Se você preferir escrever Jogos ultilizando a linguagem de programação Python, a "BGE" (Blender Game Engine) possui sua própria API Python, separada do restante do Blender, que você pode utilizar para escrever scripts para controlar seu Jogo. Isto é feito criando um Controlador Python e o ligando a um Script Python.

Documentação da BGE Os tópicos sobre a seção do Manual que trata da BGE estão listados abaixo: Uso Painel de Lógica Propriedades Sensores


Controladores Câmera Câmeras Domos Imersivos Física Máquina de Física Blocos Lógicos Lógica Atuadores Atuadores Movimento Ação de Formato Ação IPO Propriedade Edição de Objeto Cena Filtros 2D Python API Blender2.48 Game Engine Python API

Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page

Câmeras na BGE Dentro da BGE ou Máquina de Jogos do Blender, as câmeras podem ser utilizadas com as suas características padrão (da mesma maneira com a qual se move), ou ela pode seguir/observar um Objeto utilizando um parentesco a esse Objeto, parenteada a um vértice de um Objeto, ou utilizando um Atuador tipo Câmera. Nota Qualquer Objeto pode se transformar em uma câmera (veja abaixo), e quando estiver utilizando uma Observação de câmera para um Objeto, qualquer Objeto pode ser utilizado (como um Objeto tipo empty). Para utilizar uma câmera, você deverá iniciar a BGE a partir da "viewport" (porta de visão ) da câmera (atalho 0 NumPad), e para evitar a distorção da câmera, sempre faça a utilização de "zoom" (ampliação) da visualização até que a câmera preencha toda a "viewport" (porta de visão ).

A Câmera Padrão A Câmera padrão é uma visualização do ambiente (world) sem movimento de câmera.


Parenteando a Câmera à um Objeto A Câmera seguirá o Objeto. Primeiramente selecione a câmera e então selecione o Objeto. O Próximo passo é utilizar o atalho CtrlP → Make Parent. Note que caso seu Objeto possua quaisquer rotações, então a câmera também terá estas rotações. Para evitar isto, você pode parentear a Câmera a um vértice, veja abaixo como fazer isto.

Parenteando à um vértice A Maneira mais fácil de se conseguir isto é selecionar o seu Objeto e então pressionar a tecla ⇆ Tab para entrar em "Edit mode" (Modo de Edição). Agora, selecione o vértice e então pressione novamente a tecla ⇆ Tab para voltar ao "Object mode" (Modo de Objetos). O Próximo passo, sem quaisquer outros Objetos Selecionados, é selecionar a câmera e então, mantendo pressionada a tecla ⇧ Shift, selecione o Objeto. Tecle ⇆ Tab novamente para entrar em "Edit mode" (Modo de Edição), e então utilize o atalho CtrlP, e escolha "Make vertex parent" (Fazer parentesco com Vértice). Agora, a câmera irá seguir o Objeto e ela manterá a sua rotação, enquanto o Objeto é rotacionado.

Utilizando um Objeto como uma Câmera Qualquer Objeto também pode se tornar uma câmera com quaisquer propriedades que estiverem configiradas para o Objeto. Para transformar um Objeto em uma câmera, dentro do "Object mode" (Modo de Objetos), selecione o Objeto e pressione a combinação Ctrl0 NumPad utilizando o teclado numérico. Para reverter a câmera ao Objeto câmera novamente, simplesmente selecione a câmera e pressione a combinação Ctrl0 NumPad novamente.

Veja também •

Câmera Olho de peixe e Câmera para Domos Imersivos.

Categories: Camera | Game engine

Blender 2.4 Portuguese • • • •

Page AVISO

Doc page Discussion View source History


Esta é a cópia traduzida da página de desenvolvimento da Câmera em Olho de Peixe ou Câmera para Domos, feita na versão de distribuição do Blender 2.49. Um Manual mais apropriado será escrito mais tarde

Modo de Domo na Máquina de Jogos do Blender Esta funcionalidade permite que os artistas visualizem seus projetos interativos dentro de um ambiente de Domo Imersivo. De maneira a fazer com que essa seja uma ferramenta extensiva, nós estamos suportando os tipos "FullDome" (Domo Completo) , "Truncated domes" (Domos Truncados (frontais e voltados para trás)), "Planetariums" (Planetários) e Domos com Espelhos esféricos. O suporte foi adicionado na versão 2.49. Ele utiliza um algoritmo de Textura do tipo "Multipass" (Multipassos) como desenvolvido por Paul Bourke. Em uma descrição breve, podemos dizer que isso envolve a renderização da Cena 4 vezes e a colocação das Imagens subsequentes em uma Malha desenhada especificamente de maneira que o resultado, quando visualizado com uma câmera ortográfica, é uma projeção do tipo "fisheye" (Olho de peixe). Dica Importante Lembre-se de utilizar o Blender em Modo de tela cheia para obter o máximo de seu projetor.

Para conseguir isto, você pode lançar o Blender através da linha de comando com o argumento -W. Como opção, para poder se livrar dos menus de topo dentro do Blender ou dos cabeçalhos, tente juntar todas as Janelas (Janela de Botões, a Janela de Visualização 3D, a Janela de Texto,...) dentro de uma Janela única. Caso contrário se você maximizar ela com o atalho (Ctrl+Up), você não poderá ter a tela inteira livre para rodar os seus Jogos (a barra de topo do Menu consome mais ou menos 20 pixels de altura). O programador * Dalai Felinto ( Brasileiro ) foi patrocinado pela SAT - Sociedade para Artes e tecnologia em conjunto com o programa de pesquisa e desenvolvimento de imersão SAT Metalab .

Opções de GUI (Interface)


"Background color" (Cor de plano de Fundo) Cor de plano de Fundo (RGB) – a cor utilizada como plano de fundo. Cores mais fortes fazem com que a calibragem/ajuste sejam mais fáceis.

"Angle" (Ângulo) Os ângulos de distorção da lente, a partir de 90 até 250 – isso só trabalha para o modo de "fisheye" (Olho de Peixe) (1)

"Mode" (Modo) Para ser estendido para implementar outros modos. Para contar: 1 (fisheye), 2 (enviroment map) e 3 (spherical panoramic)

"Tilt" (Inclinação)

Para Domos inclinados – Ele rotaciona a câmera no eixo Horizontal •

"Tesselation" (Tesselação) 4 é o padrão. Este é o nível de tesselação da Malha (como se fosse uma sub-superfície)

"Resolution" (Resolução) 1.0 é a resolução plena. Este é o tamanho relativo do Buffer de renderização. Baixe este valor para Obter mais velocidade

"Warp Data" (Trocar os dados alternativamente) (warp mesh data file)

"Dome Modes" (Modos dos Domos) 1. 2. 3. 4. 5.

Fisheye Dome (Domo Olho_de_peixe) Front-Truncated Dome (Domo truncado para frente) Rear-Truncated Dome (Domo truncado virado para trás) Environment Map ( Mapa de Ambiente) Full Spherical Panoramic (Panorama pleno em esfera)


1. "Full Dome Mode" (Modo de Domo pleno)

• • •

Um Olho de Peixe. Uma visão em Olho de peixe, ortogonal, a partir de 90° até 250° graus. A partir de 90º até 180º, nós estaremos utilizando 4 renderizações. A partir de 181º até 250º nós estaremos utilizando 5 renderizações.


2. "Front-truncated Dome Mode" (Modo de Domo truncado á frente)

• • • •

Desenhado para Domos truncados, este modo alinha a Imagem em Olho de Peixe com o topo da Janela enquanto toca as laterais. O campo de Visão está entre 90º até 250º graus. A partir de 90º até 180º nós estamos utilizando 4 renderizações. A partir de 181º até 250º nós estamos utilizando 5 renderizações.

3. "Rear-truncated Dome Mode" (Modo de Domo truncado para trás)

• •

Desenhado para Domos truncados, este modo alinha a Imagem em Olho de peixe com a base da Janela enquanto toca as laterais. O campo de Visão está entre 90º até 250º graus.


• •

A partir de 90º até 180º nós estamos utilizando 4 renderizações. A partir de 181º até 250º nós estamos utilizando 5 renderizações.

4."Environment Map Mode" (Modo de Mapa de Ambiente)

• • •

Um modo de Mapa de Ambiente. Ele pode ser utilizado para fazer a pré-geração de Imagens animadas para "CubeMaps" (Mapas de Cubo). Nós utilizamos 6 renderizações para isto. A ordem das Imagens segue o formato de arquivo interno de "EnvMap" (Mapa de Ambiente) do Blender: o A primeira linha:&nbsp ;direita, parte de trás, esquerda o A segunda linha:&nbsp ;base, topo, frente

5. "Full Spherical Panoramic (360°)" (Panorâmico Esférico pleno (360°))


• • •

Um Modo Panorâmico Esférico pleno. Nós estamos utilizando 6 câmeras aqui. A Base e o início do topo iniciam para obter a precisão com a configuração do valor de Definition para um valor de 5 ou maior.

"Warp Data Mesh" (Alternar pelos Dados da Malha) (Obtido de trechos de texto em inglês) Muitos ambientes de projeção requerem imagens que não são simples projeções de perspectiva, e que são a norma para monitores de tela plana. Os exemplos incluem a correção de geometria para monitores de telas cilíndricas e alguns novos métodos para a projeção em domos de planetários ou domos voltados para cima com intenção de serem utilizados para VR (Visualização Real).

Link para Texto original de Paul Bourke

De maneira a produzir estas Imagens, nós estamos utilizando um formato de arquivo específico. Template para arquivo:: mode width height n0_x n0_y n0_u n1_x n1_y n1_u n2_x n1_y n2_u n3_x n3_y n3_u

n0_v n1_v n2_v n3_v

n0_i n1_i n2_i n3_i


(...)

A primeira linha se refere ao tipo de imagem na qual a Malha será o suporte para ser aplicada: 2 = retangular, 1 = radial A próxima linha possui as dimensões da Malha dentro da escala de Pixels O restante das linhas são os Nós da Malha. Cada linha é composta de x y u v i, Aonde ( x , y ) são as coordenadas da tela normalizadas, ( u , v ) são as coordenadas de Texturas e ( i ) um fator de multiplicação de intensidade. O Valor de ( x ) varia entre o aspecto negativo da tela para o aspecto positivo da tela, enquanto o valor de ( y ) varia entre -1 até 1, os valores de ( u ) e ( v ) Variam entre 0 e 1, e os valores de ( i ) variam entre 0 e 1, caso negativos, não desenham este nó da Malha. •

Você necessita criar o arquivo e adicioná-lo ao Editor de Textos do Blender de maneira a selecioná-lo como o arquivo que representa a sua Malha de Alternância de Dados (Warp Mesh).

Arquivos de Exemplo: Spherical Mirror Dome 4x3, Truncated Dome 4x3, Sample Fullscreen File 4x3, Sample Fullbuffer File 4x3. Importante: A "Viewport" (Porta de Visão) é calculada utilizando o aspecto de comprimento de formato de conformação (canvas) pela sua altura. Portanto diferentes tamanhos de telas irão requerer diferentes arquivos de Malha de Alternância de Dados (Warp Mesh) em sua configuração. Também de maneira a obter o aspecto correto de seu projetor, você deverá utilizar o Blender em Modo de Tela cheia.

Categories: Camera | Game engine

Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page

Lista de Recursos Aqui há um "briefing" (breve apresentação) da lista de recuros presente dentro da Game Engine do Blender (em inglês), mais abaixo há informações sobre recuros de suporte e ajuda: • Platforms: GNU/Linux, Windows, Mac… • Logicbrick system. • Python scripting. • Supports GLSL shader 2.0 (vertex and fragments programs via Python or build in).


Normalmap. o Parallaxmap. o Specularmap. o Colormap. o Detailmap. o Environment reflect cube. o Environment reflect sphere. o Vertex color. o Phong shader. o Dynamic shadow (soft and stencil shadow - not yet). o GL particle system (not yet). Physics: Bullet and Sumo. Sound: wav (ogg,mp3 not yet). Textures: tga+alpha, png+alpha, jpg. Bitmap fonts. GUI (graphical user interface - not yet). Mesh deform with bones. Terrain engine (not yet). Lod (level of detail - via Python). Culling system: sphere, box, frustum (via Python). Portals (not yet). Network (via Python). Multi uv coordinate (via Python). Mipmap. Lightmap/shadowmap baking. o

• • • • • • • • • • • • • •

Recursos de Suporte A Blender Game engine possui uma ampla lista de recuros distribuída pela Internet, canais de software especializado, ferramentas de suporte, sites de colaboração e sistemas de extensão. Há também diversas comunidades, tutoriais de utilização, vídeos explicativos e outros recursos que estão além desse site. Aqui listamos abaixo a extensão desses recursos:

Mais sobre a Documentação do Usuário e Ajuda • • • • • • • •

Introdução a Blender Game Engine por Tutorial (em Inglês) Vários tutoriais externos Perguntas Frequentes (FAQ) sobre a Blender Game Engine (Antigo) (em Inglês) Perguntas Frequentes (FAQ) sobre a Blender Game Engine (Novo para versão 2.48a) Blender GameKit original (Antigo) (em inglês) Usando sombreamento de material com materiais em GLSL (em inglês) Tutoriais da Game Engine no formato wiki Blender GameKit 2.0


Ferramentas auxiliares de desenvolvimento de jogos e utilitários • • • • • •

GIMP - Programa de manipulação de imagens GPL para Linux e Windows (em Inglês) IconArt - Faça ícones customizados para seu jogo.exe (em Inglês) Setup2go e Installer2go - Criação de instaladores (em Inglês) Inno Setup - Um instalador livre muito bom (em Inglês) BZoo - Um poderoso template de jogo em rede (em Inglês) Competição Usando a Game Engine do Blender (em Inglês)

Fórums e Bate-papo • •

Fórums (ajuda offline) (em Inglês) IRC (ajuda online e fórum de desenvolvedores) (em Inglês)

Referência e documentação relacionada Muitos jogos possuem um programa que faz as coisas reagirem, moverem-se e trocar de estado conforme o jogo se desenrola. Python é a linguagem na qual a engine de IA é escrita, e é executada sob a BGE. • Python, a linguagem de scripts (em Inglês) • Python, documentos para o iniciante (em Inglês)

Documentos da API Python da Game Engine • •

API para Lógica de Jogo em Python para o Blender 2.49 (em Inglês) API python para Game Engine GLSL (em Inglês)

Bug Tracker •

Bug Tracker (em Inglês)

Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page

Lista de Recursos Aqui há um "briefing" (breve apresentação) da lista de recuros presente dentro da Game Engine do Blender (em inglês), mais abaixo há informações sobre recuros de suporte e ajuda: • Platforms: GNU/Linux, Windows, Mac… • Logicbrick system. • Python scripting. • Supports GLSL shader 2.0 (vertex and fragments programs via Python or build in). o Normalmap.


Parallaxmap. o Specularmap. o Colormap. o Detailmap. o Environment reflect cube. o Environment reflect sphere. o Vertex color. o Phong shader. o Dynamic shadow (soft and stencil shadow - not yet). o GL particle system (not yet). Physics: Bullet and Sumo. Sound: wav (ogg,mp3 not yet). Textures: tga+alpha, png+alpha, jpg. Bitmap fonts. GUI (graphical user interface - not yet). Mesh deform with bones. Terrain engine (not yet). Lod (level of detail - via Python). Culling system: sphere, box, frustum (via Python). Portals (not yet). Network (via Python). Multi uv coordinate (via Python). Mipmap. Lightmap/shadowmap baking. o

• • • • • • • • • • • • • •

Recursos de Suporte A Blender Game engine possui uma ampla lista de recuros distribuída pela Internet, canais de software especializado, ferramentas de suporte, sites de colaboração e sistemas de extensão. Há também diversas comunidades, tutoriais de utilização, vídeos explicativos e outros recursos que estão além desse site. Aqui listamos abaixo a extensão desses recursos:

Mais sobre a Documentação do Usuário e Ajuda • • • • • • • •

Introdução a Blender Game Engine por Tutorial (em Inglês) Vários tutoriais externos Perguntas Frequentes (FAQ) sobre a Blender Game Engine (Antigo) (em Inglês) Perguntas Frequentes (FAQ) sobre a Blender Game Engine (Novo para versão 2.48a) Blender GameKit original (Antigo) (em inglês) Usando sombreamento de material com materiais em GLSL (em inglês) Tutoriais da Game Engine no formato wiki Blender GameKit 2.0


Ferramentas auxiliares de desenvolvimento de jogos e utilitários • • • • • •

GIMP - Programa de manipulação de imagens GPL para Linux e Windows (em Inglês) IconArt - Faça ícones customizados para seu jogo.exe (em Inglês) Setup2go e Installer2go - Criação de instaladores (em Inglês) Inno Setup - Um instalador livre muito bom (em Inglês) BZoo - Um poderoso template de jogo em rede (em Inglês) Competição Usando a Game Engine do Blender (em Inglês)

Fórums e Bate-papo • •

Fórums (ajuda offline) (em Inglês) IRC (ajuda online e fórum de desenvolvedores) (em Inglês)

Referência e documentação relacionada Muitos jogos possuem um programa que faz as coisas reagirem, moverem-se e trocar de estado conforme o jogo se desenrola. Python é a linguagem na qual a engine de IA é escrita, e é executada sob a BGE. • Python, a linguagem de scripts (em Inglês) • Python, documentos para o iniciante (em Inglês)

Documentos da API Python da Game Engine • •

API para Lógica de Jogo em Python para o Blender 2.49 (em Inglês) API python para Game Engine GLSL (em Inglês)

Bug Tracker •

Bug Tracker (em Inglês)

Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page

Lógica de Jogos Introdução ao Painel "Game Logic" (Lógica de Jogo) A lógica de Jogo é o que faz com que qualquer coisa aconteça dentro do Jogo. É desenhada de maneira a prover uma poderosa ferramenta para configurar a lógica do Jogo através de uma Interface gráfica. Os Blocos Lógicos ou Logic Bricks representam funções préviamente programadas que podem ser ajustadas e combinadas para criar a Aplicação/Jogo. O sistema é dividido em três partes: Sensores, Controladores e Atuadores.


Sensores servem para sentir quando as coisas acontecem, como uma colisão, uma tecla pressionada, ou movimento do Mouse por exemplo. Sensores são ligados a controladores, que os comparam e então ativam atuadores. Quando estiver carregando o Painel de Contexto Logic pela primeira vez, ou então pressionando F4 ou selecionando o botão do Painel de Lógica ( alguma coisa similar a imagem abaixo.

), você verá

O contexto Logic. Para oferecer a você um melhor entendimento do Painel Logic, nós expandimos alguns dos menus e os numeramos na imagem abaixo. Nós vamos observar cada seção individualmente conforme estão numeradas na imagem abaixo.

As partes diferentes do contexto Logic.

1 "Associated Objects" (Objeto(s) Associado(s))

Lógica para muitos Objetos. A lógica na Blender Game Engine ou BGE é relacionada a Objetos. Objetos são listados pelos seus nomes e aparecem na Janela de lógica quando estão selecionados. Você pode selecionar um Objeto único como na Figura acima, ou então selecionar múltiplos Objetos como na figura a direita.


A lógica de um ou mais Objetos somente é visível quando o um ou mais Objetos associados com esta lógica estão selecionados.

2 "Physics" (Física) Estas configurações controlam como um Objeto se comporta no Jogo. O Menu de tipos de Objeto define se um Objeto é um: • Soft body - Físico, deforma com colisões. • Rigid body - Físico. • Dynamic - Físico, mas permanece em pé. • Static - Físico, mas não é afetado pela gravidade. • Sensor - Para opções de sensoramento avançados, leia estas (Notas de Lançamento). • No collision – Não físico. • Occluder – Faz com que os Objetos que estão atrás dele parem de ser enviados para a GPU, para melhorar a performance. Veja estas (Notas de lançamento). As outras coisas dependem do tipo de Objeto, somente as configurações relevantes vão estar visíveis. Para alguns tipos, existe também um Menu "Advanced" (Avançado) com mais opções. Algumas configurações são por material e podem ser acessadas pressionando o botão DYN dentro do Painel Material, no sub-contexto Material. Para mais opções de física, colisões e ambientação veja a aba Mist/Stars/Physics, dentro do sub-contexto World. Uma observação mais aprofundada sobre isto está disponível na página Atores.

3 "Properties" (Propriedades) Propriedades são como variáveis em outras linguagens de programação. Elas são utilizadas para salvar e acessar dados associados com um Objeto. Os seguintes tipos estão disponíveis: • Timer - Inicia em um número definido e sobe a contagem. • String - Mantém os textos. • Float - Mantém números decimais entre -10000.000 e 10000.000. • Integer - mantém números inteiros entre 10000 e 10000. • Bool - Pode ser verdadeiro ou Falso. Para uma Observação mais detalhada, veja Propriedades.

4 "Sensors" (Sensores) Sensores iniciam todas as ações lógicas. Sensores “setem” as coisas, como um objeto próximo, uma tecla pressionada no teclado, eventos temporais, etc. Quando um sensor é disparado, um pulso é enviado para todos os controladores ligados. Para uma Observação mais detalhada, veja Sensores.

5 "Controllers" (Controladores) Controladores manuseiam a lógica, avaliam os pulsos a partir dos sensores e enviam pulsos a atuadores em resposta. Os diferentes tipos de Controladores são: • AND – Todos os sensores conectados devem ser positivos para enviar um pulso positivo. • OR – Um ou mais sensores conectados devem ser positivos.


XOR - Exclusivo Or: um e somente um sensor conectado deverá ser positivo. • NAND – Não "And" (E), um tipo de sensor de condição "And" (E) invertido. • NOR – Não "OR" (OU), um tipo de sensor de condição '"OR" (OU)' invertido. • XNOR – Controlador Nor Exclusivo. • Expression – Escreva sua própria expressão. • Python – Controle o sensor com um Módulo ou Script Python. Para uma Observação mais detalhada, veja Controladores. •

6 "Actuators" (Atuadores) Atuadores afetam objetos ou o Jogo de alguma maneira. Atuadores alternam movimentos, o som, propriedades, Objetos, Etc. Estas mudanças podem ser em outros Objetos, física, propriedades ou então elas podem executar o disparo de eventos para outros Blocos Lógicos. Para uma Observação mais detalhada, veja Atuadores.

7 "Links" (Ligações) Ligações (7a) são a direção do fluxo lógico entre os Objetos. Ligações são desenhados pelo arrasto com o LMB a partir de um nó de ligação para outro nó (7b). Ligações podem ser somente desenhadas a partir de Sensores para Controladores ou Controladores para Atuadores. Enviar nós (Os círculos amarelos encontrados no lado do agarrador na direita dos Sensores e Controladores) podem enviar para nós de múltipla recepção (encontrados no lado do agarrador na esquerda dos Controladores e Atuadores). Nós de recepção podem plenamente receber múltiplas ligações. Você não pode ligar diretamente Sensores a Atuadores. Atuadores não podem ser ligados de volta a Sensores. Se você deseja fazer com que um Sensor se ative depois de um Atuador ter sido completado, use o Sensor do Atuador. Categories: Game engine | Panels | Introduction

Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page

"Actuators" (Atuadores) Os "Actuators" (Atuadores) perfazem ações, como mover, criar Objetos, ou tocar um som. Os "Actuators" (Atuadores) iniciam as suas funções quando recebem um sinal ou pulso positivo a partir de um (ou mais ) dos "Controllers" (Controladores). Existem 18 Atuadores para a versão de produção do Blender 2.49a:


Moção ou Movimento Motion

Faz com que o Objeto possua movimento e/ou rotação, existem diferentes opções, a partir de “teleportagem” até Objetos que rotacionam a partir de um “empurrão”.

Ação de Formato - Manipula as animações guardadas dentro de "Shape Keys" (Chaves Shape Action de Quadro) e animadas com "Shape Actions" (Ações de Formato).

Ação - Action

Manipula as ações das "Armatures" (Armaduras), isto somente é visível caso uma "Armature" (Armadura) esteja selecionada.

Restrição Constraint

restrições são utilizadas para limitar a localização de Objetos, distância ou rotação. Estes são úteis para executar o controle da física do Objeto dentro do Jogo.

Controla Animações em curvas IPO, estas podemo mover, Interpolação - Ipo rotacionar, escalar, alterar as cores dos Objetos e outras funcionalidades.

Câmera - Camera

Possui opções para seguir Objetos de maneira suave, primariamente para Objetos tipo Câmeras, mas qualquer Objeto pode utilizar esta funcionalidade.

Som - Sound

Utilizado para tocar sons dentro de um Jogo.

Propriedade -Property

Manipula as propriedades dos Objetos, como designação. Adicionar ou cópia.

Edita a Malha dos Objetos, adiciona Objetos ou ou destrói, isso Edição de Objetos também pode ser utilizado para alterar a Malha de um Objeto (e - Edit Object brevemente também recriar a Malha de colisão).

Cena - Scene

Manipula as Cenas dentro de seu arquivo Blender (.blend), estes podem ser utilizados para a criação de Níveis ou para a Interface de Usuário do Jogo (UI) e o plano de fundo.


Randômico Random

Cria valores Randômicos, que podem ser guardados em propriedades.

Mensagem Message

Envia mensagens, que então podem ser recebidas por outros Objetos para ativá-las.

CD

Toca Músicas a partir do CD-ROM (pode não fazer o mesmo na versão 2.5).

Game

Manipula o Jogo inteiro e pode fazer coisas como "Restart" (Reiniciar), "Quit" (Sair), "Load" (Carregar) e "Save" (Salvar).

Visibilidade Visibility

Altera a Visibilidade do Objeto.

Filtro 2D - 2D Filter

Filtros para efeitos especiais como cores de “sepia” ou “blur”.

Parente - Parent

Pode configurar um parente para o Objeto, ou desfazer a relação de Parentesco.

Estado - State

Altera os estados do Objeto.

Category: Game engine

Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page


Atuador tipo "2D Filters" (Filtros 2D) Os "2D Filter" (Filtros 2D) são atuadores de filtragem de Imagens, que são aplicados na renderização final dos Objetos. Agradecimentos ao Colega Social et.al. por um Template de FPS ( First Person Shooter ou Atirador em Primeira Pessoa).

"Motion Blur" (Borrão de Movimento) O filtro do tipo "Motion Blur" (Borrão de Movimento) é uma filtro tipo "2D Filter" (Filtro 2D) que necessita de informação de renderização prévia para que possa produzir o efeito de movimento nos Objetos. Abaixo, você pode ver o filtro do tipo "Motion Blur" (Borrão de Movimento) dentro de uma Janela do Blender, juntamente com seus blocos lógicos :

Filtros 2D: Motion Blur.

Filtros 2D: Game Logic. Para habilitar este filtro: 1. Adicione Sensor(es) apropriados e Controlador(es). 2. Adicione um Atuador do tipo 2D Filter. 3. Selecione a opção de "Motion Blur" (Borrão de Movimento) dentro da lista tipo drop-down. 4. Configure um Fator dentro de "Value" (Valor) para o "Motion Blur" (Borrão de Movimento). E para desabilitar este Filtro: 1. Adicione Sensor(es) apropriados e Controlador(es). 2. Adicione um Atuador do tipo 2D Filter. 3. Selecione a opção de "Motion Blur" (Borrão de Movimento) dentro da lista tipo drop-down. 4. Clique no botão marcado como D para entrar em estado de desabilitado. Você pode habilitar o Filtro de "Motion Blur" (Borrão de Movimento) utilizando um controlador através de Script Python como segue abaixo : import Rasterizer Rasterizer.enableMotionBlur(0.85)

And disable it: import Rasterizer Rasterizer.disableMotionBlur()

Note


O seu Hardware Gráfico e seus Drivers de cliente OpenGL deverão suportar a função accumulation buffer, ou buffer de acumulação (glAccum function).

Filtros 2D Embutidos Todos os filtros 2D que você pode ver no Atuador "2D Filter" (Filtros 2D) possuem a mesma arquitetura, todos os efeitos embutidos utilizam Fragment Shader para produzir a renderização final para a visualização, portanto, o seu hardware deverá suportar estes "Shaders" (Sombreadores).

2D Filters: Motion Blur.

2D Filters: Sepia.

2D Filters: Sobel. Os filtros: Blur, Sharpen, Dilation, Erosion, Laplacian, Sobel, Prewitt, Gray Scale, Sepia e Invert são filtros embuidos. Estes filtros podem ser configurados para estar disponíveis em alguns passos. Para utilizar um filtro, você deverá: 1. Criar Sensor(es) e Controlador(es) apropriados. •


2. Criar um Atuador do tipo "2D Filter" (Filtro 2D). 3. Selecionar o seu filtro, por exemplo "Blur" (Borrar). 4. Configurar o número de passos nos quais o filtro será aplicado.

Para remover um filtro em um passo específico: 1. Criar Sensor(es) e Controlador(es) apropriados. 2. Criar um Atuador do tipo "2D Filter" (Filtro 2D). 3. Selecione "Remove Filter" (Remover Filtro). 4. Selecione o número do passo ao qual você deseja remover o filtro relativo . Para desabilitar um filtro em um passo específico: 1. Criar Sensor(es) e Controlador(es) apropriados. 2. Criar um Atuador do tipo "2D Filter" (Filtro 2D). 3. Selecione "Disable Filter" (Desabilitar Filtro). 4. Selecione o número do passo ao qual você deseja desabilitar o filtro relativo . Para habilitar um filtro em um passo específico: 1. Criar Sensor(es) e Controlador(es) apropriados. 2. Criar um Atuador do tipo "2D Filter" (Filtro 2D). 3. Selecione "Enable Filter" (Habilitar Filtro). 4. Selecione o número do passo ao qual você deseja habilitar o filtro relativo .

Filtros Customizados

2D Filters: Custom Filter. Filtros personalizados ou customizados dão a você a habilidade de definir os seus próprios filtros 2D utilizando os "Shaders" (Sombreadores) GLSL. O seu uso é feito da mesma forma que os filtros embutidos, mas você deverá selecionar "Custom Filter" (Filtro Personalizado) dentro do Atuador "2D Filter" (Filtro 2D), e então escrever o programa para o "Shader" (Sombreador) dentro do "Text Editor" (Editor de Textos), e depois colocar o nome do Script do Shader dentro do Atuador. Aqui apresentamos um exemplo de somo fazer um filtro do tipo "Blue Sepia" (Sepia Azul): uniform sampler2D bgl_RenderedTexture; void main(void) { vec4 texcolor = texture2D(bgl_RenderedTexture, gl_TexCoord[0].st); float gray = dot(texcolor.rgb, vec3(0.299, 0.587, 0.114)); gl_FragColor = vec4(gray * vec3(0.8, 1.0, 1.2), texcolor.a); }


Category: Game engine

"Action Actuator" (Atuador de Ações) O "Action Actuator" (Atuador de Ações) somente está visível quando uma "Armature" (Armadura) está selecionada, por que as Ações são guardadas dentro das "Armatures" (Armaduras).

Category: Game engine

Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page

"Edit Object Actuator" (Atuador de Edição de Objeto) O "Edit Object Actuator" (Atuador de Edição de Objeto) edita a Malha do Objeto, adiciona Objetos ou os destrói, ele também pode alterar a Malha de um Objeto (e também recriar a Malha de Colisão de maneira rápida, ou antecipadamente). Ele possui cinco Modos: "Add Object" (Adicionar Objetos) Adiciona um Objeto no centro do Objeto corrente. O Objeto que é adicionado deverá estar em outro(a) "Layer" (Camada), escondido. • OB O nome do Objeto que será adicionado. • "Time" (Tempo) O tempo (especificado em quadros) no qual o Objeto fica vivo antes de desaparecer. Um Valor de Zero 0, faz com que o Objeto permaneça para sempre. • LinV Uma Velocidade Linear, trabalha como o "Motion Actuator" (Atuador de Moção ou Movimento) mas no Objeto recém criado ao invés do Objeto em si. É útil para Objetos nos quais se atira. Crie-os com uma velocidade inicial. • AngV Velocidade Angular, trabalha como no "Motion Actuator" (Atuador de Moção ou Movimento), mas no Objeto recém criado ao invés do Objeto em si. "End Object" (Terminar Objeto) Destrói o Objeto. "Replace Mesh" (Substituir Malha) Substitui a Malha gráfica do Objeto. A parte de "Physics" (Física) ainda permanecerá a mesma. Para a próxima versão do Blender, a Malha de colisão também será intercambiável. • ME


O Nome da nova Malha. "Track To" (Observar para) Faz com que o Objeto permaneça vigiando outro Objeto, dentro de dimensões 2D ou 3D. O eixo Y-axis é considerado a frente do Objeto. • OB O Objeto que será Observado. • Time O tempo que isso leva para transformar para o Objeto. • 3D Sem habilitar esta opção, ele somente rotacionará o Objeto dentro do eixo Z, somente seguindo o Objeto alvo dentro de duas dimensões. Com esta opção, ele poderá rotacionar em todos os eixos, seguindo o Objeto alvo dentro do espaço 3D. "Dynamics" (Dinâmica) Altera as propriedades físicas do Objeto. Ele possui cinco modos: • Suspend Dynamics tira o Objeto para fora da Máquina de Física, então ele não responderá para colisões ou gravidade. • Restore Dynamics faz com que o Objeto retorne para a Máquina de Física. • Disable Rigid Body faz com que o Objeto não seja mais um corpo rígido. • Enable Rigid Body Faz com que o Objeto seja um corpo rígido novamente. • Set Mass altera a Massa de um Objeto.

Category: Game engine Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page

Atuador tipo Ipo As IPOs (Curvas de Interpolação) são criadas com "keyframes" (chaves de quadro) e são utilizadas para animar Objetos de muitas maneiras. O Atuador consiste de um Menu chamado "Ipo types" (Tipos de IPO) e um conjunto de botões listados abaixo:


O Atuador IPO

O Atuador tipo IPO com o botão de orientação "Force" (Força) Aplica a curva IPO como uma força: isto significa que o Objeto não irá tentar atravessar Objetos sólidos. O seu comportamento, será o de seguir o que está estabelecido nas curvas IPO correspondentes e ignorar outros Objetos. A Seleção de "Force" (Força) faz com que um botão marcado como L apareça, para a escolha entre a utilização de coordenadas tipo local/global. "Add" (Adicionar) As curvas IPO são normalmente definidas globalmente, o que significa que o Objeto irá saltar de volta a sua posição aonde a animação foi gravada inicialmente. Com a opção "Add" (Adicionar), a animação ao invés disso é adicionada a posição do Objeto. Selecionando a opção "Add" (Adicionar) faz com que um botão chamado L apareça, para a escolha entre a utilização de coordenadas tipo local/global. "Sta" (Iniciar) Define em qual "frame" (quadro) a animação irá ser iniciada. "End" (Fim) Define em qual "frame" (quadro) a animação irá terminar. "Child" (Filhos(as)) Especifica se as IPOs do tipo "Child" (Filhos(as)) devem ser atualizadas também. "FrameProp" (Propriedade do Quadro) Escolhe uma propriedade na qual a BGE irá guardar o "frame" (quadro) na qual a animação corrente está, através da animação.

Existem seis tipos de IPO:


Atuador IPO "Play" (Tocar) Toca a animação do início até o final, e então reinicia. "Ping Pong" (Bate e Volta) Toca a animação do início até o final, e da próxima vez que o Atuador for acionado, toca do fim para o início. "Flipper" (Trocando) Toca a animação do início até o final, somente enquanto o atuador está ativado. Quando o atuador não está ativado, ele toca a animação de volta ao seu início (reverte a animação). "Loop Stop" (Parada em Curso) Toca a animação do início até o final, somente enquanto o Atuador está ativado. Quando o Atuador não está mais ativado, a animação é pausada e somente continua quando o Atuador for acionado novamente. Quando ele atinge o fom da Animação, a animação reinicia novamente. "Loop End" (Parada somente no final) Toca a Animação do início até o final e então reinicia. "Property" (Propriedade) Para o período no qual o Atuador estiver ativo, a animação será controlada pela propriedade designada dentro do campo, substituindo os Botões de "Sta" (Início) e "End" (Final). A propriedade designa o número do "frame" (quadro).

Exemplo Imagine que você queira fazer uma Barra de Saúde (vidinha ou health bar) para seu personagem, que visualize o fator de hp (Health Property, ou Propriedade de Saúde) sem números. Você cria um cubo, move-o (dentro do "Edit mode" (Modo de Edição)) para que o seu centro esteja em uma ponta do Objeto. Então você o estica (escala) para o tamanho que você deseja para mostrar quando a saúde do personagem esteja plena. Então você decide que o valor máximo para isso será de 100 e insere uma "keyframe" (chave de quadro) no "frame" (quadro) de número 100. Então você volta para o quadro número 0 e escala o Objeto para que ele fique menor, dentro do eixo correto e represente corretamente o valor de hp visualmente, inserindo uma "keyframe" (chave de quadro) para a escala. A Animação irá agora consistir de sua barra de hp (Health Property, ou Propriedade de Saúde, ou vidinha) sendo preenchida entre o quadro 0 e o 100. Você configura então um Atuador do tipo "Copy Property" (Copiar Propriedade), para copiar a propriedade hp do jogador para a propriedade da barra de hp. O próximo passo é configurar um Sensor do tipo "Always" (Sempre) e um controlador do tipo


AND, juntamente com um Atuador tipo Ipo dentro do modo de "Property" (Propriedade). Como propriedade, você então irá escolher a propriedade hp, para que sua barra seja acionada conforme o seu personagem é atingido ou ganha mais saúde. Quando a propriedade hp é alterada, a barra de saúde (ou vidinha ) do seu personagem irá ser escalada de acordo com o quadro que contiver aquele número. Como o quadro 0 significa sem saúde e o quadro de número 100 significa saúde plena, a barra que você utilizar irá corresponder a propriedade.

Category: Game engine Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page

"Motion Actuator" (Atuador de Moção ou Movimento) O "Motion Actuator" (Atuador de Moção ou Movimento) faz com que o Objeto seja configurado para iniciar o movimento e/ou rotação, existem diferentes opções, desde tipos de “teleportação”, até Objetos que fisicamente rotacionam com um empurrão. Existem duas maneiras de fazer o controle desses movimentos, que são "Simple Motion" (Movimentação simples) e "Servo Control" (Servo Controlados). Os do tipo "Simple Motion" (Movimentação Simples) aplicam diferentes tipos de movimentação diretamente, enquanto os do tipo "Servo Control" (Servo Controlados) configuram uma velocidade alvo e quão rapidamente esses Objetos atingem essa velocidade. Os controles são diferentes, dependendo de quais tipos de configurações de física o Objeto possui. O bjetos que não são afetados pela gravidade, ou do tipo "Static" (Estáticos), "No collision" (Sem colisão), "Occluder" (Oclusores), "Sensor" (Sensores)) podem somente utilizar dois tipos de movimentação simples. Os outros tipos de Objetos com propriedades físicas, como por exemplo "Dynamic" (Dinâmicos), "Rigid body" (Corpos Rígidos), "Soft body" (Corpos Macios)) podem utilizar o "Motion Actuator" (Atuador de Moção ou movimento) e todos as outras opções de movimentação simples disponíveis.

"Simple Motion" (Movimentação Simples) O(a) "Simple motion" (Movimentação Simples) aplica movimentos em eixos. O Bloco de "Simple Motion" (Movimentação Simples ) é organizado em colunas e linhas. Linhas para cada tipo de movimentos, colunas para eixos e botões para "on/off" (ligar/desligar) os eixos locais. As três caixas cinzas em cada linha são os movimentos dentro dos eixos X,Y,Z (dentro desta ordem), caso você queira um movimento diagonal, adicione movimentos para mais eixos ao mesmo tempo. O Botão L, alterna entre a opção do movimento ser adicionado ao eixo Local ou Global. O eixo Global será sempre o mesmo, como mostrado dentro da Janela de visualização 3D com setas nas cores vermelho, verde e azul e linhas. Os eixos Globais fazem com que o Objeto sempre seja movimentado dentro da mesma direção, não importa em que sentido ele seja


rotacionado. Os eixos Locais são os próprios eixos dos Objetos. Esta é a opção mais comumente utilizada e é a padrão. A Rotação é feita em torno do eixo que foi fornecido, em sentido horário caso você observe ao longo da direção do eixo. Os tipos de "Simple Motion" (Movimentação Simples) são: Loc -> "Location" (Localização) “Teleporta” os Objetos. O Objeto simplesmente “salta” o número de unidades Blender que foi fornecido, Isto pode fazer com que Objetos atravessem outros Objetos pelo fato dele nunca passar por quaisquer das coordenadas fornecidas entre o início e o final. Utilizando as configurações Globais, fará com que o Objeto seja movido dentro do eixo Global mas não nas coordenadas Globais, caso você queira teleportar um Objeto para uma Coordenada, é recomendado que você utilize Scripts Python ou então Curvas IPO. Rot -> "Rotation" (Rotação) Altera a Orientação do Objeto, dentro da mesma maneira que as mudanças de Localização o fazem para movê-lo. Tão logo é ativado, o Objeto irá girar. Uma Revolução é representada pelo valor de 7.2 (Exemplo 0.02 para cada Grau de rotação). "Force" (Força) O fator de "Force" (Força) é como dar um empurrão no Objeto, ele adiciona o movimento dentro de uma direção. Mas, no momento em que é adicionado, o Objeto irá se tornar mais e mais rápido conforme o fator de "Force" (Força) é aplicado. Torque Trabalha da mesma maneira que "Force" (Força), mas para rotação. LinV -> "Linear Velocity" (Velocidade Linear) Configura uma velocidade, o Objeto se move com a velocidade informada ao longo do eixo. O Botão de "add" (Adicionar) faz com que a velocidade seja adicionada a velocidade corrente existente. A "Linear Velocity" (Velocidade Linear) interfere com a gravidade, o Objeto poderá cair mais devagar, e isso pode ser resolvido com um “servo control”. AngV -> "Angular Velocity" (Velocidade Angular) Trabalha da mesma maneira que a "Linear Velocity" (Velocidade Linear), mas para rotação. "Damp" (Amortecer) Torna o movimento mais devagar. Estes tipos de Movimentos podem ser misturados de qualquer maneira.

"Servo Control" (Controle de Serviço) O Servo control é uma maneira poderosa de conseguir um movimento dentro do mundo físico. Ele consiste de um "Servo Controller" (Controlador de Serviço) que ajusta a força no Objeto de maneira a conseguir uma determinada velocidade, portanto o nome "Servo Control" (Serviço de Controle). Conseguir velocidade através da força é um método bem natural por que é a maneira com a qual o mundo Real trabalha. Ele produz movimentos naturais, e evita os problemas de colisão diferentemente do Movimento Simples de Localização e interage corretamente com a gravidade, diferentemente do fator de LinV Velocidade Linear. O Movimento ajustado por um Serviço ou “Servo motion” utiliza uma força; e somente é aplicável para Objetos do tipo "Dynamic" (Dinâmicos). Ele não deverá ser utilizado em


"Rigid body" (Corpos Rígidos) por que ele não controla a rotação, somente a velocidade. No coração do atuador de "servo control motion" (serviço de controle do movimento) existe um indicador de serviço do tipo PID para o "Servo Controller" (Controlador de Serviços): ele mede o fator de erro de velocidade (Por exemplo, a diferença entre a velocidade do "target" (alvo) e a velocidade atual) e atualiza a força com base neste erro, pela aplicação de uma força que é proporcional ao fator de erro (o coeficiente P) e que também é proporcional ao íntegro ou total do fator de erro (o coeficiente I). Quanto mais alto esses coeficientes, mais “preciso” será o controle de velocidade (Ex: uma reação mais rápida); quanto mais baixo esse coeficiente, mais “gradual” será o controle de velocidade (Ex: uma reação mais lenta, ou efeito de deslizamento). Adicionalmente você pode configurar um "Limit" (Limite) para a força ao longo de cada eixo, para que a força de aceleração (ou frenagem) seja limitada. Para fazer uma comparação com um controle de velocidade de cruzeiro em um carro, os valores de fator de coeficiente P e I definem quão precisamente será o controle e o coeficiente de "Limit" (Limite) definem a potência do motor (e dos freios), e portanto seria quão rapidamente o carro reagiria a velocidade alvo. Outras opções dentro do atuador são: Ref Escolhe um Objeto no qual o proprietário do atuador utiliza como uma referência para o movimento, para plataformas que se movem, por exemplo. Caso isso esteja vazio, ele vai utilizar o "world" (ambiente Global) do Blender como referência. LinV A Velocidade Alvo Linear, o serviço de movimento trabalha com forças mas tenta funcionar até ou manter esta velocidade. Limit Esta Opção limita a velocidade nos eixos, uma vez escolhida, mais opções abaixo estarão disponíveis. Max/Min Os topos do limite, a velocidade nunca ultrapassará estes valores. Você pode conseguir uma grande variedade de estilos de movimento com o atuador de "Servo Control" (Controle de Serviço), por exemplo, pela não limitação da força ao longo do eixo transversal, você consegue uma grande reação ao deslizamento, o que seria o equivalente a fricção anisotrópica. O "Servo Motion Actuator" (Atuador de Serviço de Movimento) aplica forças; portanto ele não é compatível com outros atuadores que configuram força também, por exemplo, um atuador do tipo "Simple Motion" (Simples Movimento)em outro atuador do tipo "Servo Motion" (Serviço de Movimento), ainda que seja possível combinar dois atuadores do tipo "Servo Motion" (Serviço de Movimento) que trabalham em diferentes eixos.

Category: Game engine Blender 2.4 Portuguese • Doc page


• • •

Discussion View source History

Page

Atuador tipo "Property" (Propriedade) Utilizando o Atuador tipo "Property" (Propriedade) você pode alterar um valor de uma dada propriedade, uma vez que o atuador em si já esteja ativado.

Atuador tipo Property actuator

Tipos de Atuador Property actuator types "Prop" (Propriedade) A propriedade alvo a qual este Atuador irá mudar. "Value" (Valor) O Valor a ser utilizado para alterar a propriedade. "Type" (Tipo) • "Assign" (designar) A propriedade Alvo definida em "Prop" (Propriedade) irá se tornar igual ao que está definido em Value, no momento em que o atuador é ativado. • "Add" (Adicionar) Adiciona o valor definido em "Value" (Valor) para o valor da propriedade definida em "Prop" (Propriedade) no momento em que o atuador é ativado (caso precise baixar o valor, você pode entrar com um valor negativo para causar o decréscimo). Para propriedades do tipo "Bool" (Booleanas), um valor diferente de 0 (incluindo os negativos) é contado como verdade. • "Copy" (Copiar) Copia uma propriedade a partir de um outro Objeto para uma propriedade do dono deste Atuador, no momento em que o atuaor é ativado. • "Toggle" (Alternar) Alterna entre os valores 0 a 1 e qualquer outro número diferente de 0 para 0, no momento em que o atuador é ativado. Util para chaves de "on/off" (liga/desliga).


Mais informações sobre a API desta funcionalidade, podem ser encontradas dentro do manual Game Logic python API. (em inglês)

Exemplo Você possui um personagem, e ele possui uma propriedade chamada “hp” (hit points) ou pontos atingidos, para determinar quando ele tem danos suficientes para que este personagem morra no Jogo. O valor de “hp” é um valor do tipo "int" (Integral) com o valor inicial de 100. Você então configura dois Sensores do tipo "Collision" (Colisão), um para as balas do inimigo, e outro para que seu personagem se regenere ( será o seu “health”,, “saúde” ou “vidinha”). O primeiro está conectado (através de um controlador tipo AND) para um atuador do tipo "Add Property" (Adicionar propriedade) com a propriedade definida por “hp” e o valor como “-10”. Todas as vezes que o seu "Player" (Jogador) é atingido por uma bala do inimigo, ele perderá por exemplo 10 “hp”. O outro Sensor é conectado (através de um Controlador tipo AND) a um outro Atuador tipo "Add Property" (Adicionar Propriedade), mas este com um valor de 50. Portanto, todas as vezes que o "player" (jogador) desse jogo colidir com um item do tipo “health” , o valor de “hp” aumentará em 50. O próximo passo é você fazer a configuração de um Sensor do tipo "Property" (Propriedade) para um determinado intervalo, maior que 100. Isto será conectado (através de um Controlador tipo AND ) a um Atuador tipo "Assign Property" (Designar Propriedade), que será configurado para 100. Portanto, caso o seu "Player" (Jogador) tenha o seu valor de “hp” maior que 100, o valor será então configurado para 100.

Category: Game engine Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page

Atuador tipo "Scene" (Cena)

Atuador tipo Scene (Cena) O Atuador tipo "Scene" (Cena) manipula as Cenas em seu arquivo Blender, estas podem ser utilizadas para "Levels" (Níveis) ou para a Interface de Usuário (UI) e "background" (plano de fundo).


Este atuador possui oito modos:

Opções do atuador tipo Scene "Restart" (Reniciar) Reinicia a "Scene" (Cena) corrente, todas as coisas que constam da Cena são reiniciadas. "Set Scene" (Configurar Cena) Altera a "Scene" (Cena) para a que está selecionada. "Set Camera" (Configurar Câmera) Altera qual câmera será utilziada "Add OverlayScene" (Adicionar Cena sobreposta) Isto adiciona uma outra "Scene" (Cena), e a desenha sobre a "Scene" (Cena) corrente. Isso é bom para a montagem de Interfaces, mantendo as barras como "health bar" (barra de saúde), "ammo meter" (quantidade de armamento), ou "speed meter" (medidores de velocidade) na Cena que está sobreposta sempre visíveis. "Add BackgroundScene" (Adicionar Cena de plano de fundo) Isto é o oposto de uma "Scene" (Cena) que foi sobreposta, ou seja, esta opção faz com que esta Cena seja desenhada abaixo da Cena corrente. "Remove Scene" (Remover a Cena) Removes a "Scene" (Cena) "Suspend Scene" (Suspender a Cena) Provoca uma Pausa em uma "Scene" (Cena) "Resume Scene" (Resumir a Cena) Resume uma "Scene" (Cena) pausada.

Category: Game engine

"Shape Action Actuator" (Atuador de Ação de Formato) O "Shape Action Actuator" (Atuador de Ação de Formato) serve para trabalhar com ações que são guardadas dentro das "shapekeys" (chaves de formato) da Malha e colocadas em conjunto dentro do editor de "shapekeys" (chaves de formato).


Category: Game engine

Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page

"Controllers" (Controladores) Os controladores são como Blocos que coletam dados providos pelos Sensores. Existem oito maneiras de processar essas entradas de dados: • • • • • • • •

Controlador AND → E Controlador OR → OU Controlador XOR → OU (Exclusivo) Controlador NAND → Não E Controlador NOR → Não OU Controlador XNOR → Não OU (Exclusivo) Controlador Expression → Expressão Controlador Python → Scripts Python

Quando um Sensor é ativado, ele envia para fora um Pulso positivo e quando é desativado ele envia para fora um pulso negativo. O trabalho dos "Controllers" (Controladores) é checar e combinar estes Pulsos apara disparar a resposta apropriada como reação.

Tabela de Comparação de "Controllers" (Controladores) Esta tabela é entregue de maneira a dar uma rápida visão geral dos tipos de "Controllers" (Controladores). A primeira coluna, de "Input" (Entrada), representa o número de Pulsos positivos enviados pelos "Sensors" (Sensores) conectados. As seguintes colunas representam cada resposta dos "Controllers" (Controladores) a estes Pulsos. A condição de "TRUE" (Verdadeiro) significa que as condições do "Controller" (Controlador) estão satisfeitas e que o "Actuator" (Atuador) que está conectado a ele será ativado, e a condição de "FALSE" (Falso) significa que as condições do "Controller" (Controlador) não foram alcançadas/atingidas e nada irá acontecer. Por favor, consulte as seções mais adiante nesta página para uma descrição mais detalhada de cada "Controller" (Controlador). Nota Assume-se que mais de um Sensor está conectado ao Controlador. Para um único Sensor, consulte a linha “All” (Todos).


Positivo para os Sensores

Condições dos Controladores

AND

OR

XOR

NAND

NOR

XNOR

Nenhum

Falso

Falso

Falso

Verdadeir o

Verdadeir o

Verdadeir o

Um

Falso

Verdadeir o

Verdadeir o

Verdadeir o

Falso

Falso

Múltiplos , Nem Todos

Falso

Verdadeir o

Falso

Verdadeir o

Falso

Verdadeir o

Todos

Verdadeir o

Verdadeir o

Falso

Falso

Falso

Verdadeir o

Controlador AND → E O Controlador AND → E é o tipo padrão de "Controller" (Controlador) escolhido quando você cria um novo Controlador. Isto é porque é o Controlador mais comum e funciona muito bem para simplesmente passar um Sensor diretamente a um Atuador (operação que não pode ser feita sem o uso de um "Controller" (Controlador)). Um Controlador do tipo AND ativa os "Actuators" (Atuadores) aos quais está conectado, somente caso todos os Sensores que estão conectados a ele tenham uma condição positiva. Caso somente um Sensor esteja conectado a ele, os "Actuators" (Atuadores) serão ativados tão logo o Sensor tenha sido disparado. Caso mais Sensores estejam conectados, todos eles tem de estar ativados ao mesmo tempo (todas as condições deverão ser atingidas/alcançadas). Isto é de onde o seu Nome vem (AND ou E). Caso existam dois Sensores, “sensor1” e “sensor2”, conectados ao "Controller" (Controlador), ambos sensor1 AND sensor2 tem de estar ativos ao mesmo tempo para disparar o evento. Exemplo

Imagine que você queira fazer um botão de Menu. Quando o "Player" (Jogador) clica no Botão ele será transferido para a próxima "Scene" (Cena). No Botão de Menu, você configura dois Sensores de Mouse, um Sensor do tipo Mouse over e um Sensor do tipo "Left button" (Botão esquerdo). Ambos estão conectados ao mesmo "Controller" (Controlador) tipo AND, que estão conectados à um "Actuator"


(Atuador) do tipo "Set Scene" (Configurar Cena). Isto significa que o "Player" (Jogador) tem, ao mesmo tempo, que permanecer com o cursor do mouse sobre o botão de Menu e ao mesmo tempo clicar com o botão esquerdo dele para ir para a próxima cena (Ambas as condições foram atingidas/alcançadas).

Controlador OR → OU Um Controlador tipo OR ativa o "Actuator" (Atuador) ao qual está conectado caso ao menos um de seus Sensores tenha sido ativado. Caso somente um Sensor esteja conectado ao "Controller" (Controlador), ele passará o Pulso positivo quando este Sensor for ativado, caso mais Sensores estejam conectados, somente um deles necessita ser ativado. O Controlador tipo OR não é exclusivo, o que significa que ele funciona de maneira parecida com um "Controller" (Controlador) tipo AND também: caso todos os Sensores estejam ativados, o "Controller" (Controlador) tipo OR irá simplesmente passar o Pulso. O Controlador tipo XOR é um Controlador Exclusivo do tipo OU. Exemplo

Imagine que você queira que ambas as teclas Esc e o atalho Q possam terminar o seu jogo. Você então configura dois Sensores tipo Keyboard, sendo um com a tecla Esc e um com a tecla Q. Ambos então estão conectados a um "Controller" (Controlador) do tipo OR, que estão conectados a um "Actuator" (Atuador) tipo Termine este Jogo → Quit This Game. Caso um dos Sensores seja ativado, o "Game" (Jogo) então irá terminar.

Controlador XOR → OU (Exclusivo) O Controlador tipo XOR é um Controlador Exclusivo do tipo OR. Exclusivo significa que um, e somente um, dos sensores tem de ter a condição positiva. Caso haja apenas um Sensor conectado ao "Controller" (Controlador), ele irá ativar os seus "Actuators" (Atuadores) quando este Sensor enviar um Pulso positivo. Caso mais Sensores estejam conectados ao "Controller" (Controlador), ele irá ativar os seus "Actuators" (Atuadores) somente quando um, não importa qual, dos Sensores conectados tenha uma condição positiva. Caso mais de um Sensor tenha a condição positiva, ele não será ativado. Exemplo

---AGUARDANDO CONSTRUÇÃO---

Controlador NAND → Não E O Nome NAND é uma abreviatura para o termo "Not And" (Não E). Em lógica, o não nega o resultado, O Controlador NAND é portanto o oposto de um Controlador AND. Um "Controller" (Controlador) do tipo AND, ativa os "Actuators" (Atuadores) somente quando todos os Sensores são disparados, um "Controller" (Controlador) tipo NAND faz o oposto. Quando nenhum dos |Sensores possuir uma condição de "TRUE" (Verdadeiro), os "Actuators" (Atduadores) são ativados. Caso haja somente um Sensor conectado ao Controlador, os Atuadores são ativados somente quando o Sensor não é disparado (tendo o seu comportamento comparável à uma simples ponte lógica do tipo NOT).


Exemplo

---AGUARDANDO CONSTRUÇÃO---

Controlador NOR → Não OU O Controlador tipo NOR é um tipo de Controlador "Not OR" (Não OU), e ele é o oposto de um "Controller" (Controlador) tipo OR. Um Controlador NOR irá ativar os "Actuators" (Atuadores) caso somente nenhum dos Sensores seja disparado. Exemplo

---AGUARDANDO CONSTRUÇÃO---

Controlador XNOR → Não OU (Exclusivo) O Controlador XNOR é um Controlador Exclusivo do tipo "Not OR" (Não OU ). Mesmo que isso pareça confuso à primeira vista, ele é simplesmente o oposto da saída de um Controlador tipo XOR. O Controlador tipo XNOR, ativa os "Actuators" (Atuadores) quando mais (pelo menos dois Sensores) ou menos do que um Sensor (Nenhum) esteja disparado. Exemplo

---AGUARDANDO CONSTRUÇÃO---

Controlador Expression → Expressão Um Controlador que parece também confuso, mas na verdade é muito funcional em casos especiais. Ele requer uma expressão formatada, como uma curva de valores ou um campo de atuação em específico para seus valores.

Controlador tipo Expression.

Propriedade chamada “prop”.

Neste caso, o Controlador tipo "Expression" (Expressão) checa para saber se o sinal do Sensor, chamado de “sensor”, tem seu valor evaluado (constituindo uma condição TRUE ( Verdadeira)) e se o valor da "Property" (Propriedade) chamada “prop”, é igual a 1. ---AGUARDANDO CONSTRUÇÃO--Para informações mais úteis sobre a utilização do "Controller" (Controlador) tipo "Expression" (Expressão), veja esta página (em inglês)

Controlador Python → Scripts Python O Controlador tipo Python, é um Controlador que checa a entrada utilizando um Script programado pelo usuário, também conhecido como Script Python ou qualquer outro arquivo que contenha códigos em linguagem de programação Python. Os Controladores Python possuem dois modos: Script ou Module. Ambos podem ser escritos em um


aplicativo Editor de textos e guardados dentro do arquivo Blender, ou então eles podem ser formados por arquivos externos de Scripts Python. Mais informações sobre a utilização de Scripts Python dentro da BGE (Blender Game Engine) podem ser encontradas aqui. (em inglês) A API para a linguagem Python dentro da BGE pode ser encontrada aqui.(em inglês) "Script Mode" (Modo de Scripts)

No Modo Script, o Controlador é ligado à um Script, e o Script como um todo será executado antes que a parte "Logic" (Lógica) se mova/ande. Todas as coisas dentro desse Script acontecerão no espaço de um "Frame" (Quadro) ou no mesmo "Frame" (Quadro), caso o mesmo valor ou atributo seja alterado mais do que uma vez, somente o último será visível dentro do Jogo por causa desse comportamento . Caso, por exemplo, a posição de um Objeto seja alterada primeiramente para (100.0,100.0,100.0) mas, mais tarde, dentro do mesmo Script tenha sido alterado para (0.0,0.0,0.0) dentro de suas variáveis, então somente o valor de (0.0,0.0,0.0) será visível ao jogador por que o movimento para a posição (100.0,100.0,100.0) aconteceu no mesmo "Frame" (Quadro). "Module Mode" (Modo de Módulos)

A Partir da versão de produção 2.49 do Blender, o Controlador de Módulos para Scripts Python foi adicionado. Simplesmente escolha a opção Module, ao invés de Script em seu tipo, no Menu Drop Down do Controlador Python. Então, defina uma função neste módulo e chame essa função a partir do controlador. Ao invés de escrever “myScript.py” na caixa de edição do Script, você irá escrever “myModule.myFunc” na caixa de edição do Módulo. Esta função irá rodar todas as vezes que o "Controller" (Controlador) for chamado. Mas outras funções e variáveis fora do escopo de myFunc, irão rodar somente uma vez. Isto é bom para a otimização do seu código quando você quiser iniciar variáveis uma única vez e depois queira utilizá-las novamente mais tarde. O "Controller" (Controlador) de Scripts Python tipo Module suporta qualquer número de atributos, isso significa que pacotes são suportados automaticamente. Tanto quanto com “myModule.myFunc” , você pode fazer “myPackage.myModule.myFunc”, com pacotes atrelados de trabalho também, pelo fato desse método chamar também em instâncias de Classes como: “myPackage.myModule.myInstance.myMethod”. O "Controller" (Controlador) tipo Python é passado para a função de Script Python como um argumento para funções que tomam/recebem um argumento. Isto permite a edição a quente ou ao vivo de Scripts. Aprenda mais sobre o "Controller" (Controlador) de Módulo Python em: *Thread http://blenderartists.org/forum/showthread.php?t=156672 (em inglês) *Video http://download.blender.org/apricot/live_bge_edit.ogv (em inglês)

Category: Game engine

Blender 2.4


Portuguese • • • •

Doc page Discussion View source History

Page

Tipos de Objetos

menu de tipos de Objeto

Você pode possuir muitos tipos de Objetos em sua Cena. O Menu "Object type" (Tipos de Objeto) é aonde você define todas as propriedades associadas com os Objetos Ativos. Os Objetos ativos são avaliados pela máquina de física e são tratados como mais do que simples Objetos de sua "Scene" (Cena). Você pode escolher entre estes tipos de Objetos: • • • • • • •

Occluder - Oclusor No collision - Sem Colisão Sensor - Sensor Static - Estático Dynamic - Dinâmico Rigid body - Corpo Rígido Soft body - Corpo Macio

Objetos físicos para os casos de não haver Ambiente Ativo (World)

Objetos Físicos sem Ambiente Ativo (World)


Caso você não possua um Ambiente ou World ativo dentro do Contexto Shading (Janela de Botões, atalho F5), ao invés do painel de "Object type" (Tipos de Objeto) você irá somente ver um botão chamado "Physics" (Físicas): Habilitando-o você será capaz de clicar em mais botões para obter um painel como descrito em Objetos Físicos sem Ambiente Ativo (World). Neste caso, as opções disponíveis estão documentadas aqui. Em geral, você necessitará criar um "World" (Ambiente) por que isso também configura o ambiente físico para a BGE no Blender. Category: Game engine

Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page

Objeto do tipo "Dynamic" (Dinâmico)

Dynamic Uma vez ativado, isto dá ao seu Objeto propriedades físicas. O seu Objeto agora será impelido ou puxado pela gravidade, rebaterá contra outros Objetos, possuirá Massa e sua velocidade poderá ser reduzida pela Fricção.

"Actor" (Ator) Isto faz com que a Máquina ou Motor de Física do Blender leve em consideração o seu Objeto, fazendo com que este seja visto como se fosse mais do que parte do ambiente (como se fosse uma simples piso ou um muro). Este Objeto então agora poderá ser visto por outros Objetos ativos. Neste ponto, o seu Objeto não é afetado pela Física Normal ( como por exemplo a gravidade ), mas é visto como mais do que um simples Objeto de "background" (plano de fundo). Isto é útil para a Interação entre Objetos que não necessitam possuir propriedades físicas, como a resposta para a gravidade, como por exemplo um botão em uma parede.

"Ghost" (Fantasma) O Fantasma dá ao Objeto a habilidade de atravessar outros Objetos. Isto ajuda a salvar tempo de processamento enquanto calcula a física dos Objetos (Como por exemplo a


resistência, fricção, quantidade de energia de retorno ). Uma colisão com outro Objeto é ainda detectada e reportada para a sua lógica de jogo.

"Invisible" (Invisível) Caso o Objeto seja configurado como "Invisible" (Invisível), ele não será renderizado dentro da BGE ou Blender Game Engine.

"Advanced" (Avançadas) Nesta área há uma lista com as configurações avançadas de Colisão para a BGE.

"Mass" (Massa) A Massa afeta a quantidade de força que é requerida para mover um Objeto. Quanto maior a Massa, maior a força que deverá ser aplicada a um Objeto de maneira a movêlo. A Massa não irá fazer com que os Objetos caiam mais rápido ou devagar, pois no Blender, este valor não possui relação com a Massa gravitacional. Para fazer com que um Objeto reduza a sua velocidade, você pode usar o fator de "dampening" (amortecimento), caso você deseje acelerar a taxa com a qual um Objeto cai, você deve alterar o valor gravitacional (considerando que a gravidade normal possui um valor de 9.81).

"Radius" (Raio) Isto determina o tamanho da área que circunda os Objetos do tipo esfera ( ou parecidos com esferas ) e os fatores para Fh e FhRot. Isto pode ser alterado para um tamanho maior ou menos para dar ao seu Objeto a aparência e tino que desejar. O formato da área circundante é determinado pelo botão "Bounds" (Bordas ou Limiares), que por padrão é do tipo "Box" (Caixa). Quando estiver alterando o tamanho desta caixa circundante você poderá ver o efeito na tela, no formato de um círculo. Neste ponto, todos os formatos de caixas circundantes são refletidas como um círculo dentro da Janela de visualização 3D, mas mesmo assim, eles reagem de maneira diferente durante o/a "game play" (ação do Jogo).

"No Sleeping" (Sem descanso) Por padrão, caso um Objeto que seja afetado pela "Rolling Physics" (Física Contínua) venha a se encontrar em posição de descanso, a calculação da "Rolling Physics" (Física Contínua) é desabilitada. O Motor de Física (Physic Engine) assume que ela não necessita mais calcular o movimento do Objeto. Em alguns casos isto é verdade e vai salvar tempo de processamento em sua máquina, em outros casos como por exemplo em um jogo de futebol, a física necessita ser mantida o tempo todo em estado ativo, para que por exemplo, quando alguém chute a bola, ela reaja em resposta e seja colocada em movimento imediatamente.

"Damp" (Amortecedor) O fator de Amortecimento afeta a liberdade com a qual um Objeto se move. Dentro do espaço, praticamente não deve haver amortecimento, enquanto por exemplo na água, o amortecimento sede ser configurado como sendo bem alto.

"RotDamp" (Amortecedor de Rotação) O Amortecimento Rotacional é a mesma coisa que o Amortecimento convencional, mas somente afeta a Rotação dos Objetos. Um valor alto de Amortecimento Rotacional não irá afetar o resto do momentum do Objeto.

Do Fh


Isto faz com que o seu Objeto interaja com Materiais Dinâmicos. Isto correntemente não é suportado pelo Motor padrão de Física do Blender, (a biblioteca de interação física Bullet), e também não é totalmente suportado dentro do Motor de Física Sumo dentro da versão corrente do Blender. Essa função é totalmente suportada na versão do Blender 2.24.

Rot Fh Esta opção faz com que o eixo Z seja apontado distantemente a partir de Materiais Dinâmicos. Isto é ativado pela opção descrita acima Do Fh.

"Form" (Fator de Formato) O Fator de Formato dá a você um determinado grau de controle sobre Objetos do tipo "Rigid Body" (Corpos Rígidos). Quanto mais alto for o Fator de Formato, menor a possibilidade de um Objeto rolar, especialmente quando estiver rolando sobre uma superfície lisa.

"Anisotropic" (Anisotrópico) Isto controla a direção da fricção dentro das direções dos eixos X, Y, e Z do Objeto. O Fator de Anisotropia é relativo a quantidade de fricção dentro de uma direção em particular. Por exemplo, tome por base uma roda de um "Skateboard" ( Skate, para os íntimos :)), na direção voltada para a frente ou para trás, as rodas devem girar com facilidade, mas um movimento para a lateral deverá ser mais difícil, e diminuído por um alto grau de fricção.

"Bounds" (Bordas ou Limiares)

A BGE ou Blender Game Engine possui uma determinada quantidade de maneiras de lidar com os formatos dos Objetos. A razão pela qual a BGE evita um alto nível de precisão, para as colisões dos Objetos, com base em faces, é devido ao alto nível de processamento requerido para esta tarefa. Muitas vezes é mais rápido, durante o/a "game play" (ação de jogo), utilizar um sistema mais simples como uma "box" (caixa) ou uma "Sphere" (Esfera) que circunde o Objeto cujo formato seja similar a estes.

As Bordas ou Limiares dessa Caixa ou Esfera circundante são calculados a partir do centro dos Objetos, que são designados pelo ponto na cor rosa que indica o centro de seu Objeto. Por isto não é comum ou útil mover este centro para alguma localização mais conveniente ( ainda que algumas vezes, seja necessário ). Isto pode ser feito dentro do contexto Editing (F9) e escolhendo uma das 3 opções disponíveis que focam em torno do movimento de centro do Objeto (veja Referência sobre Malhas para mais informações). As opções "Convex Hull" (Carcaça Convexa) e a Estática "Triangle Mesh" (Malha Triangular) são designadas para a utilização com Objetos que fazem parte do ambiente (


World ) , como Pisos, andares, muros, paredes, árvores, etc.

Tipo de Objeto "No collision" (Sem Colisão)

No collision

A marcação do Objeto como tipo de Objeto "No collision" (Sem Colisão) desabilita as calculações das colisões do Objeto. Utilize isto para Objetos os quais nunca serão tocados por nenhum outro Objeto dinâmico para melhorar a performance da BGE e salvar tempo de processamento.

Tipo de Objeto "Invisible" (invisível) Caso o Objeto esteja marcado para ser do tipo "Invisible" (Invisível), ele não será renderizado dentro da BGE ou Máquina de Jogos do Blender.

Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page

Objeto tipo "Occluder" (Oclusor)


Occluder

O Objeto tipo "Occluder" (Oclusor) evita que os Objetos que estão atrás de si sejam enviados para a renderização da GPU, para manter a performance de renderização da BGE. (veja Notas de Lançamento sobre a Oclusão de Abate/Colisão (Occlusion Culling)) Objetos do tipo "Invisible" (Invisível)

Caso o Objeto tenha sido configurado como "Invisible" (Invisível), ele não é renderizadona BGE ou Máquina de Jogos do Blender (Blender Game Engine).

Especificações Técnicas (Redigida a partir das Notas de Lançamento do Blender 2.49) Visualização do Frustrum (Ambiente espacial definido) de abate

A Árvore dinâmica de Volume por área Circundante ou área Abrangente ou Dynamic Bounding Volume Tree (DBVT) (em inglês) montada pela fábrica de filtragem de ampla fase da biblioteca de física "Bullet" (Bala), é utilizada para construir uma árvore de Objetos gráficos dentro da "Scene" (Cena) na BGE. Os elementos da árvore são caixas do tipo Caixas Abrangentes ou Circundantes Alinhadas, ou Aabb (Aligned Axis Bounding Boxes) (em inglês), que englobam os Objetos. Isto provê uma boa precisão dentro de "Scenes" (Cenas) fechadas ou abertas. Este novo sistema para detecção de colisão e abate (culling) é habilitado por padrão, mas somente para alguns casos, ele também pode ser desabilitado com um botão dentro das configurações de ambiente do Blender (World). Com estas melhorias, a parte de detecção de colisões ou abate e a parte de "Scenegraph" (Gráficos de Cena ) da BGE ou Máquina de Jogos do Blender, chega a ser 5 vezes mais rápida do que por exemplo na versão 2.48 e anteriores. Contudo, esta melhoria de velocidade somente é perceptível quando você possui muitos Objetos na Cena (>100).

Oclusão da detecção de abates ou colisão A "Occlusion culling" (Oclusão de detecção de abates ou colisão), é a habilidade que certos Objetos (os Oclusores) possuem de esconder outros Objetos (Ex: não enviá-los para a GPU para serem renderizados). Bem como opção de visão de abate do frustrum que engloba os Objetos, a implementação é baseada nas Árvores Dinâmicas de Volume que circundam/abrangem o volume dos Objetos, pela biblioteca "Bullet" (Bala). A Oclusão de detecção de abates/colisões não está habilitada por padrão por que é uma funcionalidade que requer um certo grau de entendimento para oferecer os melhores


benefícios. Caos ela não seja utilizada de maneira apropriada, ela simplesmente vai fazer com que o jogo se torne mais elnto, ao invés de colaborar. (Ainda assim, nem tanto, pelo fato do processamento da Oclusão ser auto-regulado.) Como isso Funciona ?

A Oclusão de detecção de abate/colisão é ativada quando você define pelo menos um Objeto do tipo "Ocluder" (Oclusort) dentro de sua "Scene" (Cena). A Opçãod e utilização de Objetos tipo "Occluder" (Oclusão) está dentro dos botões "Physic" (Física):

A Opção "Occluder" (Oclusor) somente pode ser utilizada em Objetos tipo Malha. Conforme a parte de calculação Física se torna avisada destes Objetos, temos uma equivalência com a opção "No collision" (Sem Colisão) A Razão pela qual eu escolhi fazer com que o modo de "Occluder" (Oclusor) fosse mutuamente exclusivo com outros modos de calculação física é para enfatizar o fato de que Objetos tipo "Occluders" (Oclusores) devem ser especificamente desenhados para esta finalidade e não é qualquer tipo de Malha que pode ser especificada como um "Occluder" (Oclusor). Contudo, você pode habilitar a capacidade de Oclusão em Objetos Físicos através da utilização de Scripts Python e "Logic Bricks" (Blocos Lógicos). Nós vamos chegar nisso. Quando um Objeto do tipo "occluder" (oclusor) entra dentro da visualização do frustrum. A BGE constrói um buffer de profundidade (ZDepht) a partir das faces daquele Objeto. O fato das faces do Objeto serem do tipo "Single-Side" (Lado Único) ou "Two-Side" (Dois lados) é importante: somente as faces frontais ou as faces de dois lados (ou seja, normal em ambos os lados ou a direção das normais ) são utilizadas para a construção do buffer de profundidade (ZDepth) buffer. Caso múltiplos Objetos "Occluders" (Oclusores) estejam dentro da visão do frustrum, a BGE os combina e mantém as faces que estão mais a frente. A resolução do buffer de profundidade (Zdepth) é controlável dentro das configurações do "World" (Ambient) com o botão marcado "Occlu Res":


Por padrão, a resolução é de 128 pixels para a mais larga dimensão da "viewport" (porta de visão) enquanto a resolução da outra dimensão é configurada de maneira proporcional. Ainda que 128 seja considerado uma resolução baixa, ele é suficiente para a finalidade de "culling" (colisão/abate). A resolução pode ser aumentada para no máximo 1024, mas a um custo de processamento e uso de CPU bem grande. A BGE translada a árvore DBVT e para cada nó, ela executa uma checagem para saber se se ele está integralmente escondido pelos Objetos tipo "Occluders" (Oclusores) e caso esteja, ela abate/colide o nó (e todos os Objetos que ele contém). Para uma otimização futura da funcionalidade, as versões e construções da BGE a partir deste momento utilizam o buffer ZDepth somente quando pelo menos um Objeto tipo "Occluder" (Oclusor) está dentro do frustrum de visualização. Até esse momento, não há uma perda de performance comparável em relação ao frustrum de abate/colisão regular. Como utilizar isso

Existem situações aonde o abate/colisão pode oclusão não irá trazer nenhum benefício: •

Caso os Objetos tipo "Occluders" (Oclusores) sejam pequenos e não escondam muitos Objetos. Neste caso, o abate/colisão de Oclusão não estará fazendo nada a não ser comer o poder de processamento de sua CPU piorando o desempenho. Caso os Objetos do tipo "Occluders" (Oclusores) sejam grandes, mas escondam Objetos muitos simples. Neste caso, é melhor enviar os Objetos diretamente para a GPU. Caso os Objetos tipo "Ocluders" (Oclusores) sejam grande e escondam muitos Objetos complexos, mas dentro de uma maneira bem previsível. Exemplo: uma casa cheia de Objetos complexos. Ainda que o Sistema de Oclusão de abate/colisão tenha uma performance satisfatória para este caso, você irá obter uma melhor performance através da implementação de uma lógica específica que esconda/revele os Objetos na sua "Scene" (Cena); por instância, isto significa fazer com que os Objetos estejam visíveis somente quando a câmera entra na casa.

O sistema de "Occlusion Culling" (Oclusão de Abate/Colisão) faz mais sentido quando os Objetos Oclusores são grandes (construções, montanhas, ...) que escondam muitos Objetos complexos de uma maneira imprevisível. Contudo, não fique muito preocupado com a performance: mesmo que você o utilize inapropriadamente, a perda de performance relativa será limitada pelo fato da estrutura do algoritmo se auto-ajustar. Objetos tipo "Occluder" (Oclusores) podem ser Objetos graficamente visíveis mas esteja avisado que a utilização de muitas faces irá fazer com que a criação do buffer de profundidade Z (Zdepht) pode ficar bem lenta. Por exemplo, um terreno não é um candidato tão bom para a oclusão: normalmente estes possuem muitas faces e muitas sobreposições. Os Objetos do tipo "Occluders" (Oclusores) podem ser Objetos invisíveis colocados dentro de Objetos mais complexos (Por exemplo: "dentro das paredes" de uma construção com uma arquitetura complexa). Os Objetos tipo "Occluders" (Oclusores) podem possuir "orifícios" através dos quais você poderá ver os Objetos. Aqui apresentamos um "workflow" (ciclo de trabalho) para criar Objetos tipo "Occluder" (Oclusor) a partir de um terreno complexo: • • •

Dupliqueo Terreno e faça um modelo com "low poly" (poucos polígonos) Remova todas as partes horizontais e mantenha somente as partes com alta elevação. Faça com que todas as faces sejam invisíveis e configure a Malha para o Modo "Occluder" (Oclusor).


Para otimizar mais ainda, você pode dividir o Objeto tipo "Occluder" (Oclusor) em muitos Objetos ( perfazendo um Oclusor para cada montanha, cada parede, etc.) e fazer o mesmo para o terreno: desta maneira, partes do terreno que estão atrás/sob os oclusores não serão renderizados. Você pode verificar como a oclusão está funcionando rodando o jogo em modo de "wireframe" (aramado). Controle In-game ( Dentro do Jogo)

Você pode ligar/desligar a capacidade de Oclusão de um Objetos através de Scripts Python com as seguintes linhas de programação: obj.occlusion = True obj.setOcclusion(True, False) children

#param1=occlusion, param2=recurse in

O Objeto não necessita estar definido como um Objeto tipo "Occluder" (Oclusor) dentro da GUI (Interface de Usuário) do Blender: você pode habilitar a capacidade de oclusão em qualquer Objeto de Malha, incluindo Objetos definidos como "static" (estáticos) e "dynamic" (dinâmicos) durante o Jogo. Você também pode fazer a utilização do Atuador "Visibility" (Visibilidade):

Note que o layout do atuador foi alterado: Os botões mutuamente exclusivos para as opções "Visible/Invisible" (Visível/Invisível) foram substituídos por dois botões independentes: pressione o botão para ativar a funcionalidade → Visível e Oclusor (Visible/Occluding), e deixe sem pressionar para ativar a funcionalidade oposta, ou seja → Invisível e Não Oclusor (Invisible/Non-occluding). Note que o Atuador configura o modo de Visibilidade e Oclusão ao mesmo tempo. Caso você necessite configurá-los separadamente, utilize um Script Python. Limitações conhecidas • Caso você esteja utilizando a funcionalidade de "occlusion culling" (oclusão de abate/colisão), você deverá possuir pelo menos um Objeto do tipo "Occluder" (Oclusor) no início do Jogo. O Objeto tipo "occluder" (oclusor) não necessita estar dentro do/a "layer" (camada) ativa. Após isso, você pode habilitar e desabilitar a capacidade de oclusão em quaisquer dos Objetos de Malha durante o Jogo com a utilização dos controles In-Game ou Durante o Jogo. Category: Script

Blender 2.4


Portuguese • Doc page • Discussion • View source • History Page

Objetos tipo "Rigid body" (Corpo Rígido)

Rigid body isto habilita a física contínua para a BGE ou para o Blender, dando aos Objetos um toque ou ar de vida. Caso uma bola seja derrubada em uma superfície lisa de nível naturalmente, iria parecer estranho caso ela ficasse simplesmente parasse e ficasse estagnada. Com a física contínua habilitada, a sua esfera, mesmo sendo derrubada em uma superfície perfeitamente lisa, terá reflexos de movimentos e sairá rolando como se estivesse no mundo Real, da mesma forma que um Objeto Natural o faria.

"Actor" (Ator) Isto faz com que a Máquina ou Motor de Física do Blender leve em consideração o seu Objeto, fazendo com que este seja visto como se fosse mais do que parte do ambiente (como se fosse uma simples piso ou um muro). Este Objeto então agora poderá ser visto por outros Objetos ativos. Neste ponto, o seu Objeto não é afetado pela Física Normal ( como por exemplo a gravidade ), mas é visto como mais do que um simples Objeto de "background" (plano de fundo). Isto é útil para a Interação entre Objetos que não necessitam possuir propriedades físicas, como a resposta para a gravidade, como por exemplo um botão em uma parede.

"Ghost" (Fantasma) O Fantasma dá ao Objeto a habilidade de atravessar outros Objetos. Isto ajuda a salvar tempo de processamento enquanto calcula a física dos Objetos (Como por exemplo a resistência, fricção, quantidade de energia de retorno ). Uma colisão com outro Objeto é ainda detectada e reportada para a sua lógica de jogo.

"Invisible" (Invisível) Caso o Objeto seja configurado como "Invisible" (Invisível), ele não será renderizado dentro da BGE ou Blender Game Engine.

"Advanced" (Avançadas) Nesta área há uma lista com as configurações avançadas de Colisão para a BGE.

"Mass" (Massa)


A Massa afeta a quantidade de força que é requerida para mover um Objeto. Quanto maior a Massa, maior a força que deverá ser aplicada a um Objeto de maneira a movêlo. A Massa não irá fazer com que os Objetos caiam mais rápido ou devagar, pois no Blender, este valor não possui relação com a Massa gravitacional. Para fazer com que um Objeto reduza a sua velocidade, você pode usar o fator de "dampening" (amortecimento), caso você deseje acelerar a taxa com a qual um Objeto cai, você deve alterar o valor gravitacional (considerando que a gravidade normal possui um valor de 9.81).

"Radius" (Raio) Isto determina o tamanho da área que circunda os Objetos do tipo esfera ( ou parecidos com esferas ) e os fatores para Fh e FhRot. Isto pode ser alterado para um tamanho maior ou menos para dar ao seu Objeto a aparência e tino que desejar. O formato da área circundante é determinado pelo botão "Bounds" (Bordas ou Limiares), que por padrão é do tipo "Box" (Caixa). Quando estiver alterando o tamanho desta caixa circundante você poderá ver o efeito na tela, no formato de um círculo. Neste ponto, todos os formatos de caixas circundantes são refletidas como um círculo dentro da Janela de visualização 3D, mas mesmo assim, eles reagem de maneira diferente durante o/a "game play" (ação do Jogo).

"No Sleeping" (Sem descanso) Por padrão, caso um Objeto que seja afetado pela "Rolling Physics" (Física Contínua) venha a se encontrar em posição de descanso, a calculação da "Rolling Physics" (Física Contínua) é desabilitada. O Motor de Física (Physic Engine) assume que ela não necessita mais calcular o movimento do Objeto. Em alguns casos isto é verdade e vai salvar tempo de processamento em sua máquina, em outros casos como por exemplo em um jogo de futebol, a física necessita ser mantida o tempo todo em estado ativo, para que por exemplo, quando alguém chute a bola, ela reaja em resposta e seja colocada em movimento imediatamente.

"Damp" (Amortecedor) O fator de Amortecimento afeta a liberdade com a qual um Objeto se move. Dentro do espaço, praticamente não deve haver amortecimento, enquanto por exemplo na água, o amortecimento sede ser configurado como sendo bem alto.

"RotDamp" (Amortecedor de Rotação) O Amortecimento Rotacional é a mesma coisa que o Amortecimento convencional, mas somente afeta a Rotação dos Objetos. Um valor alto de Amortecimento Rotacional não irá afetar o resto do momentum do Objeto.

Do Fh Isto faz com que o seu Objeto interaja com Materiais Dinâmicos. Isto correntemente não é suportado pelo Motor padrão de Física do Blender, (a biblioteca de interação física Bullet), e também não é totalmente suportado dentro do Motor de Física Sumo dentro da versão corrente do Blender. Essa função é totalmente suportada na versão do Blender 2.24.

Rot Fh Esta opção faz com que o eixo Z seja apontado distantemente a partir de Materiais Dinâmicos. Isto é ativado pela opção descrita acima Do Fh.

"Form" (Fator de Formato)


O Fator de Formato dá a você um determinado grau de controle sobre Objetos do tipo "Rigid Body" (Corpos Rígidos). Quanto mais alto for o Fator de Formato, menor a possibilidade de um Objeto rolar, especialmente quando estiver rolando sobre uma superfície lisa.

"Anisotropic" (Anisotrópico) Isto controla a direção da fricção dentro das direções dos eixos X, Y, e Z do Objeto. O Fator de Anisotropia é relativo a quantidade de fricção dentro de uma direção em particular. Por exemplo, tome por base uma roda de um "Skateboard" ( Skate, para os íntimos :)), na direção voltada para a frente ou para trás, as rodas devem girar com facilidade, mas um movimento para a lateral deverá ser mais difícil, e diminuído por um alto grau de fricção.

"Bounds" (Bordas ou Limiares)

A BGE ou Blender Game Engine possui uma determinada quantidade de maneiras de lidar com os formatos dos Objetos. A razão pela qual a BGE evita um alto nível de precisão, para as colisões dos Objetos, com base em faces, é devido ao alto nível de processamento requerido para esta tarefa. Muitas vezes é mais rápido, durante o/a "game play" (ação de jogo), utilizar um sistema mais simples como uma "box" (caixa) ou uma "Sphere" (Esfera) que circunde o Objeto cujo formato seja similar a estes.

As Bordas ou Limiares dessa Caixa ou Esfera circundante são calculados a partir do centro dos Objetos, que são designados pelo ponto na cor rosa que indica o centro de seu Objeto. Por isto não é comum ou útil mover este centro para alguma localização mais conveniente ( ainda que algumas vezes, seja necessário ). Isto pode ser feito dentro do contexto Editing (F9) e escolhendo uma das 3 opções disponíveis que focam em torno do movimento de centro do Objeto (veja Referência sobre Malhas para mais informações). As opções "Convex Hull" (Carcaça Convexa) e a Estática "Triangle Mesh" (Malha Triangular) são designadas para a utilização com Objetos que fazem parte do ambiente ( World ) , como Pisos, andares, muros, paredes, árvores, etc. O Blender não possui uma maneira genérica de interagir com Objetos ocos, ( Malhas abertas ) . Um exemplo, que seria difícil de criar, por exemplo, seria um copo que sacudisse dados que estivessem dentro dele.

Blender 2.4 Portuguese • •

Doc page Discussion


• •

View source History

Page

Sensor tipo "object" (objeto)

Sensor

O Objeto detecta objetos estáticos e dinâmicos mas não outros objetos que são sensores de "collisions" (colisões).

"Detect actor" (Detectar Ator) O Sensor deve detectar somente os Objetos com a opção "Actor" (Ator) habilitada. Desmarque a caixa para que ele detecte todos os Objetos. "Invisible" (Invisível)

Caso o Objeto esteja configurado para ser do tipo "Invisible" (Invisível), ele não é renderizado dentro da "Game Engine" (Máquina de Jogos).

"Advanced" (Avançado) Configurações Avançadas de Colisão.

"Bounds" (Bordas ou Limiares)

A BGE ou "Blender Game Engine" (Máquina de Jogos do Blender) possui um determinado número de maneiras de lidar com os formatos dos Objetos. A razão pela qual a BGE evita colisões altamente precisas, baseadas em colisões por face dos Objetos, é devido ao alto nível de processamento exigido para este tipo de tarefa. Portanto é mais rápido, durante o/a "Game Play" (Ação de Jogo) utilizar um sistema mais simples para definir a colisão, como uma caixa ou uma esfera para um Objeto o qual o seu formato é similar a estes.


As bordas ou limiares destes Objetos são calculados a partir do centro dos Objetos, que normalmente são mostrados através do ponto rosa que fica no centro de seus Objetos. Não é incomum ou útil mover este centro para uma localização mais conveniente. Isto pode ser feito dentro do contexto Editing, F9 e escolhendo uma das 3 opções que focam em torno do movimento central (veja Malha para mais informações). As Opções "Convex Hull" (Carcaça Convexa) e a opção estática "Triangle Mesh" (Malha Triangular)são desenhadas para utilizações com Objetos do Mundo como Objetos que fazem o "floor" (piso), muros, árvores, etc. O Blender não possui uma maneira genérica de interagir com Objetos ocos. Um exemplo, que seria difícil de criar/reproduzir, seria um copo que pudesse sacudir dados.

Especificações Técnicas (Retiradas a partir das Notas de lançamento da versão 2.49)

Sensor de "Object Type" (Tipos de Objeto) Este é um novo sensor de Objetos para generalizar a detecção através de sensores como "Near" (Próximo) e tipo "Radar" (Radar), para definir a capacidade de colisão entre Objetos tipo "Static" (Estáticos). Um novo tipo de Objeto físico tipo "Sensor"está disponível dentro da BGE para uma manutenção avançada das colisões. Ele é chamado de sensor por suas similaridades com os Objetos físicos que delineiam os Sensores do tipo Near e "Radar" (Radar). Bem como só Objetos do tipo "Near" (Próximo) e "Radar" (Radar), eles são: • • • • • •

"Static" (Estático) e "Ghost" (Fantasma) Invisíveis por padrão. Sempre ativos para garantir uma precisa detecção de colisão. Capazes de detectar ambos os tipos de Objetos "Static" (Estático) e "Dynamic" (Dinâmicos). Ignoram a colisão com os seus Similares ou Parentes. São capazes de executar uma ampla gama de filtros de fase, baseados em: o Opções de Atores: O Objeto que estiver colidindo deverá possuir a "flag" (bandeira) do tipo "Actor" (Ator) para ser detectado. o Propriedade/Material: como especificado dentro dos sensores de colisão atrelados a ele. A filtragem de Ampla fase é importante por uma questão de performance: os pontos de colisão serão computados somente para os Objetos que passarem pelos filtros de ampla fase. São automaticamente removidos da simulação quando nenhum sensor de colisão está ativo neles.

Diferentemente dos Objetos do tipo "Near" (Próximo) e "Radar" (Radar) ele pode: • • •

Ter qualquer formato, incluindo Malhas triangulares. Ser visível para operações de procura por erros (debugging) (simplesmente pela utilização do atuador "Visible" (Visível)) Ter múltiplos Sensores de colisão utilizando-os.

Também diferentemente destes, os Objetos do tipo Sensor são Objetos ordinários. Você pode movê-los de maneira livre ou parenteá-los. Quando parenteados a um Objeto do tipo dinâmico, eles podem prover um controle avançado sobre a colisão com este Objeto. Os tipos de capacidade de colisão dependem do formato:


• •

"box" (caixa), "sphere" (esfera), "cylinder" (cilindro), "cone" (cone), "convex hull" (Carcaça convexa) provêm detecção de volume. Malhas triangulares provêm a detecção de superfície mas você pode dar um volume para estas superfícies pelo aumento da margem dentro do painel "Advanced Settings" (Configurações Avançnadas). A margem se aplica para ambos os lados da superfície.

Dicas para a melhoria de Performance: •

• • •

Os Objetos do tipo Sensores, tem uma melhor performance do que os sensores do tipo "Near" (Próximo) e "Radar" (Radar): Eles perfazem menos sincronizações por causa das otimizações de gráficos da cena (Scenegraph optimizations) e eles podem ter múltiplos sensores de colisão atrelados neles (com diferentes propriedades de filtragem, por exemplo). Sempre dê preferência para formatos mais simplificados ("box" (caixa), "sphere" (esfera) por exemplo) ao invés de formatos complexos sempre que possível. Sempre tente utilizar a "broadphase filtering" (filtragem de ampla fase) (evitando sensores de colisão com propriedades nulas/materiais) Utilize os Sensores de Colisão somente quando necessitar deles. Quando nenhum sensor de colisão está ativo no Objeto Sensor, ele é removido da simulação e não consome mais poder computacional.

Limitações Conhecidas: •

quando estiver rodando o Blender em Modo de verificação de erros (debug mode), você verá um aviso de atenção na linha do console do Blender: "warning btCollisionDispatcher::needsCollision: static-static collision!" , que significa Atenção, O tipo de Disparador de Colisão::necessita do tipo de colisão de: Estático par Estático ! .

Dentro do Modo padrão e distribuição, esta mensagem não é impressa. •

A margem de Colisão não possui efeito em formatos de "Sphere" (Esfera), "Cone" (Cone) e formatos do tipo "Cylinder" (Cilindro).

Outras melhorias de performance: • •

Remoção da Interpolação desnecessária para os Objetos do tipo "Near" (Próximo) e "Radar" (Radar) pela extensão dos Objetos do tipo Sensores. Utilização de Matriz direta ao invés de Quaternária para sincronizar a orientação.

Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page

Objeto do Tipo "Soft body" (Corpo Macio)


Corpo Macio (Soft body) Os Objetos que são do tipo "Soft Body" (Corpo Macio) são Objetos físicos, que se deformam em colisões.

"Actor" (Ator) Isto faz com que a Máquina ou Motor de Física do Blender leve em consideração o seu Objeto, fazendo com que este seja visto como se fosse mais do que parte do ambiente (como se fosse uma simples piso ou um muro). Este Objeto então agora poderá ser visto por outros Objetos ativos. Neste ponto, o seu Objeto não é afetado pela Física Normal ( como por exemplo a gravidade ), mas é visto como mais do que um simples Objeto de "background" (plano de fundo). Isto é útil para a Interação entre Objetos que não necessitam possuir propriedades físicas, como a resposta para a gravidade, como por exemplo um botão em uma parede.

"Ghost" (Fantasma) O Fantasma dá ao Objeto a habilidade de atravessar outros Objetos. Isto ajuda a salvar tempo de processamento enquanto calcula a física dos Objetos (Como por exemplo a resistência, fricção, quantidade de energia de retorno ). Uma colisão com outro Objeto é ainda detectada e reportada para a sua lógica de jogo.

"Invisible" (Invisível) Caso o Objeto seja configurado como "Invisible" (Invisível), ele não será renderizado dentro da BGE ou Blender Game Engine.

"Advanced" (Avançadas) Nesta área há uma lista com as configurações avançadas de Colisão para a BGE.

"Mass" (Massa) A Massa afeta a quantidade de força que é requerida para mover um Objeto. Quanto maior a Massa, maior a força que deverá ser aplicada a um Objeto de maneira a movêlo. A Massa não irá fazer com que os Objetos caiam mais rápido ou devagar, pois no Blender, este valor não possui relação com a Massa gravitacional. Para fazer com que um Objeto reduza a sua velocidade, você pode usar o fator de "dampening" (amortecimento), caso você deseje acelerar a taxa com a qual um Objeto cai, você deve alterar o valor gravitacional (considerando que a gravidade normal possui um valor de 9.81).

"Shape match" (Ajustar ao formato) Habilita os Objetos do tipo "SoftBody" (Corpo Macio) a obter um formato ao qual deverão ser parecidos o máximo possível, através de um sistema de Objetivo de Formato.

"Bending Const" (Restrições de Dobra)


Habilita as restrições para a dobra dos Objetos do tipo "SoftBody" (Corpos Macios).

"LinStiff" (Rigidez Linear) Rigidez Linear das ligações internas do Objeto "SoftBody" (Corpo Macio).

"Friction" (Frição) Fricção Dinâmica do do Objeto "SoftBody" (Corpo Macio).

kMT Ajuste da força do fator de "Shape match" (Ajustar ao formato).

"Bounds" (Bordas ou Limiares)

A BGE ou Blender Game Engine possui uma determinada quantidade de maneiras de lidar com os formatos dos Objetos. A razão pela qual a BGE evita um alto nível de precisão, para as colisões dos Objetos, com base em faces, é devido ao alto nível de processamento requerido para esta tarefa. Muitas vezes é mais rápido, durante o/a "game play" (ação de jogo), utilizar um sistema mais simples como uma "box" (caixa) ou uma "Sphere" (Esfera) que circunde o Objeto cujo formato seja similar a estes.

As Bordas ou Limiares dessa Caixa ou Esfera circundante são calculados a partir do centro dos Objetos, que são designados pelo ponto na cor rosa que indica o centro de seu Objeto. Por isto não é comum ou útil mover este centro para alguma localização mais conveniente ( ainda que algumas vezes, seja necessário ). Isto pode ser feito dentro do contexto Editing (F9) e escolhendo uma das 3 opções disponíveis que focam em torno do movimento de centro do Objeto (veja Referência sobre Malhas para mais informações). As opções "Convex Hull" (Carcaça Convexa) e a Estática "Triangle Mesh" (Malha Triangular) são designadas para a utilização com Objetos que fazem parte do ambiente ( World ) , como Pisos, andares, muros, paredes, árvores, etc. O Blender não possui uma maneira genérica de interagir com Objetos ocos, ( Malhas abertas ) . Um exemplo, que seria difícil de criar, por exemplo, seria um copo que sacudisse dados que estiverssem dentro dele.

Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page


Objeto do tipo "Static" (Estático)

Static Este é um tipo de Objeto Físico, mas que não é afetado pela gravidade.

"Actor" (Ator) Isto faz com que a Máquina ou Motor de Física do Blender leve em consideração o seu Objeto, fazendo com que este seja visto como se fosse mais do que parte do ambiente (como se fosse uma simples piso ou um muro). Este Objeto então agora poderá ser visto por outros Objetos ativos. Neste ponto, o seu Objeto não é afetado pela Física Normal ( como por exemplo a gravidade ), mas é visto como mais do que um simples Objeto de "background" (plano de fundo). Isto é útil para a Interação entre Objetos que não necessitam possuir propriedades físicas, como a resposta para a gravidade, como por exemplo um botão em uma parede.

"Ghost" (Fantasma) O Fantasma dá ao Objeto a habilidade de atravessar outros Objetos. Isto ajuda a salvar tempo de processamento enquanto calcula a física dos Objetos (Como por exemplo a resistência, fricção, quantidade de energia de retorno ). Uma colisão com outro Objeto é ainda detectada e reportada para a sua lógica de jogo.

"Invisible" (Invisível) Caso o Objeto seja configurado como "Invisible" (Invisível), ele não será renderizado dentro da BGE ou Blender Game Engine.

"Advanced" (Avançadas) Nesta área há uma lista com as configurações avançadas de Colisão para a BGE.

"Anisotropic" (Anisotrópico) Isto controla a direção da fricção dentro das direções dos eixos X, Y, e Z do Objeto. O Fator de Anisotropia é relativo a quantidade de fricção dentro de uma direção em particular. Por exemplo, tome por base uma roda de um "Skateboard" ( Skate, para os íntimos :)), na direção voltada para a frente ou para trás, as rodas devem girar com facilidade, mas um movimento para a lateral deverá ser mais difícil, e diminuído por um alto grau de fricção.

"Bounds" (Bordas ou Limiares)


A BGE ou Blender Game Engine possui uma determinada quantidade de maneiras de lidar com os formatos dos Objetos. A razão pela qual a BGE evita um alto nível de precisão, para as colisões dos Objetos, com base em faces, é devido ao alto nível de processamento requerido para esta tarefa. Muitas vezes é mais rápido, durante o/a "game play" (ação de jogo), utilizar um sistema mais simples como uma "box" (caixa) ou uma "Sphere" (Esfera) que circunde o Objeto cujo formato seja similar a estes.

As Bordas ou Limiares dessa Caixa ou Esfera circundante são calculados a partir do centro dos Objetos, que são designados pelo ponto na cor rosa que indica o centro de seu Objeto. Por isto não é comum ou útil mover este centro para alguma localização mais conveniente ( ainda que algumas vezes, seja necessário ). Isto pode ser feito dentro do contexto Editing (F9) e escolhendo uma das 3 opções disponíveis que focam em torno do movimento de centro do Objeto (veja Referência sobre Malhas para mais informações). As opções "Convex Hull" (Carcaça Convexa) e a Estática "Triangle Mesh" (Malha Triangular) são designadas para a utilização com Objetos que fazem parte do ambiente ( World ) , como Pisos, andares, muros, paredes, árvores, etc. O Blender não possui uma maneira genérica de interagir com Objetos ocos, ( Malhas abertas ) . Um exemplo, que seria difícil de criar, por exemplo, seria um copo que sacudisse dados que estivessem dentro dele.

Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page

"Properties" (Propriedades) As "Properties" (Propriedades) dentro da BGE e para a lógica do Jogo são o equivalente à variáveis. Elas são guardadas dentro do Objeto e podem ser utilizadas para representar coisas como quantidade de armanento, saúde (vidinha), nomes e outras mais.

O Painel "Properties" (Propriedades)


O Painel Properties. O Painel de propriedades é composto de seis partes: (1) Botão de "Add Property" (Adicionar propriedade) Este botão adicina uma nova propriedade para a lista, o padrão é uma propriedade do tipo "Float" (Flutuante) chamada “prop”, seguida por um número casoa já haja alguma propriedade com este nome. (2) Botão Delete (apagar) Próximo de cada propriedade, há um botão para deletá-la. (3) Menu de tipos de Property Isso determina qual tipo de propriedade será esta, dentre os (veja abaixo). (4) Um Campo "Name" (Nome) Aqui é o local aonde você dá a propriedade o seu nome, isto é a maneira com a qual você vai acessá-la através de expressões ou Scripts Python. A maneira de fazer isso dentro da linguagem Python é através de uma procura em estilo de dicionário (GameObject["propname"]). Os nomes são sensíveis à diferenciação de maiúsculas e minúsculas. (5) Campo "Value" (Valor) Configura o valor inicial da propriedade. (6) Botão de Debug (Para verificação de erros) Liga a verificação de erros (debugging). Note que você também deverá marcar a opção "Show Debug Properties" (Mostrar Propriedades de Debug) dentro do Menu "Game" (Jogo). Quando isso é feito, todas as propriedades com a opção de verificação de erros (debugging) ativadas, serão mostradas com o seu nome de "Object" (Objeto), nome de "Property" (Propriedade) e nome e valor durante o Jogo. Isto é útil caso você tenha suspeitas de que algo que esteja errado em suas propriedades esteja causando problemas.

Tipos de Propriedades Existem cinco tipos de propriedades: "Timer" (Temporizador) Inicia com o Valor da propriedade e conta no sentido de aumentar o valor para cima contanto que o "Object" (Objeto) exista. Isso pode, por exemplo ser utilizado caso você queira saber quanto tempo o jogador leva para completar um nível. "Float" (Flutuante) Utiliza um número decimal como valor, e seu campo de valores varia entre -10000.000 até 10000.000. É útil para valores com precisão. "Int" (Inteiros) Utiliza números Integrais (Números Inteiros) como valor, seu campo varia entre -10000 até 10000. Útil para contagem de coisas como munição aonde números decimais são desnecessários. "String" (Variável de Texto/Amarração) Toma Textos com valor. Pode guardar até 128 caracteres.


"Bool" (Booleanas) variáveis Booleanas, possui somente dois valores, que são "true" (verdadeiro) ou "false" (falso). Isto é útil para coisas que possuem somente dois modos, como por exemplo um interruptor de lâmpada.

Sensor tipo "Property" (Propriedade) O Sensor tipo "Property" (Propriedade) possui quatro modos: "Equal" (Igual) Dispara um pulso positivo quando o valor da "Property" (Propriedade) é equivalente ao valor que está presento no sensor. "Not Equal" (Não Igual/Diferente) Dispara um pulso positivo quando o valor da "Property" (Propriedade) difere do valor presente no Sensor. "Interval" (Intervalo) Dispara um pulso positivo quando o valor da propriedade está entre o valor configurado para Min e Max dentro do Sensor. Para valores do tipo “maiores que”, entre com o nome da "Property" (Propriedade) dentro do campo Max e com o valor mais baixo para o disparo do evento dentro do campo Min. Para valores do tipo “menos que”, entre com o nome da propriedade dentro do campo Min e com o valor máximo dentro do campo Max. Os nomes de outras propriedades podem também ser utilizados para fazer comparação entre propriedades. "Changed" (Alterado) Dispara um pulso positivo quando o valor da propriedade é alterado.

Veja Sensores para uma informação mais abrangente sobre a utilização dos sensores e informações sobre o Sensor Propriedade para informações mais detalhados sobre o Sensor do tipo "Property" (Propriedade).

Atuador tipo "Property" (Propriedade) O Atuador tipo "Property" (Propriedade) possui quatro modos: "Assign" (Designar) Dá o valor presente dentro do campo "Value" (Valor), o valor que está presente a propriedade presente (nome) dentro do campo Prop. Atenção, isso só pode ser uma propriedade do mesmo Objeto. "Add" (Adicionar) Aumenta o valor da "Property" (Propriedade), entre com um valor negativo para subtrair do valor da propriedade. Para operações Booleanas, um valor qualquer que não seja 0 – Zero (também os negativos) é contado como sendo um valor do tipo "True" (Verdadeiro). "Copy" (Copiar) Copia uma propriedade a partir de um Outro Objeto para uma propriedade do dono do Atuador. "Toggle" (Alternar)


Alterna entre 0 até 1 e qualquer outro número diferente de 0 para 0. Muito útil para chaves de "on/off" (ligar/desligar). Não trabalha com propriedades do tipo "String" (Variáveld e Texto/Amarração). Veja Actuators para uma informação mais abrangente do uso dos Atuadores e o Atuador tipo Property (Propriedade) para uma informação mais detalhada sobre o Atuador tipo "Property" (Propriedade).

Categories: Introduction | Game engine Blender 2.4 Portuguese • • • •

Doc page Discussion View source History

Page

"Sensors" (Sensores) Os "Sensors" (Sensores) são as causas da Lógica agir em algum sentido e fazer algo. Estes podem ser a fonte de um evento disparador como um Objeto próximo, uma tecla pressionada no Teclado, eventos temporizados, etc. Quando um Sensor é disparado, um pulso positivo é enviado para todos os controladores que estão ligados a ele.

Opções de Visualização dos "Sensor" (Sensores) Os "Sensors" (Sensores) do Blender podem ser encontrados dentro do "Logic Panel" (Painel de Lógica). No topo do Sub-painel dos Sensores, existem quatro botões chamados "Sel" (Selecionado), "Act" (Ativo), "Link" (Ligação) e "State" (Estado). Existe também um Menu que é ativado quando se clica em "Sensors" (Sensores), em que há o título do Sub-Painel "Sensors" (Sensores). Isto é para esconder/revelar os Sensores, e isso é útil de uma maneira que os Sensores que não são necessários possam ser escondidos e somente os necessários fiquem visíveis e fáceis de alcançar. Os Sensores são agrupados por Objeto com cada Objeto selecionado aparecendo dentro de uma lista e abaixo de cada Objeto estão os seus Sensores. O Menu marcado como "Sensors" (Sensores) se parece com um "Label" (Rótulo) mas é na verdade um Menu. Ele possui quatro opções: • • • •

"Show Objects" (Mostrar Objetos) → Expande todos os Objetos. "Hide Objects" (Esconder Objetos) → Encolhe todos os Objetos para somente uma barra com o seu Nome. "Show Sensors" (Mostrar Sensores) → Expande todos os Sensores. "Hide Sensors" (Esconder Sensores) → Encolhe todos os Sensores para Barras com os seus Nomes.

Ambas opções podem ser controladas individualmente no Sensor ou no Objeto. Também é possível filtrar quais Sensores são visualizados: • •

"Sel" (Selecionados) → Mostra todos os Sensores dos Objetos Selecionados. "Act" (Ativos) → Mostra somente os Sensores do Objeto Ativo.


• •

"Link" (Ligação) → Mostra os Sensores que possuem um(a) "Link" (Ligação) com um "Controller" (Controlador). "State" (Estado) → Somente Sensores conectados a um controlador do estado corrente são mostrados.

Opções Gerais para Objetos

O Objeto antes da adição de um Sensor

Todos os Objetos possuem dois Botões, um que é rotulado com seus Nomes, e o outro rotulado de "Add" (Adicionar).

O Objeto depois da adição de um Sensor

O Botão Add serve para adicionar um novo Sensor para o Objeto.

Objeto com os Sensores encolhidos

O Botão com o Nome do Objeto, é para o encolhimento da lista do Objeto e para esconder os seus Sensores.


Objeto após a deleção de todos os Sensores

Um Objeto sem Sensores é automaticamente encolhido. A adição de um Sensor irá automaticamente mostrar o Objeto.

Opções Gerais dos Sensores Todos os Sensores possuem um conjunto de botões e campos e um Menu em comum. Eles são organizados em duas linhas: o "Sensor header" (Cabeçalho do Sensor) e a "Sensor Pulses Bar" (Barra de Pulsos do Sensor). O "Sensor Header" (Cabeçalho do Sensor)

Imagem do Sensor header Botão em Cruz Deleta o Sensor. Menu Sensor type menu Veja Tipos de Sensores. Campo Sensor name O Nome do Sensor. Ele é utilizado para acessar Sensores com a linguagem Python; Ele necessita ser único entre todos os Objetos selecionados. Botão em Triângulo Utilizado para o encolhimento do Sensor.


"Sensor pulses bar" (Barra de Pulsos do Sensor)

Os "Sensors" (Sensores) disparam Pulsos para os "Controllers" (Controladores). Os Pulsos podem ser "TRUE" (Verdadeiros) ou "FALSE" (Falsos). Eles resultam de parâmetros diferentes nos controles dos "Logic Blocks" (Blocos Lógicos) quando um Sensor dispara qual Pulso. Isto é extremamente importante pois possui uma influência direta na Lógica de Jogo e na Performance. É a função dos "Controllers" (Controladores) a maneira de reagir aos Pulsos do tipo "TRUE" (Verdadeiro) ou "FALSE" (Falso).

Imagem de Sensor pulses bar "True level triggering" (Disparo de Nível verdadeiro (TRUE)) Caso isto esteja configurado, os "Controllers" (Controladores) recebem pulsos do tipo "TRUE" (Verdadeiro) conforme o "state" (estado) do Sensor seja positivo. O Sensor irá disparar pulsos do tipo "TRUE" (Verdadeiro) com a frequência marcada para a leitura do Sensor. "False level triggering" (Disparo de Nível Falso (FALSE)) Caso isto esteja configurado, os "Controllers" (Controladores) recebem pulsos do tipo "FALSE" (Falso) conforme o "state" (estado) do Sensor seja positivo. O Sensor irá disparar pulsos do tipo "FALSE" (Falso) com a frequência marcada para a leitura do Sensor. Nota sobre os Disparadores Caso você não configure nenhum dos Disparadores (Triggers), O Sensor não disparará nenhum Pulso, pelo fato do estado do Sensor não ser alterado. Quando o sensor alterar o seu estado de negativo para positivo, o Sensor irá disparar um Pulso do tipo TRUE (Verdadeiro) para os Controladores. Quando o Sensor alterar o seu estado de positivo para negativo, e Sensor irá disparar um Pulso do tipo FALSE (Falso) para os Controladores. Entre os Controladores, deverá ainda estar a requisição do estado do Sensor, mas se o controlador não obter Pulsos (do tipo TRUE ou FALSE) a partir de qualquer outro Sensor, ele não será ativado como um todo.

"Frequency" (Frequência) → (f) Apesar do nome, "Frequency" (Frequência), é o parâmetro marcado como f, e configura o espaço de tempo entre repetidos Pulsos, medidos em "logic ticks" (tiques lógicos). O Valor padrão é 0 e significa nenhuma espera.


Os "Logic ticks" (Tiques Lógicos) possuem uma frequência de 60 Hz (ou 60 tiques por segundo). Por exemplo: Para uma configuração de f=1, significa que o Sensor Pulsa uma vez a cada 60° (sexagésimo) de segundo. Uma configuração de f = 1, efetivamente significa uma razão de 1 para 1 entre os tiques, ou seja 1 tique = 1 Pulso. • Para uma configuração de f=30, significa que o Sensor Pulsa uma vez a cada 30 tiques que foram contados. Isso significa que o Pulso é emitido a cada meio segundo por que existem 60 tiques por segundo como padrão. • Para uma configuração de f=60, significa que o Sensor pulsa a cada 60 tiques, o que significa uma vez por segundo. Aumentar o valor de f, é uma boa ideia para melhorar a performance, pelo fato de não fazer as coisas tantas vezes desnecessariamente dentro do segundo de atuação do Sensor. "Level" (Nível) •

Faz com que o Sensor trabalhe sobre uma condição de mudanças de estado. Veja esta página para o Sistema de "State" (Estado). "Tap" (Punçar) Envia um Pulso positivo uma única vez mesmo que o Sensor esteja permanecendo com o seu estado "TRUE" (Verdadeiro). Somente uma das opções de verificação de Sensor, "Tap" (Punçar) ou "Level" (Nível) podem ser ativadas. Quando o parâmetro "Tap" (Punçar) é configurado o Sensor irá disparar um Pulso do tipo "FALSE" (Falso) dentro do próximo quadro, mesmo quando o evento só Sensor ainda estiver presente. Quando o evento do Sensor acabar, nenhum Pulso será disparado. Caso a opção de "TRUE level triggering" (Disparo de Nível Verdadeiro) seja configurada, o par do Pulso do tipo TRUE/FALSE (alternância) será repetido até que o evento do Sensor tenha parado. A opção de "FALSE level triggering" (Disparo de Nível Falso) será ignorada caso o parâmetro "Tap" (Punçar) esteja configurado. Os Pulsos não serão invertidos caso o parâmetro "Inv" (Inverter) esteja configurado. Mas o par do Pulso TRUE/FALSE (alternância) será enviado quando o evento do Sensor não estiver presente. "Inv" (Inverter) Isto inverte a saída do Sensor. Caso isto esteja configurado, o Sensor irá enviar Pulsos do tipo "FALSES" (Falsos) quando o Sensor deveria estar enviando Pulsos do tipo "TRUE" (Verdadeiro) e Pulsos do tipo "TRUE" (Verdadeiro) caso o sensor devesse estar enviando Pulsos do tipo "FALSES" (Falsos). Caso o parâmetro "Tap" (Punçar) esteja configurado, o Sensor terá uma ação diferente (refira-se à Seção prévia).


Nota sobre a opção de Inv e os Disparadores Note que o alternador Inv inverte o Nível ANTES dos Disparadores, o que significa que os Disparadores agem no sinal que está saindo de Inv.

Como um teste, faça uma configuração dos "Logic Bricks" (Blocos Lógicos) como abaixo, em um Objeto de sua escolha.

Inicie o Jogo e não pressione o W: dentro da Janela de informações de Debug, você deverá ver a propriedade chamada "click" rodando, mudando de estado a cada 15 tiques (um quarto de segundo). Isto é por que o Sensor é "FALSE" (Falso) nas ele é invertido para "TRUE" (Verdadeiro) com a opção Inv, a partir do momento em que a opção de "True level trigger" (Disparo de Nível Verdadeiro) esteja pulsando.

Para mais informações, veja também a : GameLogic python API. (em inglês)

Category: Game engine

Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page

Tipos de Sensor Sensor tipo "Always" (Sempre)


Always sensor O Sensor do tipo "Always" (Sempre) é utilizado para coisas que necessitam ser feitas a cada tique lógico ou seja, a cada ciclagem de processamento, ou entre X número de tiques lógicos (com um valor não nulo em f), ou durante a inicialização (em conjunto com Tap). Este sensor não possui quaisquer opções em separado dos Sensores em Geral. GameLogic python API.

Sensor tipo "Delay" (Atraso/Espera)

Sensor tipo Delay O Sensor tipo "Delay" (Atraso/Espera) é desenhado para atrasar/fazer esperar algumas reações em um determinado número de tiques lógicos. Isto é útil caso alguma outra ação tenha de ser feita primeiramente para o disparo de outros eventos. O Sensor do tipo "Delay" (Atraso/Espera) possui três opções: • "Delay" (Atraso/Espera) é o número de tiques lógicos nos quais o sensor deverá esperar/aguardar antes de enviar um pulso positivo. • "Dur" (Duração) - Duração é o tempo no qual o Sensor aguarda/espera antes de enviar um pulso negativo. • "Repeats" (Repetições) Faz com que o Sensor reinicie após a espera/atraso e depois que o tempo de duração tenha acabado. GameLogic python API.

Sensor tipo "Keyboard" (Teclado)

Sensor tipo Keyboard O Sensor tipo "Keyboard" (Teclado) serve para a detecção de entrada do teclado ( quando alguém pressiona uma tecla), ele também pode salvar a entrada do teclado para uma variável do tipo propriedade String. A primeira linha de botões ("Key" (Tecla) um) é para teclas que são pressionadas uma vez. Pressione o botão sem "label" (rótulo) ainda e pressione uma "key" (tecla) para designá-la para este sensor. Esta é a "active key" (tecla ativa), que irá disparar o pulso positivo. Clique neste botão e então clique na parte de fora para retirar a tecla da condição de designação. O Botão "All keys" (Todas as chaves) irá esconder todos os


outros botões e enviar pulsos positivos em todas as teclas que forem pressionadas. Isto é útil para Mapas customizados com um controlador Python . Os botões "Hold" (Manter Pressionado) trabalham da mesma maneira como os botões para "Key" (Tecla) mas não irão enviar um pulso positivo a menos que você mantenha pressionada a tecla designada. Você pode manter pressionados até dois dos botões de alternância para combinação. Caso uma "key" (tecla) esteja designada aqui, um pulso positivo não irá ser enviado a menos que ambas ou toda a combinação de teclas esteja pressionada. Isto é útil caso você queira ter por exemplo as combinações de teclas CtrlR ou ⇧ ShiftAltEsc para a execução de uma ação específica. O Campo LogToggle designa uma propriedade do tipo "Bool" (Booleana) que determina se a combinação de teclas será gravada dentro de um Log em uma "String" (Variável de Texto/Constante), e possui as opções "true" (verdadeiro) ou não "false" (falso). Isto necessita estar ativo caso você queira gravar as suas "keystrokes" (combinações de teclas/digitação) em um Log. O Campo "Target" (Alvo) é a propriedade que define a "String" (Variável de Texto/Constante) na qual as "keystrokes" (combinações de teclas/digitação) são salvas. Em conjunto com um Sensor tipo "Property" (Propriedade), isto pode ser utilizado por exemplo para gravar senhas para níveis de jogos, etc, etc. Consulte também : GameLogic python API – para maiores informações. (em inglês)

Sensor tipo Mouse sensor

Sensor Mouse

Sensor de entrada tipo Mouse O Sensor tipo Mouse serve para detectar as entradas do Mouse. O Controlador consiste somente de uma lista de tipos de eventos gerados pelo Mouse. Estes eventos são: • "Left button" (Botão esquerdo). • "Middle button" (Botão do meio). • "Right button" (Botão direito) • "Wheel Up" (Rolagem para cima ), para a roda de rolagem do Mouse. • "Wheel Down" (Rolagem para baixo), para a roda de rolagem do Mouse. • "Movement" (Movimento), Qualquer movimento com o Mouse.


"Mouse overA" (Mouse sobre), detecta se a posição do cursor do Mouse está sobre o Objeto. • "Mouse over any" (Mouse sobre qualquer coisa), detecta se a posição do cursor do Mouse está sobre qualquer Objeto. Não há um "Logic Brick" (Bloco Lógico) para movimentos específicos e reações (como câmeras em primeira pessoa), estes movimentos devem ser programados através de linguagem Python. Consulte também : GameLogic python API. – para maiores informações. (em inglês) •

Sensor tipo "Touch" (Tocar)

O Sensor Touch O Sensor "Touch" (Tocar) envia um pulso positivo quando o Objeto está em contato com outro Objeto. O Campo MA é para a filtragem de Materiais. Quando utilizado, somente o contato com o Material especificado dentro deste campo irá gerar um pulso positivo. Deixe-o em branco para que um toque com qualquer tipo de Objeto gere o pulso. O pulso positivo é enviado na colisão e o pulso negativo é enviado uma vez que os Objetos não estejam mais em contato. Para um pulso contínuo enquanto os Objetos estão em contato, utilize a opção de "True Pulse triggering" (Disparador de sinal verdadeiro). Consulte também: GameLogic python API.– para maiores informações. (em inglês)

Sensor tipo "Collision" (Colisão)

Sensor Collision

Sensor Collision Um Sensor tipo "Collision" (Colisão) funciona como um Sensor tipo "Touch" (Tocar), mas também pode filtrar por propriedades. Somente Objetos com a propriedade com o nome designado irão gerar um pulso positivo durante ou em caso de colisão. Deixe em branco para colisão com qualquer Objeto. O Botão "Pulse" (Pulso) faz com que ele seja sensível a outras colisões mesmo que ainda esteja em contato com o Objeto que disparou o último pulso positivo. O botão M/P alterna entre a filtragem de Material e Propriedade.


Consulte Também: GameLogic python API.– para maiores informações. (em inglês)

Sensor tipo "Near" (Próximo)

Sensor tipo Near Um Sensor tipo "Near" (Próximo) detecta Objetos que estão dentro de uma distância específica de si mesmo. Ele pode filtrar Objetos com certas propriedades, da mesma maneira que o Sensor tipo "Collision" (Colisão). A Distância é o número de BU ( Unidades Blender ) ou campo de abrangência no qual o Sensor irá detectar os Objetos contidos. A Distância configurada em Reset, é a distância na qual o Objeto necessita estar para reconfigurar ou fazer um Reset no Sensor (enviando um pulso negativo). Consulte também: GameLogic python API.- para maiores informações (em inglês)

Sensor tipo Radar sensor

Sensor Radar

Menu de Eixos do Sensor tipo Axis Um Sensor do tipo Radar trabalha de maneira bem parecida como o Sensor tipo "Near" (Próximo), mas somente dentro de um ângulo de um eixo, formando um cone invisível com o seu topo no centro do Objeto que é o Objeto Sensor e uma base em certa distância em um eixo. Ele possui um campo de filtro de propriedades chamado Prop. Próximo a este, está o Menu de eixos, o qual determina a direção do Cone que forma o radar. Os sinais de ± servem para definir se o cone está formado na direção positiva do eixo (+), ou o oposto (-). O Campo Angulo determina a amplitude do cone, e Distância é o seu comprimento.


Este sensor é útil para dar a certos Robôs ou Bots uma visão voltada somente para a sua frente, por exemplo. Note que este Sensor consegue enxergar através de outros Objetos. Consulte Também: GameLogic python API. – para maiores informações. (em inglês)

Sensor tipo "Property" (Propriedade)

O Sensor Property

Tipo de Operação do Sensor Property O Sensor "Property" (Propriedade) detecta alterações dentro das propriedades dos Objetos. Este Sensor possui quatro Modos de operação: • "Equal" (Igual) - dispara um pulso positivo quando o valor da propriedade bate com o valor que conta no Sensor. O Campo Prop é para definir o nome da propriedade, e o campo "Value" (Valor) é para o valor de propriedade que deverá estar igual para disparar um pulso positivo. • Not Equal – dispara um pulso positivo quando o valor presente em "property" (propriedade) difere do valor presente no Sensor. Ele apresenta os mesmos campos que estão presentes em "Equal" (Igual), mas com a diferença que o campo "Value" (Valor) representa o valor que a propriedade deverá possuir e ser diferenciado de maneira a enviar um pulso. • Interval dispara um pulso positivo quando o valor da "property" (propriedade) está entre os valor presentes "Min" (Mínimo) e "Max" (Máximo) – com relação aos valores presentes no Sensor. Para fazer com que ele funcione por exemplo para a detecção de “mais do que”, entre com o nome da propriedade dentro do campo Max e com o valor mais baixo dentro do campo "Min" (Mínimo). Para que o Sensor detecte valores “menores do que”, entre com o nome da propriedade dentro do campo "Min" (Mínimo) e o valor Máximo dentro do campo "Max" (Máximo). Nomes de outras propriedades podem também ser entrados para fazer a comparação de propriedades. • Changed – envia um pulso positivo tão logo o valor da "property" (propriedade) seja alterado. Consulte Também: GameLogic python API. - para maiores informações. (em inglês)


Sensor tipo Random

O Sensor Random O Sensor tipo Random gera pulsos randômicos. Ele possui um campo chamado "Seed" (Semear) para entrar com a semeadura/espalhe inicial. 0 significa que o Sensor não será Randômico, e é utilizado para operações de teste e verificação por erros (debug). Consulte Também: GameLogic python API – para maiores informações. (em inglês)

Sensor tipo "Ray" (Raio)

O Sensor Ray (alternado para colisão na propriedade)

O Sensor Ray (alternado para colisão em Materiais)

O Sensor Ray – Menu de Eixos O Sensor tipo Ray dispara um raio na direção de um dos eixos e envia um pulso positivo uma vez que ele bate em algo. Ele pode ser filtrado para detectar somente Objetos com um dado Material ou uma dada Propriedade. Ele compartilha uma série de botões e campos de suas funcionalidades com o Sensor tipo Radar. O Botão X faz com que ele seja do tipo "X-Ray" (Raio-X), ele vê através dos Objetos que não possuem a Propriedade ou Material especificado dentro do campo de filtro. Consulte Também: GameLogic python API.– para maiores informações. (em inglês)


Sensor tipo "Message" (Mensagem)

O Sensor Message As "Messages" (Mensagens) podem ser utilizadas para enviar ou valores de "Text" (Texto) ou valores tipo "Property" (Propriedade). O Sensor tipo "Message" (Mensagem) envia um pulso positivo uma vez que uma mensagem é enviada para qualquer lugar dentro da BGE. Ele também pode ser configurado para somente enviar um pulso no momento em que detecta uma mensagem com um "subject" (assunto) específico. Consulte Também: GameLogic python API.– para maiores informações. (em inglês)

Sensor tipo Joystick

Sensor Joystick

O Menu de eventos do Sensor Joystick O Sensor tipo Joystick detecta eventos do seu controlador de jogo ou joystick. Consulte Também: GameLogic python API.– para maiores informações. (em inglês)

Sensor tipo "Actuator" (Atuador)

Sensor tipo Actuator O Sensor tipo "Actuator" (Atuador) é configurado para o estado de "off" (desligado) quando um atuador com o nome especificado dentro do campo "Act" (Atuador) é ativado.


Consulte Também: GameLogic python API.– para maiores informações. (em inglês)

Category: Game engine Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page

Máquina de Física do Blender Modo: Todos os Modos Painel: Shading contexto → World sub-contexto → Mist/Stars/Physics Atalho: F8

Descrição Esta parte do ambiente do Blender (World) determina o tipo de regras físicas que governam as Cenas da BGE ou Máquina de Jogos do Blender, e a gravidade (física) de referência para a situação a Cena com base na Máquina de Física Selecionada. Dentro das Simulações físicas presentes durante a execução da BGE, o Blender irá automaticamente mover os Objetos do tipo "Actors" (Atores) na direção definida para altura, na direção negativa ( para baixo ) ou seja, na direção (-Z). Depois de você organizar os "Actors" (Atores) e eles estiverem se movimentando da maneira que você deseja, você então pode usar operações do tipo "bake" (cozer) este movimento computado convertendo-o para curvas IPO fixas (veja Atores Lógicos para mais informações).

Opções "Physics" (Física) O tipod e Máquina de calculação Física a ser utilizada: "Bullet" (Bala) A Máquina de calculação Física padrão e em desenvolvimento ativo. Ela manipula movimento e detecção de colisão. Os Objetos marcados com Física, quando colidem, transferem o seu momento físico para o Objeto com o qual colidiram.


"Sumo" (Súmula) (Deprecada) Uma antiga Máquina de calculação Física, utilizada em versões anteriores da BGE ou Máquina de Jogos do Blender. Utilize isto para garantir a compatibilidade com arquivos (muito) antigos. "None" (Nenhuma) Não há Máquina de Física em utilização. Os Objetos ou coisas dentro de sua Cena não são afetados pela gravidade e podem ficar voando dentro de um espaço virtual. Os Objetos marcados para se movimentarem, permanecerão com seus movimentos. "Gravity" (Gravidade) A aceleração gravitacional, em unidades de metro por segundo ao quadrado (m.s-2), referenciados pelo ambiente Terrestre. Cada Objeto que é do tipo "Actor" (Ator) possui Massa e um deslizador de tamanho (veja a seção Materiais Dinâmicos). Em conjunção com a taxa de quadros por segundo ou FPS (veja a seção Renderização), o Blender utiliza esta informação para calcular com quanta velocidade o Objeto deverá acelerar para baixo.

Categories: Game engine | Physics Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page

Sobre o software livre e a GPL Quando se ouve falar de "software livre", a primeira coisa que vem a mente pode ser "custo zero". Embora isto seja verdade na maioria dos casos, o termo "software livre", usado pela Free Software Foundation (criadores do projeto GNU e criadores da GNU General Public License ou GPL) pretende significar "livre como na liberdade" ao invés do sem custo algum (que é normalmente referido como "livre como em cerveja grátis"). O software livre neste sentido é o software que você está livre para usar, copiar, modificar, redistribuir, sem limite. Em contraste com o licenciamento de pacotes de software comercial, onde você tem permissão para carregar o software em um único computador, e não é permitido fazer nenhuma cópia, e jamais ver o código fonte. O software livre permite uma incrível liberdade para o usuário final, além disso, uma vez que o código fonte está disponível universalmente, há muito mais chances que problemas como bugs sejam pegos e fixos. Quando um programa está licenciado sob a GNU General Public License (GPL): • Você tem o direito de usar o programa para qualquer finalidade; • Você tem o direito de modificar o programa e ter acesso aos códigos-fonte; • Você tem o direito de copiar e distribuir o programa; • Você tem o direito de aperfeiçoar o programa, e liberar suas próprias versões.


Em retorno a esses direitos, você tem algumas responsabilidades se você distribuir um programa com licença GPL, responsabilidades que são projetados para proteger as suas liberdades e as liberdades dos outros: • Você deve fornecer uma cópia da GPL com o programa, para que o destinatário esteja ciente de seus direitos sob a licença. • Você deve incluir o código-fonte ou tornar o código fonte disponível gratuitamente. • Se você modificar o código e distribuir a versão modificada, você deve licenciar suas modificações sob a GPL e tornar o código fonte de suas mudanças disponível. (Você não pode usar código GPL como parte de um programa proprietário.) • Você não pode restringir o licenciamento do programa para além dos termos da GPL. (Você não pode tornar um programa com licença GPL em um produto proprietário.) Para mais informações sobre a GPL, verificar o site GNU Project Web site. Para referência, uma cópia da GNU General Public License está incluído no volume II.

Blender 2.4 Portuguese • Doc page • Discussion • View source • History Page

Introdução ao Sombreamento A finalidade desta seção é guiar você no entendimento do conjunto pleno das opções de sombreamento do Blender e como utilizá-las. Sombreamento é o processo de aplicação de cores, texturas, e finalização das suas Malhas de maneira a simular uma ampla variedade de aparências, incluindo padrões, pinturas atuais e detalhamentos; ou faces de pessoas e animais em uma grade variedade de configurações. Enquanto o Blender não oferece habilidades de pintura, estas habilidades são geradas através da animação e colorização das Malhas. Em um nível de detalhe mais fino, como Texturas de Pele para UV ou pinturas de painéis foscos, ele não compete e não tem esperança de competir com facilidades ou funcionalidades com estes tipos de softwares especializados como o Gimp or Photoshop. Ao invés disso, ele usa cooperadamente seus arquivos de saída gráfica para a colorização de Malhas e Cenas.

Básica: Materiais e Texturas Nas próximas seções, nós vamos abordar o assunto de Materiais e Texturas Procedurais. Estes tipos de Materiais e Texturas são aplicados como um procedimento sobre a Malha integralmente. Dentro da Área de Múltiplos Materiais nós vamos abordar como aplicar um material em um conjunto de faces. Pelo fato de uma Malha poder ter diversos conjuntos de Faces, uma Malha pode ter muitos materiais procedurais, cada um com sua própria cor e outras configurações de Materiais, tanto quanto com texturas Procedurais. Dentro da área de Texturas, nós vamos ver como as texturas como as de "clouds" (nuvens) ou veios de "wood" (madeira) podem possuir efeitos leves ou dramáticos na


aparência de uma Malha, e como elas podem se sobrepor ou melhorar a base do Material de alguma maneira (dependendo de como elas usam a função de Map Output) e mixar com texturas prévias.

Avançado: "Vertex painting" (Pintura de Vértices) e "UV texturing" (Texturização UV)

Macaco de Chocolate por Roger depois de ter aprendido as técnicas básicas, nós vamos fazer nosso "sombreamento" ( shading) ir para os próximos níveis: Pintura de Vértices e então a Pintura de Texturas do tipo UV, utilizando imagens. Por favor note que estes níveis de complexidade e detalhamento trabalham juntos. Imagens podem ser combinadas com cores de vértices para fazer com qeu a textura seja mais brilhante ou mais escura ou para dar a ela uma cor. Utilizando uma textura especial, como Textura de Imagens, ou utilizando texturas de Imagens mapeadas como UV Texture é uma maneira de dar as Malhas colorização e riqueza de detalhes além de precisão de cores, para obter uma Imagem praticamente "Foto-Realística" (Photo-realistic ou PR). Considere nosso modelo favorito, o Macaco Suzanne. Abaixo você verá, em ordem de realismo crescente (e complexidade), os resultados que podem ser conseguidos com cada estilo de pintura. Na figura da direita, um simples Material, marrom, foi utilizado para colorizar a Suzanne. Uma textura tipo cloud foi aplicada a cor para misturar em um tom de marrom mais escuro, como também foi usada para fazer com que alguns detalhes do modelo saltem usando bump no Normal do objeto, e para variar a grandeza especular. Use esta técnica de pintura para um objeto que é fisicamente feito de um único material, como chocolate, plástico ou Metal. Use uma das texturas de veios de "madeira" (wood) para madeira ou mármore. Ou então um macaco de chocolate de leite; só coma as orelhas primeiro.


Suzanne por Roger utilizando múltiplos Materiais Na figura da direita, alguns materiais, marrom para os pelos. Rosa para o nariz e os lábios, etc; foram utilizados para colorizar Suzanne. Uma textura tipo cloud foi aplicada para colorizar a sua pele, e uma textura veronni para seu nariz rosa e seus olhos. Um grupo de Vértices, chamado Escalp foi definido para gerar partículas estáticas (cabelos).

Suzanne Moicana por RamboBaby utilizando Vertex Painting Na figura da direita, a Pintura de Vértices foi utilizada para colorizar a Malha da Suzanne. Um escalpo Verde foi utilizado para gerar um penteado tipo Moicano utilizando partículas estáticas. O seu olho direito possui o vértices central duplicado, acertado como "Single User" (Usuário Único), e um Material Halo foi utilizado para colocar "uma cintilar em seus olhos". Seu olho esquerdo possui a córnea rotacionada para que as cores dos vértices girem. Ambos os olhos foram preenchidos na parte de trás e foi aplicado Pintura de Vértices com cores verdes, e também possuem Z-Transp habilitado para permitir que a parte de trás seja mostrada através dos olhos. Luzes foram colocaads de frente com os seus olhos para realçá-los. Pelo fato da Pintura de Vértices sombrear entre as faces, note quanto as cores da pele se fundem mais suavemente que o exemplo prévio. A sua pele possui uma aparência mais natural com cores misturadas (e não estando blocadas ou com única cor).

Categories: Materials | Textures | Painting


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.