Workflow Nohabs

Olá, espero que estejam bem.

Vou explicar resumidamente todo o fluxo de trabalho (Workflow) para fazer as “nohabs”.
Da pesquisa de referências até ao jogo.
As Nohabs são um produto digital para o Open Rails (jogo de simulação ferroviária), há venda na minha loja online.

1. Pesquisa de referências, documentação e aprendizagem

Utilizei o motor de busca “google”, redes sociais e forums para encontrar fotografias (referências) e informação técnica sobre o objecto no qual pretendo desenhar, neste caso a automotora “Nohab” serie 0050;
Estive também a pesquisar sobre o método de trabalho, normas de funcionamento, limitações e adições do motor de jogo (Open Rails).

2. Modelação detalhada (Hight-Poly)

É nesta etapa que utilizamos o Blender (software de modelação 3d gratuito). A parte mais divertida (para mim);
É frequente utilizarmos mais o lado criativo e perfeccionista nesta fase, quando dispomos de pouca informação;
É fácil passarmos dos milhões de polígonos sem darmos por isso.

3. Modelação com poucos poligonos (Low-Poly)

Para melhorar a optimização devemos reduzir o numero de poligonos;
Converter os n-gons para triângulos como forma de prevenir surpresas após os resultados no motor de jogo;
Sempre que possível devemos unir objectos e materiais, para reduzir o numero de objectos apresentados no ecrã (draw-calls);
Remover partes não visíveis pelo jogador.

4. Mapeamento UV (UV Mapping)


Regra geral os UVs devem ficar uniformes mas as partes mais escondidas podem ocupar menos espaço na tela para dar lugar às partes mais visíveis pelo jogador;
É uma boa ideia organizar os UVs em grupos para facilitar posteriormente na pintura (texturização).

5. Criar as mascaras e Ids (cores)

Para facilitar a pintura dos objectos compostos por várias partes é boa ideia marcar por ids (cores) ou mascaras (preto e branco), como forma de auxiliar na pintura mais tarde;
Utilizei a ferramenta vertex paint do Blender para marcar objectos por cores. Depois fiz bake das marcações.

6. Pintura e texturização

A proximidade entre o jogador e o objecto é um factor determinante para a resolução da textura. Se a resolução final for 1024 o seu projecto deve ter o dobro da resolução, como forma salvaguardar possíveis ajustes no futuro;
Utilizei o substance painter para fazer bake (gerar informação dos objectos para textura) dos: normals, ao, height e curvature maps;
Utilizei a funcionalidade “smart materials” presente no SP para acelerar o processo de pintura;
No fim de pintar exportei as texturas (albedo, metaleness, roughness, normal) de forma a serem compatíveis com os novos motores gráficos.

7. Bake

Utilizei o motor de render “Clyces” do blender para fazer bake das texturas previamente exportadas no SP.
Visto que o Open Rails apenas suporta um sistema básico de shaders (diffuse) é preciso combinar todas as texturas pbr (albedo, metaleness, roughness, normals) em uma (com inclusão da luz);

8. Texture atlas

Para melhorar optimização utilizei um plugin “texture atlas” para juntar as texturas e objectos separados em um.

9. Nomenclatura

Após finalizar a parte mais artística organizei as texturas e objectos por nomes, como forma a interagir com o motor de jogo (game engine).

10. Level of detail (LOD)

Para melhorar optimização criei versões (com menos triângulos) para diferentes distâncias de visão.

11. Animações

Animei os botões, portas, espelhos, etc.
As rodas e bogies são animados pelo motor de jogo.

12. Sons

Procurei sons pela Internet;
Utilizei o audacity para criar sons básicos como buzina e motor;
Podemos utilizar gold wave para sons mais complexos, devido à adição dos cue marks no qual possibilita definir a ordem do loop;
Exportar em wav.

13. Exportar

Exportei os modelos para o formato .s e comprimi as texturas para o formato .ace;
Recomendo o “Route Riter” e o “aceit” para esta tarefa.

14. Scripting

Para mim um tarefa chata e excitante mas sobretudo fundamental;
É aqui onde configuramos as composições, velocidade, botões, sons, descrições etc., editando os seguintes ficheiros .s, .con, .sd, .eng .sms;
Consumi muito café e o editor de texto “notepad++” nesta tarefa.

15. Organização das pastas

Criei as pastas, coloquei os ficheiros e arrastei para o conteúdo do jogo.

16. Testes e ajustes

Após alguns testes e ajustes já estava quase a publicar.

17. Instalador

Utilizei o Inno Setup para criar um instalador simples. Como forma de facilitar (guiar) a instalação do produto digital aos utilizadores.

18. Documentação

O guia de instalação e manual de instruções.

19. Publicação

Utilizei o Gumroad para colocar há venda. O Gumroad é plataforma on-line que permite que os criadores vendam produtos directamente aos consumidores.

Conclusão

Espero que tenham obtido um conhecimento geral no processo de criar modelos (addons) para videojogos, neste caso para o Open Rails.