Currently working on a procedural boss animation for my indie game Thwimbly.
I've been messing with procedural animation for a couple years now, mostly influenced by my engine of choice (TIC80) enforcing limitations on your development. These limitations make it difficult to pack massive spritesheets in there, so procedural animations are in.
Procedural animation is pretty simple on the surface: Use basic triangles, circles, and lines to compose a large shape. Then use math to define their positions and some basic logic to animate them!
The head is pretty straightforward to explain. I have a series of triangles for the head and can interpolate their positions to a number of predefined shapekeys. These shapekeys are just different positions that the head can be in. Right now I have an open and a closed shapekey. These shapekey positions are all based around the jaw pivot point so I just need to move that pivot to move the entire head. Currently the jaw is just opening and closing, but eventually I'll get more fancy once I start adding in attacks and such.
The stem is just calculating the angle between the root and jaw pivot, then drawing a bunch of circles along that line. Each circle is offset by a cosine curve to give the serpentine stem curve.
The spikes are just triangles drawn every other step while drawing the stem. I find the angle between the current circle and the previous, then use that to find the tip of the triangle. I really love how the spikes pivot as the stem wiggles, it gives it a really satisfying mechanical linkage motion.
I love this kind of animation so much because it lets me use the trigonometry skills I picked up from my mechanical engineering degree to make cool art.
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
✓ Live Streaming✓ Interactive Chat✓ Private Shows✓ HD Quality
Anya is LIVE right now
FREE
Free to watch • No registration required • HD streaming
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.
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.
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)
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.
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 de maneira formal, 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.
Bicycle bicycle bicycle I want to ride my bicycle bicycle bicycle I want to ride my bicycle I want to ride my bike I want to ride my bicycle I want to ride it where I like, @_tyflow_ #artist #tysonibele #animator #testrender #proceduralanimation #3dsmax #bicycles #cyclecrash #instavisual #instaanimation #instalove #instaart #instaride #instacycle #visualinspiration #visualanimation #positivevibesonlyplease #getinspired #i❤️cycling https://www.instagram.com/p/Bn_N-heCPP4/?utm_source=ig_tumblr_share&igshid=wt16o9h0x34u
What's more fun than gravity, right? #emda203 demo #noneroticart #proceduralanimation #javascript (at Oregon Center for the Arts at Southern Oregon University)
What's more fun than gravity, right? #emda203 demo #noneroticart #proceduralanimation #javascript (at Oregon Center for the Arts at Southern Oregon University)
Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
✓ Live Streaming✓ Interactive Chat✓ Private Shows✓ HD Quality
Anya is LIVE right now
FREE
Free to watch • No registration required • HD streaming
What's more fun than gravity, right? #emda203 demo #noneroticart #proceduralanimation #javascript (at Oregon Center for the Arts at Southern Oregon University)