Tinta para todo lado! [Ajuda]

Fala Galera!
Estou fazendo um jogo que envolve armas de tinta,
gostaria de saber qual a melhor forma para deixar o cenário “pintado” porém sem pesar no jogo
e como faço para deixar o personagem sujo de tinta conforme ele for sendo atingido?
alguém tem alguma sugestão da melhor forma para se fazer isso?
Obrigado!

Olá!

Bom a forma mais simples de se fazer isso é, obviamente, usando Decals.

Agora em relação ao peso, você pode gerenciar isso através de uma classe ( ou Blueprint) manager, que utiliza um array para armazenar cara decal na cena e remove alguns para liberar mais memória e permitir mais decals serem inicializados.

DECAL

Decal é um sistema na tecnologia Unreal que envolve basicamente um material especial (marcado como material decal) e você pode colocar esse material que ele vai se adaptar a superfície em que foi colocado, seja um static mesh ou um skeletal mesh, ou mesmo um simples bsp. Você pode colocá-los em modo edição, no editor e ver o resultado instantaneamente ou pode também fazer com que sejam colocados através de um ator, como a sua arma de tinta.

Segue o link da documentação oficial sobre Decals no Unreal 4

Decals

Espero ter ajudado, boa sorte!

:wink:

Gustavo Bolanho

Demais Bolanho! vou me informar sobre Decals! Obrigado!

Além da dica do Bolanho, eu sugiro que você também faça uma textura para o personagem onde ele está sujo de tinta e use uma interpolação linear (Lerp) no shader dele para a textura da tinta ir aparecendo conforme ele vai ficando mais sujo. :wink:

Bem lembrado, DanZaidan, você pode usar um sistema de texturas procedurais pra sujar os personagens, ou sujar de forma artística que fique de acordo com o contexto do personagem, como é feito no Mortal Kombat 9, onde as texturas vão se revelando conforme o personagem apanha, e cada personagem tem sua própria versão com sangue e machucados!

O primeiro jogo que eu lembro ter jogado onde isso acontecia foi God of War III. Quanto mais monstros você matava, mais sujo de sangue você ficava :smiley:
Rendeu boas risadas… hahaha