Resumo das atividades de hoje no Curso on-line de Introdução ao Blender de Gustavo Rosa.
Interface Blender
- Áreas do espaço de trabalho
- Dividir e mesclar áreas com botões dos cantos superiores direitos e inferiores esquerdos
- Editores e seletor de tipo de editor
- 3D view, Outliner, Properties (timeline - avançado)
Navegação no ambiente 3D
- Orbit (pressionar botão scroll)
- Zoom (girar scrool)
- Pan (Shift-scroll)
- Vista ortográfica, perspectiva e teclas numpad
Seleção de objetos
- Mouse
- ‘Shift’ para selecionar vários ítens
- ‘Ctrl’ para selecionar numa área a ser desenhada
- Selecionar tudo (tecla ‘a’)
- box (tecla ‘b’)
- “pincel” de selção (‘c’ e scroll muda raio do pincel)
- Outliner (editor)
Centralizar objetos e rotacionar
- Tecla ‘home’ centraliza objeto selecionado no centro da tela
- Opção de girar ao redor da seleção (User Preferences -> interface -> rotate around selection)
Mover e rotacionar objetos
- Valores numéricos na região de propriedades (ícone ‘+’ na direita do 3D view ou tecla ‘n’)
- Manipuladores
- teclas de atalho: ‘g’ (grab), ‘r’ (rotate), ‘s’ (scale)
- Acompanhada de restrições ‘x’, ‘y’, ‘z’
Limpar e aplicar transformações
- Ver alteração dos parâmetros do objetos ao mover, rotacionar e dimencionar (tecla ‘n’) para abrir o menu.
- Limpar transformações do objeto (Objects -> Clear)
- Aplicar transformaçõies do objeto: define referencial do objeto (Objects -> Apply)
Criar e apagar objetos
- Apagar objetos: Del (tecla), x (tecla), Delete (botão na prateleira de ferramentas - tecla ‘t’ ou icone ‘+’ da esquerda)
- Criar objetos: Shift-‘a’.
- Configurações iniciais dos objetos (Operator panel)
- Posicionar cursos 3D no centro: Shift-‘c’
- Duplicar objetos
- Copiar e Colar (Ctrl-‘c’ e Ctrl-‘v’)
- Duplicate na prateleira de ferramentas (cria cópia e inicia a movimentação do objeto)
- Shift-‘d’ (cria cópia e inicia a movimentação do objeto)
Exemplos
- Boneco de Neve
- Mesa e cadeira (transformação de objetos pelos valores numéricos)
- Trem (transformação pelos atalhos)
Modificadores
- Matrizes de objetos (Properties -> Modifiers -> Array)
Câmeras
- Numpad 0 para visualizar enquadramento da Câmera
- Dividir 3D view em duas para ver vista da câmera e outro ponto de vista para edição
- Editar características da câmera (Properties -> Câmera)
- Adicionar câmera (Shift-‘a’) e definir câmera ativa (Ctrl-Numpad ‘0’)
- Ctrl-Alt-Numpad ‘0’ - Move câmera ativa para visão atual
Modelagem de objetos (Avançado)
- Modo de edição (acesso aos vértices)
- Inserir e remover arestas
- Ferramentas de modelagem
Renderização
- Rederizar com F12 ou botão
- Salvar imagens estáticas no menu (Image -> Save as) ou F3 na janela de visualização da Renderização
- Configurar resolução da imagem
Iluminação
- Tipos de luzes: ponto, sol, spot, hemi, area
- Environment lightning
Materiais
- Cor difusiva
- Cor especular
- Emitância
Animações
- Introdução (Princípios da animação e Keyframes)
- Keyframes e configurações da animação
- Adicionar keyframes (Animation -> Insert Keyframe) ou Tecla-‘i’
- Shift-‘i’
- Auto Keyframe
Exemplos
Script Blender para criação de um sistema solar
# planetas.py - Animação do sistema solar
# Este script cria um modelo simplificado do sistema solar
# composto pelo sol e os 3 primeiros planetas internos em orbitas circulares.
# As dimensões dos corpos estão exageradas para fins de visualização
#
# Para utilizar este script chame o blender com a opção -P e o nome do arquivo
#
# $ blender -P ./planetas.py
import bpy
import math
bpy.context.user_preferences.view.show_splash = False
t_video=40 # duração da animação em segundos
t_simulado=86400*365*5 # tempo próprio da simulação em segundos
fps = 24 # quadros por segundo
N_quadros=t_video*fps # calculando numero de quadros totais
delta_t=t_simulado/N_quadros # tempo passado por quadro
omega_Terra = 2.0*math.pi/(365*24*60*60)
omega_Venus = 2.0*math.pi/(224.7*24*60*60)
omega_Mercurio = 2.0*math.pi/(87.96*24*60*60)
r_orb_venus = 0.723 # u.a.
r_orb_mercurio = 0.387 # u.a.
def criaobjetos():
#Inicia limpando a cena - ATENÇÃO - apaga todos os objetos!!
for objeto in bpy.data.objects:
bpy.data.objects.remove(objeto)
#Adiciona o Sol
bpy.ops.mesh.primitive_uv_sphere_add()
Sol = bpy.context.object
Sol.name = "Sol"
Sol.location=((0,0,0))
r_sol = 0.4652/8 # Raio do sol = 0.004652 u.a
Sol.delta_scale=(r_sol,r_sol,r_sol)
#Adiciona a Terra
bpy.ops.mesh.primitive_uv_sphere_add()
Terra = bpy.context.object
Terra.name = "Terra"
Terra.location=((1,0,0))
r_terra = 0.03 # Raio da terra exagerado
Terra.delta_scale=(r_terra,r_terra,r_terra)
#TerraAzul=bpy.ops.material.new(
#Terra.active_material = bpy.data.materials['TerraAzul']
#Adiciona Vênus
bpy.ops.mesh.primitive_uv_sphere_add()
Venus = bpy.context.object
Venus.name = "Venus"
Venus.location=((r_orb_venus,0,0))
r_Venus = r_terra*.95 # Raio de venus exagerado
Venus.delta_scale=(r_Venus,r_Venus,r_Venus)
#Adiciona Mercúrio
bpy.ops.mesh.primitive_uv_sphere_add()
Mercurio = bpy.context.object
Mercurio.name = "Mercurio"
Mercurio.location=((r_orb_mercurio,0,0))
r_Mercurio = r_terra*.3829 # Raio de Mercurio exagerado
Mercurio.delta_scale=(r_Mercurio,r_Mercurio,r_Mercurio)
bpy.ops.object.camera_add(location=(0, 0, 10))
bpy.ops.object.lamp_add(type='SUN',location=(0,0,0))
## TODO: Fazer sol não emitir sombra e adicionar lamp type='POINT' na origem
## Isto irá representar o dia/noite dos planetas
def run():
bpy.context.scene.render.fps=fps
bpy.context.scene.frame_start = 0
bpy.context.scene.frame_end = N_quadros
Terra = bpy.data.objects['Terra']
Venus = bpy.data.objects['Venus']
Mercurio = bpy.data.objects['Mercurio']
#Sol = bpy.data.objects['Sol']
for f in range(1, N_quadros):
t=delta_t*f
bpy.context.scene.frame_current = f
bpy.context.scene.objects.active=Terra
Terra.location=((math.cos(omega_Terra*t),math.sin(omega_Terra*t),0))
Terra.keyframe_insert(data_path='location')
bpy.context.scene.objects.active=Venus
Venus.location=((r_orb_venus*math.cos(omega_Venus*t),r_orb_venus*math.sin(omega_Venus*t),0))
Venus.keyframe_insert(data_path='location')
bpy.context.scene.objects.active=Mercurio
Mercurio.location=((r_orb_mercurio*math.cos(omega_Mercurio*t),r_orb_mercurio*math.sin(omega_Mercurio*t),0))
Mercurio.keyframe_insert(data_path='location')
criaobjetos()
run()
Gnomon: Relógio de sol em Porto Alegre
Gnomon: Relógio de sol em Porto Alegre - simula o movimento das sobras devido a rotação da Terra ao redor do Sol.
Blender topográfico
Blender topográfico é um projeto que explora a topografia de Porto Alegre com o Blender utilizando dados da NASA e do INPE