#visualsynth
Explore tagged Tumblr posts
auroaz · 9 days ago
Text
OsciLoop Drivers ⏱ 💫 📐
Desenvolvi um add-on para o Blender
O OsciLoop Drivers é uma ferramenta experimental que permite aplicar oscilações automáticas e em loop a propriedades animáveis no Blender utilizando drivers.
No Blender, os drivers permitem controlar qualquer propriedade animável com fórmulas. Apesar de úteis, são complexos de usar, pois exigem escrita manual e conhecimento técnico sobre expressões matemáticas usando sintaxe Python. O OsciLoop surgiu da necessidade de tornar esse processo mais simples.
Construi todo o funcionamento do add-on com base em uma fórmula que usava com frequência para gerar movimentos fluidos e cíclicos: min + ((sin(frame * (2π / loop)) + 1) / 2) * (max - min)
Depois de repetir e adaptar essa fórmula manualmente diversas vezes, percebi que o processo poderia ser automatizado em uma interface visual, onde o usuário insere apenas os valores desejados e o driver é criado automaticamente.
Exemplo pratico : 0.5 + ((sin(frame * (2*pi / 90)) + 1) / 2) * (1.5 - 0.5)
Partes da formula 🧩
 min +: Define o ponto de partida da animação, como um offset, define onde a onda começa.
sin(): Gera uma onda senoidal entre -1 e 1
frame * (2π / loop) - Controle de tempo
frame: Contador de tempo, cada frame é um passo, como um cronometro, cada passo é um "tik" ⏱.
loop: Número de frames para 1 ciclo completo.
2π: Garante que a onda complete 1 volta perfeita no círculo trigonométrico (360°).
Ex: Se loop = 60, a animação dura 2 segundos (a 30fps).
(sin(...) + 1) / 2: Transforma a onda em percentual
*(max - min): Amplitude, define o quando a onda sobe/desce.
A fórmula começa e termina com o valor mínimo, o que garante um ciclo de animação sem quebras. O valor mínimo de entrada precisa ser igual ao valor mínimo de saída para que o movimento se feche perfeitamente, evitando saltos ou "trancos" quando o loop reinicia.
Tumblr media
Funcionalidades gerais do OsciLoop Drivers
1. Tipos de propriedades animáveis
Localização, rotação (Euler) e escala - com seleção múltipla de eixos (X, Y, Z)
Propriedades de modificadores (listadas automaticamente)
Propriedades personalizadas (via data path)
2. Tipos de onda disponíveis
Seno: movimento suave e natural
Cosseno: similar ao seno, com fase diferente
Triangular: sobe e desce em linha reta
Quadrada: alternância abrupta - ideal para efeitos mecânicos ou stop motion
3. Controle de amplitude
Modo Min/Max: define valores fixos de mínimo e máximo
Modo Amplitude/Offset: controla intensidade e centro da oscilação
Botão “Usar valor atual”: ajusta automaticamente Offset ou Min/Max com base no valor atual do objeto
4. Controle de tempo e velocidade
Star/End: define um intervalo exato de frames para o ciclo (intervalo do loop)
Frequência por ciclos: determina quantos ciclos ocorrem no intervalo. Funciona como controle de velocidade.
Atraso inicial: permite adicionar delay
Modo contínuo: funciona sem um intervalo definido, com frequência baseada em Hertz (Hz) e considerando o FPS da cena.
5. Gerenciamento e outros recursos
Lista de todos os drivers criados pelo OsciLoop
Identificação por objeto, propriedade, eixo e tipo de onda
Remoção e edição simplificadas
Reset de parâmetros
Drivers não destrutivos (mantêm keyframes existentes)
Tumblr media
Experimento em andamento
O OsciLoop Drivers é um projeto ainda em fase experimental.
Foi feito com base em testes, observação, tentativa e erro. Aprendi muito desenvolvendo, e ainda estou aprendendo. O sistema de drivers do Blender é imenso, há muito mais a ser explorado, e este add-on é apenas uma porta de entrada.
Já comecei a trabalhar em uma segunda versão, que deve incluir suporte para armatures e bones. No momento, é possível contornar isso usando constraints como o Child Of. Foi o que usei no exemplo com os cogumelos (e funcionou), mas honestamente, é uma gambiarra.
Além disso, essa primeira versão ainda apresenta alguns pequenos bugs que pretendo corrigir, como:
erros na listagem automática das propriedades de modificadores
erros na aplicação da onda triangular
falhas ao aplicar drivers em certos data paths.
Tumblr media Tumblr media
Registro pessoal ❤️ 🛠
🛠 Escolhi o nome OsciLoop porque ele descreve o que a ferramenta faz: oscilar em loop. Só depois percebi que o nome soava como osciloscópio, e que seu funcionamento lembrava calculadoras científicas e sintetizadores.
Essas não foram referências conscientes desde o início. Mas, à medida que o projeto crescia, essas semelhanças começaram a aparecer. O OsciLoop funciona como um cruzamento entre esses três instrumentos: ele calcula como uma calculadora, modula como um sintetizador e mostra como um osciloscópio.
Muitas disciplinas aparentemente distintas compartilham os mesmos conceitos básicos, apenas expressos em meios diferentes.
❤️ Às vezes me sinto confusa tentando entender todas as possibilidades e limitações. É como se eu tivesse aberto uma porta e, ao atravessá-la, encontrado outras cem, todas com mecânicas ocultas e equações mal compreendidas. Mesmo não sendo programadora nem matemática, tenho me sentido cada vez mais próxima desses universos. Eles deixaram de ser completamente estranhos, entraram na minha rotina, nos meus pensamentos.
Me sinto no começo, mas não tão distante como antes. Não saber já não me assusta tanto, existe um prazer em atravessar a ignorância.
--------------
O repositório no GitHub estará disponível assim que eu corrigir os principais bugs e finalizar a implementação do suporte a armatures e bones.
0 notes
abjective-music · 7 years ago
Video
Генералотивка #visualsynth #visual #monitor #av #abjective
0 notes
moralespaula · 10 years ago
Video
Mondo Trasho #tachyons #johnwaters #paulamorales #visualsynth #glitchreality #work
1 note · View note
alvaro-balcazar · 9 years ago
Video
La experimentación sine waves / in mapping we trust #visualsynth #generative_shit (en Sinestesia Producciones)
0 notes
sajeevmenon25-blog · 11 years ago
Video
vimeo
3D Fractal and Particles in TouchDesigner
0 notes