A downloadable tool

Shaders na Unreal Engine por meio de Blueprints

1. Resumo

  • O projeto se trata sobre fazer shaders na Unreal Engine por meio de Blueprints, a Unreal tem a linguagem C++ como linguagem padrão, por enquanto os resultados alcançados foram a descoberta de artigos que serão utilizados de referência e base para o projeto e os resultados esperados são a concretização de um shader criado na engine por meio de blueprints para distribuição na comunidade e auxiliar desenvolvedores em suas obras.

2. Introdução

  • Objetivo do projeto

Este projeto tem como objetivo auxiliar desenvolvedores que não tem habilidades com programação, criando um shader que os auxilie no desenvolvimento de seus projetos utilizando a Unreal. Por utilizar o sistema de Blueprints, a plataforma é ideal para esse objetivo específico por ser mais “amigável” com desenvolvedores iniciantes e profissionais.

  • Contexto técnico:

O motor de jogo escolhido é a Unreal Engine por disponibilizar o sistema de Blueprints e que utiliza a linguagem C++. A motivação para as decisões que levaram ao desenvolvimento deste projeto é auxiliar pessoas com pouca experiência em programação a desenvolverem seus projetos por meio da Unreal utilizando Blueprints;

  • Problemas específicos a serem resolvidos: 

Definição do projeto a ser desenvolvido, escolha da engine,busca de artigos relacionados, aperfeiçoamento das técnicas de blueprints e publicação do shader no Itch.io.

3. Metodologia

  • Protocolo de Revisão:
    • Critérios de Inclusão/Exclusão: Trabalhos similares, Artigos relacionados ao tema específico, publicados preferencialmente a partir de 2015 por serem mais atualizados.
    • Fontes de Busca: Google Scholar, Livros, Artigos, Tutoriais e site da própria engine;
    • Palavras-chave: "shaders", "unreal", "blueprint".
  • Processo de Seleção: Artigos relacionados ao tema abordado, preferencialmente que contenham mais conteúdo visual do que apenas texto corrido.

4. Resultados e Análise

4.1 Programação de Shaders
  • Software escolhido: O software escolhido foi a Unreal Engine por ser uma vasta gama de conteúdo, ensinamentos, tutoriais e formas de se trabalhar;
  • Desafios: Produzir um tutorial ensinando pessoas a como desenvolver um shader na Unreal Engine. Procurar formas de desenvolver o shader e fazê-lo funcional;
  • Ferramentas: Visual Scripting (Unreal Blueprints), tutoriais, documentação da própria Unreal disponibilizada pela plataforma, vídeos tutoriais e trabalhos similares.
4.2 Geração Procedural
  • Técnicas: Drag & Drop (Blueprint).
  • Aplicações: Jogos, animações e produções digitais.
  • Otimização: Uso de tutoriais e artigos para atingir o resultado esperado.
4.3 Requisitos e Ferramentas
  • Engine/Frameworks: A plataforma escolhida e utilizada será a Unreal Engine;
  • Linguagens: Será utilizado Blueprints para o trabalho, porém a linguagem padrão da Unreal é C++;
  • Hardware recomendado: Desktop com acesso a sistemas da AMD e Intel.
4.4 Tutorial (título provisório)
  • Básicos: Computador com acesso a internet, download da Unreal Engine através da Epic Games, início de um projeto novo.
  • Avançados: Escolha da Blueprint como ferramenta de trabalho, definição (neste caso é um shader) começo dos trabalhos. 
4.4.1 Download e Instalação
  • Download: O primeiro passo a se seguir é criar uma conta na Epic Games ou logar com sua conta caso já a tenha criado anteriormente. Em seguida, deve-se baixar o Epic Game Launcher e executá-lo em seu computador. O desenvolvedor deve se atentar com os requisitos do sistema de ter 50GB de espaço livre e uma placa de vídeo compatível, preferencialmente com DirectX 12 e Shader Model 6.
  • Instalação: Após instalar o Launcher, é preciso seguir para a aba “Unreal Engine” logo abaixo de “Biblioteca”, e clicar no botão “Instalar”. Após concluído esses passos, o desenvolvedor está pronto para abrir a Engine clicando em “Inicializar”.
