Mudanças entre as edições de "Godot Engine: Personagens 3D"

De Aulas
Linha 1: Linha 1:
 +
  
  
Linha 58: Linha 59:
 
Agora estamos prontos pra criar nosso game.
 
Agora estamos prontos pra criar nosso game.
  
 +
== Cenas e Nós ==
 
Vamos então pra estrutura de Cenas:
 
Vamos então pra estrutura de Cenas:
  
Linha 64: Linha 66:
 
*** MeshInstance - Mesh: CubeMesh; Material: SpatialMaterial... Albedo: Texture: ground.jpg; UV1: 30, 20, 10
 
*** MeshInstance - Mesh: CubeMesh; Material: SpatialMaterial... Albedo: Texture: ground.jpg; UV1: 30, 20, 10
 
*** CollisionShape - Shape: BoxShape
 
*** CollisionShape - Shape: BoxShape
*** Camera
+
*** Camera (''script)''
* '''Player (KinematicBody):'''
+
*** Player (LINK)
 +
*** Box (LINK)
 +
*** Box ...
 +
* '''Player (KinematicBody):''' ''(script)''
 
** Object (praticing01_complete)
 
** Object (praticing01_complete)
 
** CollisionShape - Shape: CilinderShaper
 
** CollisionShape - Shape: CilinderShaper
 
** Camera - Current: Active
 
** Camera - Current: Active
 
* '''Box (RigidBody):'''
 
* '''Box (RigidBody):'''
** MeshInstance - Mesh: CubeMesh/ Material SpatialMaterial... Albedo: Texture: box.jpg; UV1: 3, 2, 1
+
** MeshInstance - Transform: Scale: 0.5, 0.5, 0.5; Mesh: CubeMesh/ Material SpatialMaterial... Albedo: Texture: box.jpg; UV1: 3, 2, 1
** CollisionShape - Shape: BoxShape
+
** CollisionShape - Shape: BoxShape; Transform: Scale: 0.5, 0.5, 0.5
 +
 
 +
== Scripts ==
 +
Agora temos nossos scripts pra fazer as coisas funcionarem.
 +
 
 +
=== Script do Player ===
 +
 
 +
=== Script da Câmera do World ===

Edição das 15h20min de 25 de novembro de 2022




Afluentes : Jogos Digitais, Usabilidade, desenvolvimento web, mobile e jogos

Screenshot

Resultado do exercício em execução no Godot Engine.

Assets

Bem, eu não trabalho como desenhista 3D e minha prática nisso ficou lá na década de 90. De qualquer forma, o processo de desenvolvimento de games envolve uma grande variedade de profissionais e nenhum desses precisa saber fazer tudo. Então eu, como programador, pego modelos prontos para usar nos games.

Para esse exercício eu pesquisei modelos de personagens 3D no site https://opengameart.org. Queria um modelo já com várias animações e o que achei mais completo nisso, sem uma pesquisa muito aprofundada, foi esse: https://opehttps://opengameart.org/content/quechanngameart.org/content/quechan. Então fica aqui os créditos aos autores.

A textura pra caixa peguei em na Adobe Stock, mais especificamente aqui e a textura do chão, peguei na pngtree, aqui.

De qualquer forma, os assets podem ficar indisponíveis por diversos motivos, então coloquei no meu site pra download para usarem nesse exercício. Segue os links:

Importando o Modelo do Blender para o Godot

O modelo aqui usado está no formato de arquivo do Blender, então precisamos ter o programa instalado no nosso computador e usá-lo para fazer a importação para o Godot. Para isso descompacte o arquivo do modelo que você achou e abra ele no Blender.

Modelo 3D aberto no Blender. Nesse printscreen eu selecionei No menu superior a opção Animation pra poder ver as animações disponíveis.

Certo, depois de aberto, selecionei no menu superior a opção Animation para ver as animações disponíveis. Como tinha bastante coisa legal, acabei escolhendo esse modelo. Eu preferia que a personagem estivesse de roupas, mas não sei fazer isso, então vamos usar o modelo assim mesmo.

O próximo passo é selecionar os elementos da personagem pra exportação na direita:

Selecionando elementos pra exportação.

E depois ir no menu superior e selecionar:

  • File..., Export..., glTF 2.0...

Na janela de exportação vai ter várias opções. Vamos ter que selecionar algumas delas. Então vamos selecionar algumas delas:

Exportação: Janela de seleção.

Observem que no lado direito tem algumas opções. Então vamos em cada uma delas selecionar alguns elementos:

Include.

Em Include, vamos selecionar o checkbox Selected Objects.

Transform.

Na opção Transform, deve estar selecionado o +Y UP. Caso não estiver selecionado, então selecione.

Geometry

Em Geometry, selecione Apply Modifiers.

Animation

E, por fim, em Animation, selecione a sub-opção Animation e lá selecione a opção Export Deformation.

E pronto, salve o arquivo em alguma pasta fácil de localizar porque depois vamos importar no Godot.

Projeto no Godot

Agora abra o Godot e crie um projeto:

Criando o projeto no Godot

Pra gente começar a se organizar melhor, vamos criar quatro pastas: scene, texture, model e code. Assim a gente separa cada tipo de arquivo em uma pasta diferente.

Pastas

Agora que separamos as pastas. Vamos arrastar o arquivo exportado do Blender lá pra pasta do projeto chamada model.

Pasta model.

Você pode dar dois cliques no arquivo practicing01_complete.glib ali na pasta para poder ver as animações disponíveis. Quando ele der uma janela de diálogo, mande abrir como Novo Herdado, mas não salve o arquivo. É apenas pra gente visualizar.

Godot importação (AnimationPlayer)

Agora estamos prontos pra criar nosso game.

Cenas e Nós

Vamos então pra estrutura de Cenas:

  • World: (Spatial):
    • Ground (StaticBody) - Spatial: Transform: Scane: 15, 1, 15
      • MeshInstance - Mesh: CubeMesh; Material: SpatialMaterial... Albedo: Texture: ground.jpg; UV1: 30, 20, 10
      • CollisionShape - Shape: BoxShape
      • Camera (script)
      • Player (LINK)
      • Box (LINK)
      • Box ...
  • Player (KinematicBody): (script)
    • Object (praticing01_complete)
    • CollisionShape - Shape: CilinderShaper
    • Camera - Current: Active
  • Box (RigidBody):
    • MeshInstance - Transform: Scale: 0.5, 0.5, 0.5; Mesh: CubeMesh/ Material SpatialMaterial... Albedo: Texture: box.jpg; UV1: 3, 2, 1
    • CollisionShape - Shape: BoxShape; Transform: Scale: 0.5, 0.5, 0.5

Scripts

Agora temos nossos scripts pra fazer as coisas funcionarem.

Script do Player

Script da Câmera do World