2. Usando seus modelos na UNITY
●
Modelos gerados para jogos serão usados na
engine em que o jogo está sendo desenvolvido
– Nesta apresentação usaremos a Unity, versão
2019.211f1
– Mas você pode usar esses conceitos em outras
engines, como a Unreal ou a Godot
3. Importando os modelos
●
Existem duas maneiras de colocar o seu
modelo na Unity
– Arrastar e soltar:
fácil, intuitiva, e uma roleta russa
– Preparar o objeto, arrastar e soltar:
depende de conhecimentos em Blender, mais
segura e ajuda os devs a terem um workflow sussa
na Unity
4. O jeitão sussa
●
Esta maneira é muito simples, e pode ser usada para
modelos, que você saiba que o modelador é
cuidadoso
●
Se você conhece o modelador, ou tem tempo para
arriscar, use esta maneira
●
Caso contrário use o jeitão cuidadoso
●
Vamos lá!
11. O jeito cuidadoso
●
Ufa, que bom que deu tudo certo.
●
Agora vamos fazer do jeito cuidadoso, que
nada mais é do que conferir os ajustes…
●
...e depois fazer do jeito sussa
12. Checklist
●
O que deve ser verficado é o seguinte:
– Sistema de coordenadas
– Limpar a cena
– Zerar rotação e escala
– Ajustar a origem
– Verificar as normais
– Escolher .blend ou .fbx
●
Vejamos um por um...
13. Sistema de Coordenadas
●
Você já reparou que o Blender
tem um sistema de coordenadas
diferentão
– Além do eixo de profundidade (Z)
ser a altura
– Ele é espelhado em relação à Unity
●
Na prática isso pode atrapalhar a
orientação do usuário
●
Mas não tem o que fazer em
relação a isso. Avisei só por
avisar mesmo.
Primalshell, license CC BY-SA 3.0
14. Limpar a cena
●
A cena do Blender possui
outros elementos além do seu
modelo, como a câmera e a luz
●
A Unity vai usar a câmera e a
luz dela, portanto delete as da
sua cena]
●
Aproveite para renomear o seu
modelo, a não ser que você
goste do nome “Cube”
15. Zerar rotação e escala
●
Durante o processo de modelagem,
você pode ter alterado a rotação e a
escala
●
Quando esse objeto for parar na
engine, ela vai adicionar os transforms
dela e quem estiver operando pode
ficar meio confuso
●
Para evitar isso, vá no menu de
Transform [N], e ajuste:
– Rotações: 0
– Escala: 1
16. Ajustar a origem
●
A origem é o local que vai basear a posição e as
transformações do seu modelo. Por isso ela
deve estar em um local que seja útil.
●
Às vezes, durante o processo de modelagem, a
origem pode ficar fora do objeto, e isso vai
dificultar a vida de quem estiver operando a
engine
●
Por isso, antes de exportar, ajuste a origem para
um local relevante.
– No caso da cereja, os locais mais apropriados
seriam na base, para o caso de apoiá-la em alguma
mesa, ou na ponta do talo, para o caso de a
pendurarmos em um galho]
●
Para ajustar a origem coloque o 3D Cursor
aonde você quer a origem, e clique em Set
Origin – Origin to 3D Cursor no painel de
ferramentas [T]
17. Verificar as Normais
●
Na geometria, uma normal é uma reta
perpendicular a um plano
●
Em um polígono 3D essa reta tem várias
funções, como refletir a luz, por exemplo
●
Antes de exportar o seu modelo, verifique
se as normais estão corretas, que
normalmente quer dizer, apontando para
fora
– Caso você envie normais para dentro, o
modelo vai aparecer com buracos nessas faces
●
O Blender pode te mostrar as normais
através da barra de propriedades [N]
– E se o seu modelo estiver apresentando esse
problema, recalcule ou inverta as normais
18. Escolher .blend ou .fbx
●
Os formatos mais comum em 3D são .obj e .fbx
– O formato obj (Wavefront) é uma malha dura, que
leva informações de materiais, sem cenas ou
animações
– O formato fbx (proprietário Autodesk) consegue
levar também informações de rigagem, como os
bones, e por isso acaba sendo o mais usado pelas
engines
●
Algumas engines, como a Unity, conseguem
aceitar o formato nativo do Blender, não sendo
necessária a exportação
●
Entretanto muitas pessoas preferem enviar
para as engines apenas o formato fbx, por
questões de performance da engine, e também
porque para a Unity entender os
arquivos .blend, o Blender precisa estar
instalado na máquina
19. Formato Collada .dae
●
Fiquem de olho no formato Collada,
extensão .dae (Digital Asset Exchange)
– Embora seja ainda muito inconsistente, ele é
gratuito e colaborativo, e vem crescendo junto de
engines independentes como a Godot
●
A engine Godot, não tem suporte à FBX por ser
um formato proprietário da Autodesk, e por isso
ela optou pelo Collada
●
Collada = Collaborative Design Activity
●
É gerenciada pelo consórcio de tecnologia sem
fins lucrativos Khronos Group e foi adotada
pela ISO como uma especificação pública ISO/
PAS 17506
●
Collada são documentos que descrevem
assets digitais em formato XML, o que facilita a
sua adoção
●
Quase todos os sofwares 3D atuais tem suporte
a Collada, às vezes modificado, assim como
diversas game engines
●
Vários aplicativos possuem suporte à Collada,
como o Preview do MacOS, permitindo assim
previsualizar documentos em 3D
●
Jogos como Kerbal Space Program usam os
objetos 3D em formato .dae
20. Uma vez que você verificou tudo isso
é só partir pro Jeitão Sussa (Drag’n Drop)
e correr pro abraço!
22. Modelos com texturas
●
Esse processo que vimos funciona muito bem
para modelos simples, apenas com definições
de materiais, sem imagens ou relevos
●
Mas se o modelo possuir mapas de imagem, e
provavelmente ele VAI possuir…
●
O processo ainda continua
23. Hello Ogro!!!
●
Vamos utilizar o modelo
do Ogro, que possui
além da malha 3d:
– Mapa de cor (diffuse)
– Mapa de brilho (glossy)
– E mapa de relevo
(bump)
24. Importando o Ogro
●
O início é igualzinho ao Jeitão Sussa ou
ao Jeitão Cuidadoso
– Vamos usar o segundo hehehe
●
Confira o modelo usando o checklist
apresentado e faça o export do FBX
●
Não se esqueça de remover luzes e
câmeras
●
Importe o FBX na Unity
●
Você deve ter essa vista linda aí
– Na verdade a câmera vê ele de costas,
mas na janela de cena, selecione o modelo
e na janela inspector rotacione-o 180 graus
em Y
25. O formato FBX traz os
materiais juntos do modelo
Para extrai-los basta clicar
em Extract Materials
Quase redundante isso...
26. A Unity vai pedir uma pasta
para ler a textura
CRIE UMA NOVA!
Não seja preguiçoso!
Não bagunça a coisa toda!
31. Vamos começar arrastando
o mapa de diffuse para
cima do ogro
A Unity chama o mapa de
cor, ou diffuse, de Albedo
que é o nome mais
modernoso para ele
Agora selecione o ogro na
janela de cena
Isso mudará o inspector da
imagem para o modelo
32. No inspector do ogro, ache
o shader e clique sobre ele
para abrir as opções
33. Veja que todos os mapas
já tem seus slots nesse
shader, e o Albedo (diffuse)
já está aplicado
Os outros mapas devem
ser puxados para ESSES
slots. Se você os puxar
para o ogro, eles
substituirão o anterior
34. Carregue e ajuste o
mapa de brilho em Metallic
(não a banda o mapa)
E depois o mapa de bump
no canal de NORMAL MAP
Normal Map é uma espécie
de bump bombado, mais
moderno e poderoso, mas
mais difícil de fazer. Mas não
se preocupe porque a Unity
vai transformá-lo para você
35. Que chato!
A Unity percebeu que aquilo
não era um mapa de normais
(as cores são diferentes)
Mas sem problema
Basta clicar em FIX NOW
que ela conserta isso para
você ficar feliz da vida
36. M***. Não deu certo!
Na verdade a Unity fez o
trabalho pela metade
Para resolver isso, vá ao
inspector da textura, e
marque a opção Create
from Grayscale
Aproveite e diminua o
bumpiness e troque o
filtering. Apply
37. Aeee nosso ogrão lindo!
Todo mapeado!
A cara do pai!
Veja que agora o bump map
foi transformado em um
normal map
38. Mapeamento x Performance
●
Embora as engines aceitem vários mapas de imagem por objeto, não quer
dizer que você pode sair usando isso indiscriminadamente
●
Mapas de imagem são usados para acrescentar detalhes aos modelos, de
modo que eles possam usar menos polígonos e ganhar performance no jogo
●
Mas se você usar mapas demais, a sua performance pode cair também
●
Por isso existe uma técnica para combinar alguns mapas, chamada Baking
– Qualquer tradução disso fica mega estranha, mas seria algo como assar, tipo você
põe todos os ingredientes, os mapas, leva no forno, e o software assa isso tudo junto
te dando um resultado único
39. Texture Baking
●
No Blender, o forno, digo, o
baking de texturas, fica no
painel de Render
●
Vá rolando para baixo até ver a
área de Bake, e clique no
triângulo para expandir
●
Nele você pode escolher os
mapas que você vai utilizar para
criar um mapa único
– Lembre-se que as luzes
influenciarão nesse resultado
40. Selecione o modelo que
você vai trabalhar, coloque
em Edit mode, selecione
todos os polígonos,
exatamente como você faz
para gerar um UV map
41. Clique no botão gigante,
Bake, e aguarde
Quanto mais polígonos,
luzes, e tamanho dos mapas,
mais tempo vai demorar
42. Neste exemplo eu desliguei
a luz principal e veja que o
mapa, em relação ao
anterior, perdeu essa luz
43. Por fim, eu apliquei o bump,
que eu havia removido
anteriormente apenas para
este exemplo, e fiz o
baking novamente
Veja que agora o novo mapa
traz o bump e a luz do lado
direito
44. Acrescente o mapa baked na
pasta de materiais e remova
os mapas anteriores
Arraste o novo
Veja que agora todos os
mapas, incluindo luzes e
oclusões, vem todos
em apenas um mapa, o
Albedo
45. É claro que isso tem um custo.
Os ogros acima, embora
compartilhem a mesma fonte de
luz, apresentam resultados opostos
Por isso escolha muito bem aonde
usar essas texturas
Dê preferência a cenários e objetos
que não se mexem