4.4.2 Criando um Novo Projeto
  • Novo Projeto: Após iniciar a Unreal Engine, o desenvolvedor deve clicar na aba “Games” (Jogos) na tela inicial e logo em seguida clicar em avançar.
  • Blueprints: Na janela seguinte a de “Games”, é necessário escolher a opção Blueprint, caso contrário, será utilizada programação convencional em C++ no projeto.
  • Raytracing (opcional): Caso o desenvolvedor possua uma placa de vídeo compatível, é possível ativar essa opção para deixar o projeto mais realista.
  • Configurações do Projeto: Após a escolha do nome e da pasta onde o projeto será salvo, basta clicar em Create (Criar) e o projeto será criado e estará pronto para começar.
4.4.3 Interface Inicial da Unreal

Com o projeto aberto, a tela será dividida em áreas:

  • Viewport: é a área de visualização 3d do projeto;
  • Outliner: trata-se da lista de objetos em cena;
  • Content Browser: gerenciador de arquivos do projeto;
  • Details: mostra as propriedades do item selecionado.
4.4.4 Criando, Editando e Adicionando o Blueprint a cena
  • Na área Content Browser, deve se clicar com o botão direito para adicionar uma Classe de Blueprint base (um exemplo é a classe “Actor” para se referir a objetos comunso ou Characters para personagens), logo após esse procedimento, escolha um nome para a Classe.
  • Após o Blueprint criado, o desenvolvedor pode editá-lo clicando duas vezes seguidas para abrir o editor visual.
  • É possível adicionar um Event Graph no Blueprint para aplicar alguma função a ele
  • Com o Blueprint criado e editado, basta arrastá-lo do Content Browser para o Viewport. 
4.4.5 Criando, Editando e Adicionando o Blueprint a cena
  • Na área Content Browser, deve se clicar com o botão direito para adicionar uma Classe de Blueprint base (um exemplo é a classe “Actor” para se referir a objetos comuns ou Characters para personagens), logo após esse procedimento, escolha um nome para a Classe.
  • Após o Blueprint criado, o desenvolvedor pode editá-lo clicando duas vezes seguidas para abrir o editor visual.
  • É possível adicionar um Event Graph no Blueprint para aplicar alguma função a ele
  • Com o Blueprint criado e editado, basta arrastá-lo do Content Browser para o Viewport. 
4.4.6 Criando um Shader básico de cores personalizadas
  • Com o projeto aberto na Unreal Engine, o primeiro passo é clicar com o botão direito do mouse no Content Browser, logo em seguida selecionar Material e com isso um novo asset será criado. Renomeie-o para o nome de sua funcionalidade e após isso, basta clicar duas vezes para abrir o Material Editor (essa etapa é crucial para o desenvolvimento correto do Shader).
  • Dentro do Material Editor, aparecerá um nó central chamado de Material, basta clicar com o botão direito do mouse no espaço em branco e pesquisar por: Vector Parameter, renomeie-o para CorBase ou outro nome a sua escolha. Por fim, basta conectar a saída do CorBase no Base Color do nó Material. 
  • Basta o desenvolvedor clicar em Apply e logo em seguida Salvar que um shader de cor base personalizável será criado.
4.4.7 Controle de brilho

Esta etapa é opcional e não é necessária para o desenvolvimento do Shader, mas é recomendado para ele ter melhor interação com os objetos.

  • Ao clicar com o botão direito no editor, procure por Scalar Parameter e nomeie-o para Brilho. Clique novamente e procure por Multiply e conecte CorBase na entrada A do Multiply e Brilho na entrada B, com isso, basta conectar o resultado do Multiply no Base Color do material.
  • Com esse processo, o shader permite ajustar a cor e a intensidade da cor.
4.4.8 Aplicando o Shader em um objeto
  • Ao voltar para o editor principal da Unreal, crie ou importe um objeto 3D para o projeto, selecione o objeto no Viewport e no painel de Details, locali-ze a opção Materials. Arraste o material do shader do Content Browser para a caixa do objeto selecionado e o Shader será aplicado ao objeto
4.4.9 Tornando o Shader interativo com Blueprints
  • Para alterar a cor e brilho do Shader via Blueprint, basta selecionar o objeto com o material aplicado, clicar com o botão direito do mouse em Blueprint Class e logo em seguida clicar em Actor. No Blueprint adicione um Static Mesh com o objeto, vá até Event Graph e utilize os seguintes nós: Create Dynamic Material Instance, Set Vector Parameter Value e Set Scalar Parameter Value para Cor Base e Brilho.
  • Seguindo esses passos, o Shader está pronto para ser usado em projetos.

