2023-01-21 – Neve já com flocos a derreter de forma realista, no meu Game Engine em C++…

A neve no meu game engine, já a derreter de forma mais realista, e a agarrar as plataformas móveis.

No último vídeo podiam que a neve já derretia de forma irrealista, onde apenas viam os flocos de neve a cair quando os de baixo derretiam (desapareciam assim do nada).

Agora não, agora são os flocos de neve no topo que vão desaparecendo (derretendo), e à medida que tal acontece, desaparecem, e de seguida os de baixo um a um:

Além disso, quando um floco de neve cai em cima de outro, o calor (de acordo com as leis da Física, etc), sobe, e assim o de baixo fica mais frio e o de cima mais quente, ou seja, o de baixo fica mais sólido de novo e o de cima derrete mais rápido.

Ainda pensei fazer um gradiente sobre a totalidade do monte, mas isso não ficaria realista visualmente, ficaria feio com as diferenças entre colunas de flocos de alturas diferentes, e exigiria muito do CPU, e sobretudo, a solução actual é mesmo a mais realista, pelo que pude ver.

Quanto ao resto, perde-se a variedade de cores dos flocos que caem, coisa que havia antes, pois se o calor sobe e os de cima ficam mais escuros e os de baixo ficam mais claros, a neve fica relativamente toda homogeneamente branca.

A neve agarra nas plataformas também, ela desliza pelas superfícies laterais sem agarrar, com o vento, os flocos têm um efeito de movimento 3D com 2 píxeis a imitar a variedade infinita que podem ter (mas representados em apenas 2 píxeis), variações de movimento consoante o atrito diferente no ar em cada ponto, são puxados pelo vento, etc, etc.

Também tem um sistema que ajuda a nivelar um pouco os montes de neve durante a queda, para evitarmos ter estalactites e termos assim montes mais suaves.

Tudo isto configurável, e com o código já modular e reutilizável, etc.

Pronto a aplicar no game engine.

Estive semanas sem mexer nisto desde o Ano Novo, devido a excesso de trabalho, que me fez estar longe do game engine uns tempos.

E vou continuar a estar durante umas semanas, mas tive umas horitas para melhorar isto agora, e para daqui a 1 ou 2 semanas meter cá os flocos de neve aplicados ao nível de testes de jogabilidade do game engine em tempo real.

Mas não quis partilhar absolutamente nada porque queria que o meu primeiro post do ano fosse relacionado com o sistema de neve do meu game engine, e aqui está.

Tudo em C++, claro. 🙂

Notem que está lento porque tem em tempo real mais de 6000 objectos no ecrã, cada um a testar colisões com tudo e mais alguma coisa, etc, usando apenas um único core (dos 8), de um portátil só I5 (e que até tem só 8GB) pois gosto de programar em computadores menos poderosos, para me forçar a optimizar código, além de estar a usar o OBS para guardar o vídeo, a música a tocar, tv no browser com 1001 janelas, ter o computador sobrecarregado, etc.

E tem uns pequenitos bugs que mal se notam mas por falta de tempo corrijo mais tarde.

Bem, trarei novidades um dia.

Hasta!

2023-01-21.

Publicado no mesmo dia no LinkedIn, em:

https://www.linkedin.com/feed/update/urn:li:ugcPost:7022673731718111232/

2023-01-21 - Neve já com flocos a derreter de forma realista, no meu Game Engine em C++...
2023-01-21 – Neve já com flocos a derreter de forma realista, no meu Game Engine em C++…

Leave a Reply

Your email address will not be published. Required fields are marked *

RSS
Follow by Email
LinkedIn
LinkedIn
Share