O Blender é um software 3D que possui uma diversa quantidade de ferramentas e uma delas é o motor de jogo BGE (Blender Game Engine) com recursos focados na criação de jogos, mas sem limitar a outras finalidades como aplicações interativas, gráficos 2D, etc.
Já o UPBGE é uma ramificação (no inglês fork) do Blender focado no aprimoramento do BGE. As forks são projetos que utilizam um software base para incrementar mais recursos ou ressuscitar os software descontinuados. Um bom exemplo de fork é o LibreOffice que assumiu a sucessão do OpenOffice.
As atualizações do Blender geralmente não tem muita atenção para o BGE e por motivos como esse que surge forks como o UPBGE. Este artigo irá apresentar alguns recursos especiais que o UPBGE oferece.
1. Paralax Mapping
Conhecido também como virtual displacement mapping, é uma forma aprimorada do normal mapping que renderiza a profundidade da textura da forma mais realista.
No UPBGE, essa opção existe nas propriedades da textura. Para fazer funcionar, é preciso utilizar uma textura de normal map com o canal alpha como a profundidade do paralax map. Na documentação do site oficial se encontra dois links de tutoriais, um ensinando a como criar uma textura de paralax map no Gimp e outro como aplica-las no UPBGE.
2. Sub Surface Scattering (SSS)
Este tipo de shading renderiza penetrabilidade volumétrica de luz, com outras palavras, quando a sua mão tapa a luz de uma lanterna, o SSS é como aquele avermelhado interno da mão que você vê.
Para utilizar o SSS no objeto, basta ir nas propriedades de material e ativar a opção Surface Scattering. Então é só escolher a Scale e RGB do SSS.
3. Sky Background Render
O plano de fundo do céu é um dos recursos que faz muita falta no BGE, onde as únicas alternativas seriam usar scripts ou improvisar uma esfera com textura HDRI. ¯\_(ツ)_/¯
Enfim, o UPBGE oferece este recurso nas propriedades de textura do World, para utilizar sem dificuldades as imagens HDRI. Por recomendação, no campo Mapping altere o Coordinates para Equiretangular, depois no campo Influence desmarque o Blend e ative Horizon.
Ainda não terminou, você precisa ativar a opção Real Sky nas propriedades do World. Para visualizar na Viewport, ative a opção Word Background no campo Display do Properties do Viewport.
4. Geometry Instancing
Segundo a documentação do UPBGE, este é um dos recursos que otimiza o performance no game na parte de instanciamento de objetos em média de 70%, mas não trabalha com malhas com mais de 100-200 polígonos.
Para utilizá-la, vai nas propriedades do material e ative Geometry Instancing no campo Options.
5. Wire Materials
Este é tipo de material que é renderizado no formato wireframe, no entanto não é um simples wireframe, pois também recebe as sombras e iluminações como qualquer shading.
Para usar o Wire Materials, vá em propriedades de Materials e em uma fila de botões, onde você vê Surface em primeiro, escolha a opção Wire.
6. Cubemap de Reflexo em Tempo Real
Isto é um tipo de texturização de material que resulta um efeito que reflete os elementos do ambiente, incluindo os objetos em movimento.
Para utilizar esta textura, primeiramente altere o tipo de textura para Enviroment Map, em seguida no campo Enviroment Map, escolha o tipo Realtime, depois crie uma nova imagem clicando em New. Não se preocupe com a resolução, após criar uma nova imagem, clique em Resize para o programa calcular o tamanho correto da textura.
Já para um espelho plano não seria ideal usar um cubemap, mas sim o próximo recurso do artigo.
7. Refração e Reflexão em Plano
Diferente de Cubemaps, a refração e reflexão planar é próprio para superfícies planas ou semi-planas com águas ou objetos com normal map.
Depois de aprender um pouco sobre cubemaps, para usar o refração ou reflexão, basta alterar a opção Mapping do Cube para Plane, após isso, escolha o Rendering Mode, seja Reflection ou Refraction.
8. Suporte ao Joystick XInput, Incluindo o Atuador Vibração
Este é um ótimo presente do UPBGE para quem usa os controles com suporte ao XInput como o controle de XBox 360 e controle da Logitech.
Para os botões e seus analógicos, esta opção encontra-se no Sensor Joystick do Logic Editor. Para a vibração utilize o Actuator Vibration.
9. Suavização da Sombra
No BGE, aquela sombra de objeto projetado dinamicamente em uma superfície possui apenas uma suavização por filtros lineares, que fica aparentemente bem nítido em altas resoluções e desagradável nas baixas resoluções.
Para renderizar uma sombra dinâmica com suavização nas bordas no UPBGE, utiliza-se a técnica PFC (Percentage Closer Filtering) Shadow.
O PFC se encontra na opção Filter Type, localizado no campo Shadow em propriedades de Luz.
10. Suavização de Partículas
Um dos problemas que existe em certos jogos 3D é o notável corte de partículas ao atravessar as superfícies. A suavização de partículas veio para resolver este problema.
Para suavizar a partícula ative o Depth Transparency e defina os valores do Depth Factor nas opções de transparência do material.
11. Mais Ferramentas de Debug
No UPBGE tem disponível ferramentas adicionais para debug, inclusive para Armatures e Sombras.
Os debugs adicionais encontram-se no campo Debug das propriedades de Render ou no sub-menu Show Debug dentro do menu Game.
Considerações Finais
Ter essa possibilidade de criação e crescimento de ramificações como UPBGE é uma das grandes virtudes que os Softwares Livres possuem, beneficiando tanto os usuário quanto os desenvolvedores.
Fica evidente o crescimento do UPBGE com atualizações bem ativas a cada mês, fazendo com que este motor de jogo ganhe cada vez mais o potencial para criação de jogos. Quem sabe mais pra frente esta fork ofereça recursos nativos como SSAO, DoF, ferramentas para modo online, ou até mesmo Area Lights? Enfim, sonhar assim não faz mal.
Como dica, não abuse bastante desses recursos, colocando polígonos, luzes com sobras, materiais ricos e espelhos dinâmicos em quantidade exorbitante para um cenário, lembre-se que a máquina tem seus limites.
Fica aí uma ótima e deliciosa alternativa para os grandes entusiastas do motor gráfico do Blender.
Para baixar e conferir mais recursos e detalhes sobre o UPBGE, siga abaixo os links direcionados às páginas oficiais:
[row] [column column=”one-half”] [/column] [column column=”one-half”] [/column] [/row]
- PS: A imagem de destaque, a primeira da página, é um print da renderização em tempo real no UPBGE. 🙂