5. Discussão

  • Tendências:
    • Produzir um tutorial de como criar shaders via Blueprints na Unreal para aplicação em projetos digitais.
  • Documentação: Produzir um documento que contenha detalhes específicos e detalhados sobre o tutorial de produção de shader utilizando blueprints na Unreal Engine.
  • Direções Futuras: Após a finalização da documentação sobre o tutorial, colocar em prática tudo o que foi estudado, desenvolver um shader e postar no Itch.io afim de auxiliar outros desenvolvedores com seus projetos.

6. Conclusão

  • Após analisar diversos artigos relacionados com o tema, vídeos tutoriais publicados por desenvolvedores, o tema sobre criar Shaders foi escolhido por se tratar de um asset amplamente utilizado em projetos digitais, especificamente na Unreal Engine, que é um motor de jogo diversamente utilizado na indústria. Com isso em mente, a escolha do tópico visa auxiliar estudantes da área e/ou desenvolvedores independentes a entender um pouco mais sobre Shaders e Blueprints.

7. Referências

EPIC GAMES. Game engines and shader stuttering: Unreal Engine's solution to the problem. 4 fev. 2025. Disponível em: https://www.unrealengine.com/en-US/tech-blog/game-engines-and-shader-stuttering-unreal-engines-solution-to-the-problem. Acesso em: 07 maio 2025.

EPIC GAMES. Introduction to Blueprints Visual Scripting in Unreal Engine. [S.l.]: Epic Games, [s.d.]. Disponível em: https://dev.epicgames.com/documentation/en-us/unreal-engine/introduction-to-blueprints-visual-scripting-in-unreal-engine. Acesso em: 07 maio 2025.

EPIC GAMES. Shader Development in Unreal Engine. [S.l.]: Epic Games, [s.d.]. Disponível em: https://dev.epicgames.com/documentation/en-us/unreal-engine/shader-development-in-unreal-engine. Acesso em: 07 maio 2025.

JOKIKOKKO, Venla Helena. The Potential of Unreal Engine 5 in Game Development. 2023. Trabalho de Conclusão de Curso (Bacharelado em Tecnologia da Informação) – Oulu University of Applied Sciences, Oulu, 2023. Disponível em: https://www.theseus.fi/bitstream/handle/10024/790326/Jokikokko_Venla.pdf?sequence=2&isAllowed=y. Acesso em: 07 maio 2025.

MORENO SÁNCHEZ, Alejandro. Herramienta para la creación de espacios no euclidianos en el ámbito de los videojuegos con Unreal Engine 5. 2023. Trabalho de Conclusão de Curso (Graduação em Design e Desenvolvimento de Videojogos) – Universidad Politécnica de Catalunã, Terrassa, 2023. Disponível em: https://upcommons.upc.edu/handle/2117/393488. Acesso em: 07 maio 2025.

PARRISH, Zak. Introduction to Blueprints. 2014. Disponível em: https://www.unrealengine.com/pt-BR/blog/introduction-to-blueprints. Acesso em: 07 maio 2025.

RATCLIFFE, J.; SIMONS, A. How can 3D Game Engines Create Photo-Realistic Interactive Architectural Visualizations? 2017. Trabalho de Conclusão de Curso (Bacharelado em Design de Jogos) – Bournemouth University, Bournemouth, 2017. Disponível em: https://eprints.bournemouth.ac.uk/30971/1/How_can_3D_Game_Engines_Create_Photo-Realistic%20_Interactive%20_Architectural%20_Visualizations.pdf. Acesso em: 07 maio 2025.

SMART POLY. Unreal Engine 5 | Blueprint For Beginners (2023). 2023. Disponível em: https://www.youtube.com/watch?v=3P3BF1zb7sw. Acesso em: 07 maio 2025.

VESTERINEN, Miro. 3D Game Environment in Unreal Engine 4. 2014. Trabalho de Conclusão de Curso (Bacharelado em Administração de Empresas – Tecnologia da Informação Empresarial) – Kajaani University of Applied Sciences, Kajaani, 2014. Disponível em: https://www.theseus.fi/bitstream/handle/10024/84635/Vesterinen_Miro.pdf?sequence=1. Acesso em: 07 maio 2025.

SCHLÜTER, Markus; KWASNITSCHKA, Tom; BERNSTETTER, Armin; KARSTENS, Jens. Rendering Large Volume Datasets in Unreal Engine 5: A Survey. 2025. Disponível em: https://arxiv.org/pdf/2504.07485. Acesso em: 07 maio 2025.

Updated 22 days ago
Published 29 days ago
StatusIn development
CategoryTool
AuthorEl_Vek

Leave a comment

Log in with itch.io to leave a comment.