(fonte: bonnefil.com )
Quero que esse padrão magnífico esteja no meu jogo. Até agora eu descobri ...
- Desenhe um lado e depois renderize-o duas vezes para a esquerda e para a direita.
- Como renderizo esse padrão de um lado? Hmm...
- Eu preciso de ajuda.
Eu preciso de algumas dicas sobre como escrever shader para isso.
Se você acha que não é uma tarefa adequada para sombreadores, entre em contato, espero que com uma solução alternativa!
No entanto, não vejo uma abordagem possível para conseguir isso sem a gpu. (a menos que você sugira armazenar várias fotos preparadas da foto de Rorscach)
shaders
post-processing
Blue Bug
fonte
fonte
Respostas:
Para obter uma aparência com tinta autêntica, sua melhor aposta é provavelmente montar uma biblioteca de imagens de respingos de tinta, listras e dribles.
Em seguida, você pode selecionar aleatoriamente algum número para posicionar e girar aleatoriamente sobre metade da imagem. (Com um viés na borda da costura, para que o meio do teste de Rorschach seja mais denso. Você pode usar um sistema de partículas para fazer essa dispersão)
Renderize isso em uma textura com o modo de quebra definido para espelhar e agora você tem um borrão de tinta simétrico que pode exibir sem nenhum sombreador personalizado.
Aqui está um exemplo do tipo de resultado que você pode obter desta maneira:
Se você não se importa com essas formas de tinta exclusivas, também pode fazer isso com um sombreador que limita dois padrões de ruído passando um pelo outro. Isso ganha uma forma irregular simétrica, que pode ser alterada continuamente ao longo do tempo, se você quiser, mas não se parecerá com tinta.
Este é o método sugerido pelo dnk drone.vs.drones em outra resposta e pode fornecer resultados semelhantes a este:
Edit: aqui está uma explicação de como a abordagem baseada em ruído funciona ...
Primeiro começamos com algum barulho. 1 / f ruído , muitas vezes chamado de turbulência, funciona muito bem. Você pode assar o ruído de lado a lado em uma textura e depois somar uma ou mais amostras, alterando as compensações / rotações para variar as formas que obtém.
Se limiarmos isso diretamente, obteremos uma imagem como a da direita. As formas estão quase corretas, mas para parecer um teste de Rorschach, deve ser mais denso perto do meio e mais fino em direção às bordas.
Podemos fazer esse trabalho adicionando um gradiente por cima (contraste exagerado aqui para maior clareza)
Limite-o tomando
(sum - blackLevel) * contrast
(Aqui
blackLevel
está um parâmetro que controla o quão espantoso é o resultado - valores mais altos significam preto mais sólido - econtrast
controla a nitidez das bordas)O espelhamento desta imagem fornece o exemplo de Rorschach acima.
fonte
Você pode tentar o ruído perlin (usando um gradiente de preto / branco adequado) e aplicar o espelhamento direito / esquerdo
fonte