Skip to content

Estudo Dirigido 03

Atividade: Transformações Geométricas 2D e 3D no Blender 4.5 LTS

Contexto

Nesta AC, você vai construir uma cena simples no Blender 4.5 LTS para praticar transformações geométricas em nível introdutório. A atividade combina manipulação manual (interface) e automação básica com Python.

Objetivos de aprendizagem

  • Aplicar transformações 2D em objetos planos (translação, rotação e escala).
  • Aplicar transformações 3D em sólidos (translação, rotação e escala em eixos distintos).
  • Distinguir transformações em espaço local e espaço global.
  • Criar uma animação curta com keyframes de transformações.
  • Escrever um script Python simples para criar objetos e aplicar transformações.

Ferramentas obrigatórias

  • Blender 4.5 LTS.
  • Janela Scripting do Blender (Python integrado).

Enunciado da prática

Você deve montar uma mini-cena chamada "Parque Geométrico" contendo:

  1. Elementos 2D (plano XY):

    • 1 quadrado (Plane).
    • 1 triângulo (pode ser um Plane editado para 3 vértices).
    • 1 círculo (Mesh Circle).
  2. Elementos 3D:

    • 1 cubo.
    • 1 cilindro.
    • 1 esfera UV.
  3. Animação curta (3 a 6 segundos):

    • Um objeto 2D deve transladar e rotacionar.
    • Um objeto 3D deve escalar e rotacionar em eixos diferentes.
  4. Automação com Python (obrigatória):

    • Criar ao menos 2 objetos por script.
    • Aplicar pelo menos 3 transformações via script (ex.: location, rotation_euler, scale).

Requisitos técnicos mínimos

  • Cena organizada com nomes coerentes de objetos (ex.: obj2d_quadrado, obj3d_cubo).
  • Uso de pelo menos um caso de rotação em graus convertidos para radianos no Python.
  • Aplicação de ao menos uma transformação em cada eixo principal (X, Y, Z) ao longo da atividade.
  • Inserção de keyframes pelo menos nos frames inicial e final para dois objetos.

Passo a passo sugerido

  1. Criar uma coleção chamada AC03_transformacoes.
  2. Inserir os objetos 2D e posicioná-los no plano XY.
  3. Inserir os objetos 3D e posicioná-los acima ou ao lado dos 2D.
  4. Aplicar transformações manuais com G (move), R (rotate) e S (scale).
  5. Definir timeline (ex.: frame 1 a 120 em 24 fps).
  6. Criar keyframes de transformações para 1 objeto 2D e 1 objeto 3D.
  7. Abrir a aba Scripting e executar um script para criar/transformar objetos.
  8. Ajustar câmera e gerar um render estático da cena final.

Script base (exemplo inicial)

import bpy
import math

# Cria um cubo e aplica transformacoes 3D
bpy.ops.mesh.primitive_cube_add(location=(2, 0, 1))
cubo = bpy.context.active_object
cubo.name = "obj3d_cubo_script"
cubo.rotation_euler = (math.radians(25), math.radians(15), math.radians(40))
cubo.scale = (1.2, 0.8, 1.5)

# Cria um plano e aplica transformacoes 2D (XY)
bpy.ops.mesh.primitive_plane_add(location=(-2, -1, 0))
plano = bpy.context.active_object
plano.name = "obj2d_plano_script"
plano.rotation_euler = (0, 0, math.radians(30))
plano.scale = (1.5, 1.0, 1.0)

Você pode usar este script como ponto de partida, mas deve adaptá-lo para a sua cena.

Entregáveis

  1. Arquivo Blender: AC03_NomeSobrenome.blend.
  2. Script Python: AC03_NomeSobrenome.py (pode ser também em .txt exportado do editor de texto do Blender).
  3. Uma imagem renderizada da cena final: AC03_NomeSobrenome.png.
  4. Um texto curto (5 a 10 linhas) explicando:
    • Quais transformações 2D e 3D você aplicou.
    • Qual parte foi feita manualmente e qual parte por Python.

Bônus (até +1,0)

  • Uso de hierarquia (parent/child) para mostrar transformação composta.
  • Pequena variação temporal adicional na animação (ex.: easing ou etapa intermediária).

Observações

  • Atividade introdutória: o foco é compreender o processo, não complexidade visual.
  • Em caso de dúvida, comente o código e justifique decisões no texto de entrega.

Questões Teóricas

  1. Explique a diferença entre translação, rotação e escala em computação gráfica.
  2. Qual é a diferença entre transformar um objeto no espaço local e no espaço global?
  3. Em uma cena 3D, por que rotações em eixos diferentes podem gerar resultados visuais distintos?
  4. No Blender, por que usar math.radians() ao definir rotation_euler por script?
  5. Dê um exemplo prático de quando vale mais a pena usar Python em vez de transformar manualmente pela interface.

Critérios de avaliação (10,0 pontos)

  • Modelagem básica da cena (2,0): presença e organização dos objetos 2D e 3D.
  • Transformações 2D (2,0): aplicação correta de translação, rotação e escala em objetos planos.
  • Transformações 3D (2,0): aplicação correta de translação, rotação e escala em sólidos.
  • Python introdutório (2,0): script funcional criando e transformando objetos.
  • Animação e apresentação (2,0): keyframes, legibilidade da cena e qualidade da entrega.