Nesse tutorial você vai aprender os comandos básicos e vai ter uma ideia de como a Grit Engine funciona.
Pastas/Arquivos:
- Playground é só um mapa.
- Pasta Tools contém executáveis para poder converter e manipular arquivos de modelos e esqueletos (.mesh, .skeleton)
Se você acabou de baixar a engine e tentou inicia-la já deve ter percebido, que ao abri-la, a única coisa visível é uma tela meio azulada com um prompt de comando.
Pois bem, por padrão a engine não carrega apenas o básico para estar funcionando (e algumas classes de assets adicionais), caso você queira deixar ela carregando automaticamente um mapa você pode seguir esse tutorial:
Grit Engine | Organizando projeto
Grit Engine | Organizando projeto
Para facilitar o aprendizado eu sugiro que siga este mesmo tutorial do link para deixar sua engine um pouco mais limpa.
Agora com a engine limpa, vamos começar explicando como ela funciona. Como você pode ver na imagem a seguir, a base dela é composta por algumas pastas e arquivos:
Pastas/Arquivos:
- Pasta common possui a maioria dos arquivos "comuns", como alguns exemplos de objetos, hud, partículas, sons, Materiais Físicos, fontes.. mas também possuem a declaração de objetos básicos e fundamentais como objetos sem colisão e com colisão, muito utilizados na engine.
- Playground é só um mapa.
- Pasta system é a pasta principal do sistema. Ela contém a inicialização de todo o sistema em LUA, iniciando pelo arquivo init.lua e percorrendo todos os outros scripts lua da mesma pasta, onde são inicializados todos os comandos básicos, declaração de shaders e tudo mais.
- Pasta Tools contém executáveis para poder converter e manipular arquivos de modelos e esqueletos (.mesh, .skeleton)
- Pasta vehicles possui alguns veículos de exemplo. (Se você quer elimina-la do sistema é necessário apenas comentar a linha "include `/vehicles/init.lua` " do arquivo init.lua dentro da pasta system)
- Arquivo cg.dll é responsável pelos shaders da engine.
- Arquivo Grit.dat é a executável da engine em si, apenas renomeada de .exe para .dat.
- A executável Grit.exe é o inicializador da engine, ele é responsável por gerenciar os logs que o Grit.dat gera.
- Arquivos icu...dll dão suporte Unicode para engine.
- Arquivo OpenAL32.dll é a biblioteca de áudio.
- Caso você já tenha iniciado a engine alguma vez: user_cfg.lua contém configurações suas para engine.
Comandos:
O painel de comandos da Grit pode ser ativado/desativado pressionando a tecla Tab.
Principais comandos:
include
include "init.lua"
Carrega um script .lua e executa todos os seus comandos ou declarações. Enquanto você executa a engine, você pode alterar seu script salva-lo e então inclui-lo novamente e poderá ver em tempo real as suas alterações.
place
place "/common/props/road/TrafficCone"
Cria um objeto na posição em que a câmera esta apontando
object
object "/common/props/road/TrafficCone" (vector3(0, 0, 10)) { rot=qaut(1, 0, 0, 0), valorx=10 }
Cria um objeto em determinada posição e rotação, pode definir valores para o objeto dentro do {}
safe_destroy
safe_destroy(meuobjeto)
Serve para apagar objetos ou elementos.
Dados:
Grit funciona com scripts LUA, que é uma linguagem de script dinamicamente tipada, mas Grit além dos dados nativos possui algumas estruturas adicionais. Veja algumas delas:
Nativos lua: (são apenas exemplos de uso)
Exclusivos Grit:
Dados:
Grit funciona com scripts LUA, que é uma linguagem de script dinamicamente tipada, mas Grit além dos dados nativos possui algumas estruturas adicionais. Veja algumas delas:
Nativos lua: (são apenas exemplos de uso)
variavel = {} -- Cria uma tabela
variavel = 10 -- torna-se uma variável inteira
variavel = 10.5 -- torna-se uma variável de ponto flutuante
variavel = "palavra" -- torna-se uma variável string
variavel = {} -> variavel[0] = "palavra" -- torna-se um vetor que contém uma string
variavel[0] = {} -- torna-se um vetor que possui uma tabela
variavel[0].subvariavel = {} -- torna-se um vetor que possui uma variavel que é uma tabela
true, false -- valores booleanos
nil -- valor nulo
...
Veja mais sobre LUA aqui: LUA.ORGExclusivos Grit:
vector3(1, 1, 1) -- uma estrutura de vetor de três elementos, normalmente utilizado para posições em ambientes tridimensionais ou também para representar cores (r, g, b)
quat(1, 0, 0, 0) -- usado para rotações do tipo quaternion para objetos
euler(0, 0, 0) -- usado para rotações do tipo euler para objetos
vec, ou vec2 -- vetores usados nas classes de HUD da Grit
...
Mais: Grit Book
A base é muito simples, nos próximos posts vamos ver comandos mais detalhados trabalhando com elementos mais específicos.
Um abraço e até a próxima!
Um abraço e até a próxima!

0 comentários:
Postar um comentário