Wild Witch Project - Um game que você nunca viu

Neste jogo você precisa ajudar uma bruxa adolescente a salvar seu mundo da Mortífera Bunda Assassina do Espaço Sideral

Arvores no balanço do vento pt1

Arvore balançando com shader
Tive esta ideia quando vi um gameplay de The Last of Us e reparei no movimento das árvores.
O shader é bastante simples, um movimento senoide controlado por uma variável de escala.

Arvore balançando com shader GIF
Para garantir que o shader mude apenas a porção certa da malha usei as cores dos vértices, onde o canal R varia de 0 a 255 (0 = nenhuma influência até 255 = total influência).

Vertex Painting

Bom, o shader ainda precisa de alguns ajustes, mas é por este caminho. Aos interessados, segue o shader até agora:


[VERTEX SHADER]
uniform float displace = 1.0;

float s = sin(clamp(TIME, 0.0, 1000.0));
float d = COLOR.r*displace*s;
VERTEX.x += d;
VERTEX.z += d;

[FRAGMENT SHADER]
uniform texture imagem;

DIFFUSE = tex(imagem,UV).rgb;
// folhas
//DIFFUSE_ALPHA = tex(imagem,UV).rgba;