Tutorial de um prop simples

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Tutorial de um prop simples

Mensagem por EduRenesto em Sab Set 13, 2014 3:33 pm

Oe pessoas, blz?
Meu primeiro tpc no forum, vou ensinar a compilar models pra serem usados como props em qualquer jogo Source, mas aqui faremos para o Gmod. Eu fiz meu addon de Whey mais ou menos desta maneira :3

Comecemos.

Requisitos:


Etapa 1: Instalar os Source Tools
É provavelmente a etapa mais simples :v
Depois de baixar o Blender Source Tools do site da Válvula, no Blender vá em File -> User Preferences. Na janela que aparecer, clique em "Addons" e depois em "Install From File..." e selecione o arquivo que você baixou.
GG IZI.

Etapa 2: Modelar e arrumar os materiais
Essa é a etapa mais difícil, e você já deveria saber fazer isso neste tutorial. Se você não sabe, tem MUITOS tutoriais disso na Internet, em português e inglês.
Aqui está o meu prop que usaremos nesse tutorial, uma "estante" pra cozinha do Leo Stronda:


Preste atenção nos materiais - cada material que você fez no Blender será um par de .vtf's e .vmt's.

Etapa 3: Exportando para a Source Engine e o .QC
Antes de começar esse passo, você precisa entender a estrutura dos arquivos(e diretórios) de um jogo Source:
.../SteamApps/common/GarrysMod/garrysmod/models = a pasta em que os modelos irão;
.../SteamApps/common/GarrysMod/garrysmod/materials/models = a pasta dos materiais do nosso prop;

Também, um modelo(em sua forma mais inofensiva) é composto de dois arquivos:

  • nomedomodel.smd: o modelo em si;
  • nomedomodel.qc: o arquivo que "descreve" o model pra Source.


O .smd é o mais fácil: com o seu modelo pronto, vá na aba "Scene" no lado direito do Blender, selecione o formato "SMD" e arrume o caminho de exportação, depois mande ele exportar. Difícil? É só seguir a imagem:


Agora, vá na pasta de exportação e renomeie o arquivo para algo diferente, começando com uma letra minúscula. OU NEM MUDE O NOME

Vamos para o .qc. Na mesma pasta do .smd, crie um arquivo nomedomodel.qc com um editor de texto(não processador de texto, é bem diferente). Pode ser qualquer um, como o Bloco de Notas, o Notepad++ ou outros. Aqui, estou usando o Sublime Text(uma delícia de editor).

Primeiramente, cole isso no arquivo:
Código:

$modelname "pasta_destino\modelo.mdl"
$scale 1.00
$staticprop
$cdmaterials "models\pasta_destino"

$body "Body" "modelo.smd"

$sequence seq-name "modelo.smd" loop fps 30 ACT_IDLE 1

$surfaceprop "plastic"

$collisionmodel "modelo.smd" {
 $concave
 $mass 02.27
}

Agora vamos editando:
Código:
$modelname "pasta_destino\modelo.mdl"
: aonde o modelo vai ficar. por exemplo, "cozinha\estante.mdl" ficaria em .../SteamApps/common/GarrysMod/garrysmod/models/cozinha/estante.mdl

Código:
$scale 1.00
: é a escala do blender para a source. Eu geralmente escalo 10 vezes no Blender, mas você pode fazer o modelo normalmente e colocar a $scale 10.00.

Código:
$staticprop
: é meio óbvio :v A Valve diz que isso é pra questões de performance

Código:
$cdmaterials "models\pasta_destino"
: a mesma coisa que o $modelname, só que pros materiais. Ex: "$cdmaterials "models\cozinha" significa que os materiais estão em .../SteamApps/common/GarrysMod/garrysmod/materials/models/cozinha".

Código:
$body "Body" "modelo.smd"
: define o modelo em si. o "modelo.smd" é o nome do arquivo que o Blender exportou, lembre-se disso!

Código:
$sequence seq-name "modelo.smd" loop fps 30 ACT_IDLE 1
: define a animação. Já que estamos fazendo um static prop, sem animações, podemos definir a animação como o próprio modelo!

Código:
$surfaceprop "plastic"
: é uma das coisas mais legais pra mim da Source. Você pode escolher qualquer um desses!

Código:

$collisionmodel "whey.smd" {
 $concave
 $mass 02.27
}
Bom, aí nós declaramos o modelo de colisão do prop. O $collisionmodel, novamente, é o nosso próprio model; $concave diz que é côncavo e o $mass declara o peso do prop, em kilos.

Acabamos o QC! Agora...

Etapa 4: .VMTs e .VTFs

Vamos resumir:

  • VMT: Valve Material, declara o material;
  • VTF: Valve Texture File, declara a textura em si.

    Primeiro, abra o VTFEdit e clique em Options e marque o "Auto Create VMT file".


    Agora, vá em File -> Import e selecione o arquivo de textura que você usou. Na janela seguinte, apenas clique em OK.

    Perfeito.

    Agora, salve em algum lugar. Repita o processo para o Normal Map, se você estiver usando.
    OBS: Lembra o nome do material lá no Blender? Esse arquivo representará a textura, entao seu nome deve ser o mesmo do material! No caso da minha estante, vou chamá-lo de wood.vtf. Também, repita o processo para todos os materiais do seu prop.

    Agora, abra o .vmt que o VTFEdit criou. Modifique-o para algo assim:
    Código:
     
    "vertexlitgeneric"
    {
     "$basetexture" "models/pasta_destino/material"
    }
    Por exemplo, o material "wood" da minha estante ficaria
    Código:

    "vertexlitgeneric"
    {
     "$phong" "1"

     "$basetexture" "models/cozinha/wood"
     "$bumpmap" "models/cozinha/wood_n"

     "$phongboost" "1.0"
     "$phongfresnelranges" "[0 0.5 1]"
    }
    Tem coisa a mais, mas foque no $basetexture. Agora....

    Compilando!
    É a parte final. Abra o GUIStudioMDL, e na primeira vez ele pedirá o caminho dos binários do Orange Box e do EP1, só siga as instruções. Então, em "Target mod or "GameInfo" path" clique em "Add" e navegue até ...SteamApps/common/GarrysMod/garrysmod/gameinfo.txt.


    Agora, carregue o .qc em File -> Load .qc File. Clique em Compile e....

    PRONTO
    Desculpe, ainda não

    Copie os .vmt's e .vtf's para a pasta que você colocou no $cdmaterials. Agora sim, pronto!

    Resultado:


    Agradecimentos especiais:

    • M4n0Cr4zy - ele me ajudou a entender os materials na Source Engine
    • Equipe Null - ah Null, minha querida Null Very Happy


avatar
EduRenesto
Usuário
Usuário

Inscrição : 13/09/2014

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Tutorial de um prop simples

Mensagem por Xalalau em Ter Dez 16, 2014 6:05 pm

Puxa!! Belo tutorial!! Não sei como eu deixei de ver isso... Indexei no blog. Muito obrigado.
avatar
Xalalau
Admin
Admin

Inscrição : 07/05/2012
Idade : 25
Localização : Rio de Janeiro

Ver perfil do usuário http://mrxalalau.blogspot.com.br/

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum