Roupa é uma das coisas mais satisfatórias de modar, porque aparece vestida no seu personagem e nos zumbis. Também é a que tem mais armadilhas. Este guia saiu da criação de Catimbas (89 tênis), Jockies (46 bonés; no Chile, jockey é boné), Buzitos (buzos, os moletons/agasalhos chilenos) e Telezombies.
As três peças de uma roupa
- O item (script
.txt), comItemType = base:clothing, onde ele é vestido (BodyLocation) e qual peça visual usa (ClothingItem):
item Nike_AirForce1_White
{
DisplayCategory = Clothing,
ItemType = base:clothing,
BodyLocation = base:shoes,
BloodLocation = Shoes,
ClothingItem = Nike_AirForce1_White,
Icon = Nike_AirForce1_White,
WorldStaticModel = Nike_AirForce1_White_Ground,
}Os valores possíveis de BodyLocation estão na referência de BodyLocations.
- A peça visual, um XML em
media/clothing/clothingItems/que diz qual modelo e qual textura usar. - O registro do GUID em
media/fileGuidTable.xml, que liga o XML a um identificador único.
Modelo 3D ou pintada sobre o corpo?
Nem toda roupa do jogo é um modelo 3D. Isso define quanto trabalho o seu mod vai dar:
| Tipo | Como funciona no jogo | O que fizemos |
|---|---|---|
| Camisetas (poleras, no Chile) | São pintadas sobre a textura do corpo (256×256) | Fútbol Chileno Z: escudos pintados no peito |
| Sapatos vanilla | Também são pintados sobre o pé | Catimbas: fizemos modelos 3D próprios para o logo aparecer |
| Bonés e chapéus | São modelos 3D do jogo | Jockies: reaproveitamos o modelo do boné e só trocamos a textura |
| Jaquetas e calças | Modelos 3D que usam o UV do corpo | Buzitos: reaproveitamos as malhas do agasalho vanilla com texturas novas |
Reaproveitar um modelo do jogo e trocar a textura é, de longe, o caminho mais rápido.
O erro dos buracos: m_MasksFolder
Sintoma: a roupa fica perfeita no chão e no inventário, mas vestida faltam pedaços, como lâminas que não fecham. Com calça por cima é pior.
Causa: o jogo recorta cada peça com "máscaras" para que não apareça o que as peças de cima cobrem. Essas máscaras são desenhadas para o UV do corpo. Se o seu modelo tem um UV próprio (um tênis, um capacete), os recortes caem em lugares aleatórios.
Solução: no XML da peça:
<m_MasksFolder>none</m_MasksFolder>Antes de descobrir isso, tentamos inverter as faces e fazer a malha com dupla face. Nada disso era o problema.
Texturas: textureChoices ou m_BaseTextures
No XML da peça:
- Se a peça tem modelo, a textura vai em
<textureChoices>. Se você colocar em<m_BaseTextures>e alguém largar a peça no chão, o console se enche de erros. <m_BaseTextures>é só para roupa sem modelo que é pintada sobre o corpo (como uma camiseta ou um macacão inteiro).
Modelos 3D rígidos
- Formato: o jogo lê
.x(texto) e.fbx. Nós geramos.xcom Python ou exportamos do Blender. - Pesos do esqueleto: para um objeto rígido (sapato, capacete), faça ele seguir um único osso. Se você copiar os pesos da pele, ele estica feito borracha ao dobrar o tornozelo.
- Teste vestido dentro do jogo. Os renders do Blender não aplicam as máscaras nem as poses reais, então muitos problemas só aparecem dentro do jogo.
Vestir os zumbis
Para a sua roupa aparecer nos zumbis, você define um outfit em media/clothing/clothing.xml e registra ele no ZombiesZoneDefinition. Foi assim que fizemos Telezombies e Fútbol Chileno Z.