diff --git a/README.md b/README.md index 4ec0417..b76f793 100644 --- a/README.md +++ b/README.md @@ -211,71 +211,157 @@ Consulte a referência oficial de [Event Handlers](https://community.bohemia.net ## Modelos, LODs e Object Builder -O BRAF usa modelos `.p3d`, materiais `.rvmat`, texturas `.paa` e animações `.rtm`. A geometria visual não substitui automaticamente as geometrias de colisão, visão, balística, física ou navegação. +O BRAF usa modelos `.p3d`, materiais `.rvmat`, texturas `.paa` e animações `.rtm`. Um modelo não é apenas a malha visível: os LODs determinam renderização, visão, colisão, penetração, PhysX, flutuação, navegação, sombras e pontos de integração com a configuração. Uma malha que parece correta pode continuar sem colisão, deixar a IA enxergar através dela, tornar a tripulação invulnerável ou falhar na água. -O [Object Builder](https://community.bohemia.net/wiki/Object_Builder) faz parte do Arma 3 Tools e é utilizado para editar modelos, configurar LODs, propriedades nomeadas, materiais e visualizar o resultado com Buldozer. +O [Object Builder](https://community.bohemia.net/wiki/Object_Builder) é parte do Arma 3 Tools, sucessor do Oxygen 2, e cria, edita e grava P3D **não binarizado (MLOD)**. Ele não é uma ferramenta para editar um P3D binarizado de release. No BRAF, modelos, texturas, materiais e animações existentes continuam protegidos: esta documentação explica o fluxo, mas não autoriza substituir, recriar ou sobrescrever um binário sem escopo explícito. -### LODs principais +### Contrato entre P3D, `model.cfg` e `config.cpp` -| LOD | Função | Cuidados principais | +| Camada | Define | Deve coincidir com | |---|---|---| -| Resolution | Geometria visível em diferentes distâncias | Use LODs realmente diferentes e remova detalhes pequenos progressivamente; cópias idênticas não trazem ganho | -| View Pilot | Visão de piloto ou motorista | Deve refletir o que o ocupante realmente vê | -| View Gunner | Visão do atirador | Verifique torre, óptica, arma e animações relacionadas | -| View Commander | Visão do comandante | Verifique posição, escotilhas e instrumentos | -| View Cargo | Visão de passageiros | Verifique proxies e visibilidade dos ocupantes | -| Geometry | Colisão geral e interação com objetos sem PhysX | Componentes fechados, convexos e simples; a massa e o centro de massa importam | -| Fire Geometry | Colisão com projéteis e foguetes | Use geometria simplificada, materiais de penetração e proxies necessários para ocupantes | -| View Geometry | Oclusão e linha de visão | Deve bloquear corretamente visão do jogador e percepção da IA | -| Geometry PhysX | Colisão e simulação física de veículos | Mantenha simples; massa e distribuição de massa afetam diretamente o comportamento | -| Geometry Buoyancy | Volume de deslocamento de objetos flutuantes | Componentes convexos, simples e não intersectados; requer teste em água | -| Roadway | Superfície onde unidades caminham ou ficam | Não sobreponha Geometry; use superfície compatível e divida objetos muito grandes | -| Memory | Pontos de controle | Inclui armas, faróis, fumaça, escapamento, luzes, eixos e pivôs | -| LandContact | Pontos de contato com o solo | Essencial para veículos e comportamento de contato | -| Hit-points | Pontos de partes destrutíveis | Deve corresponder aos hitpoints declarados na configuração | -| Paths | Navegação da IA em interiores | Use pontos e seleções adequados ao espaço navegável | -| Shadow Volume | Sombra dedicada | Mantenha fechado, triangulado e separado por complexidade adequada | -| Wreck | Modelo ou geometria após destruição | Deve corresponder à propriedade de dano e à configuração do objeto | +| `.p3d` | LODs, seleções nomeadas, eixos, proxies, materiais, pontos do Memory LOD e geometria | nomes usados por `model.cfg`, `hiddenSelections[]`, `memoryPoint*`, torres, hitpoints e efeitos | +| `model.cfg` | `CfgSkeletons`, `CfgModels`, seções, ossos e animações do modelo | nome do P3D sem extensão, seleções, eixos e controladores reais | +| `config.cpp` / `.hpp` | `model =`, classe de veículo, `AnimationSources`, `hiddenSelections[]`, posições de entrada, turrets, hitpoints, efeitos e User Actions | caminhos, seleção, ponto de memória e fonte de animação existentes no modelo | +| `.rvmat` / `.paa` | material e aparência visual; material de dano no Fire Geometry | faces e seleções do LOD correto, além de caminhos com capitalização real | -A documentação oficial de [LOD](https://community.bohemia.net/wiki/LOD) descreve os tipos, limitações e fallback entre LODs. Os valores abaixo são orientações de trabalho, não substituem validação: +`CfgModels` é a interface entre o P3D e a engine: a classe deve usar o nome do arquivo do modelo sem `.p3d`, declarar suas `sections[]`, associar o `skeletonName` e conter as `Animations`. `CfgSkeletons` descreve cada osso e sua relação pai/filho. Já `AnimationSources` pertence à classe do objeto em `config.cpp`: ela fornece controladores nativos ou fontes `user` para as animações declaradas no `model.cfg`. A referência oficial de [Model Config](https://community.bohemia.net/wiki/CfgModels) detalha essa separação entre trabalho de arte e configuração. -- mantenha um único UV map quando a ferramenta e o asset exigirem isso; -- não trate `decimate = 0.5` como regra universal: preserve a silhueta e a função de cada LOD; -- use componentes `ComponentXX` fechados e convexos onde a engine exige geometria válida; -- a massa e a distribuição da massa são importantes para objetos PhysX; -- Fire Geometry precisa de material de dano/penetração apropriado; -- proxies de ocupantes devem existir nos LODs relevantes para evitar ocupantes invulneráveis ou invisíveis à IA; -- não presuma que Geometry, View Geometry e Fire Geometry podem compartilhar exatamente a mesma malha; -- valide o modelo no Object Builder/Buldozer e depois no jogo. +O repositório aplica esse contrato em várias famílias — `braf_air`, `braf_air2`, `braf_armored`, `braf_boat`, `braf_ships` e `source\braf_tracked` têm `model.cfg`. Um exemplo pequeno e útil é `braf_boat\BRAF_VLPV`: o `model.cfg` define esqueleto, `propeller`, `rudder`, `drivewheel` e `hatch`; `VLPV_base.hpp` declara a fonte `openhatch`, as seleções de textura e os pontos de água, motor, carga e entrada. Use-o para entender o vínculo entre os arquivos, não para copiar nomes ou propriedades para outro veículo. -### Named Properties +### Fluxo seguro no Object Builder -Named Properties são configuradas no Object Builder e normalmente devem ser escritas em minúsculas; a documentação de [Arma 3 Named Properties](https://community.bohemia.net/wiki/Arma_3%3A_Named_Properties) explica o comportamento da ferramenta e do binarizador. +1. Confirme que abriu a fonte MLOD correta e identifique o addon proprietário, o `model.cfg`, a classe de veículo e todos os consumidores antes de alterar qualquer seleção. +2. Trabalhe por LOD. Não use a Resolution LOD como substituta automática para Geometry, Fire Geometry, View Geometry, PhysX, Buoyancy ou Roadway. +3. Crie e mantenha seleções nomeadas para partes móveis, retexturáveis, hitpoints, proxies e eixos. Trate o nome como contrato: preserve grafia e capitalização já usadas pelo modelo e pela configuração. +4. Em LODs físicos, valide topologia antes de adicionar proxies: `Structure > Topology > Find Non-Closed`, `Close`, `Structure > Convexities > Find Non-Convexities` e `Component Convex Hull`; depois use `Structure > Check Faces` para localizar faces ou texturas inválidas. A referência de [Validating Geometries](https://community.bohemia.net/wiki/Validating_Geometries) descreve essas verificações. +5. Revise massa e distribuição de massa no Geometry LOD; em objetos PhysX elas afetam inércia, contato e estabilidade. +6. Use Buldozer como prévia visual de LODs, materiais, proxies e animações. Ele é configurado pelo Arma 3 Tools/P drive; a documentação oficial registra que iniciar o Object Builder diretamente pela Steam pode impedir a conexão com Buldozer. +7. Teste no jogo cada comportamento físico e de gameplay. Um P3D abrir no Object Builder ou renderizar no Buldozer não prova colisão, dano, PhysX, flutuação, Roadway, IA ou multiplayer. -Propriedades comuns incluem: +O Object Builder aceita P3D MLOD e outros formatos de importação, mas sua saída é P3D não binarizado. Não use isso como atalho para editar um asset de runtime, nem use packing ou binarização como teste de comportamento neste projeto. -- `lodnoshadow` para controlar sombra em LODs de resolução; -- `canocclude` e `canbeoccluded` para oclusão; -- `sbsource` para a fonte de sombra; -- `autocenter` e `reversed` quando o asset realmente precisa dessas propriedades; -- `aicovers` quando o objeto deve ser considerado cobertura pela IA; -- `buoyancy = 1` no Geometry LOD de objetos flutuantes. +### LODs de visualização e interior -Não adicione propriedades apenas por copiar outro modelo. Uma propriedade como `autocenter`, especialmente em veículos aquáticos, pode alterar o comportamento físico. O resultado só é considerado validado após teste do modelo no jogo. +O valor numérico de uma Resolution LOD não escolhe uma distância fixa no Arma 3. A engine seleciona LODs conforme distância, qualidade gráfica, carga e outras condições. Portanto, forneça níveis com complexidade realmente decrescente; cópias idênticas aumentam tamanho, memória e carregamento sem ganho. Proxies precisam existir em cada Resolution LOD onde devam aparecer, e uma seleção vazia usada por animação ou pela engine pode causar falha quando o LOD se torna ativo. Consulte [LOD](https://community.bohemia.net/wiki/LOD) para o comportamento de seleção. -### Geometry Buoyancy, Roadway e navios +| LOD | Responsabilidade | Verificação obrigatória | +|---|---|---| +| Resolution | Modelo externo visível; a Resolution LOD de maior detalhe deve preservar silhueta, materiais, seleções e proxies necessários | detalhe cai progressivamente, não há cópias idênticas, UV/material e proxies permanecem válidos | +| View Pilot | Interior visto por piloto/motorista | painel, visibilidade, mãos/controles, portas e partes ocultas não invadem a câmera | +| View Gunner | Interior e partes vistas pelo atirador | torre, arma, óptica, miras e eixos acompanham a posição do gunner | +| View Commander | Interior da posição do comandante | escotilhas, ópticas e instrumentos respeitam a câmera e a animação | +| View Cargo | Interior visto por passageiros | proxies de carga, posições, abertura de portas e visibilidade por assento | +| View Pilot/Gunner/Commander/Cargo Geometry e Fire Geometry | Geometria específica das posições internas quando a proteção, oclusão ou dano diferir por ocupante | teste primeiro pessoa, dano recebido e linha de visão em cada assento afetado | +| Shadow Volume / Shadow Buffer | Sombra dedicada nas resoluções próprias | não duplique LODs de mesma resolução, mantenha a forma simples e revise artefatos em luz forte | +| Wreck | representação após destruição, quando a classe/configuração a usar | modelo, material, hitpoints e transição de dano correspondem ao comportamento configurado | -Para embarcações e veículos anfíbios: +`LodNoShadow = 1` é a propriedade documentada para Resolution LODs. Para transparências que recebam sombras ambientais de modo incorreto, a BIKI indica `Forcenotalpha = 1` no Geometry LOD — nunca como correção automática para qualquer material alfa. Use a grafia da propriedade documentada ou já empregada pelo asset; não normalize propriedades por estética. -- o Geometry LOD deve conter a propriedade `buoyancy = 1` quando o objeto deve flutuar; -- o Geometry Buoyancy deve ser simples, convexo e sem interseções entre componentes; -- a massa do Geometry e a configuração do veículo devem ser coerentes; -- o PhysX Geometry e o Roadway devem ser testados separadamente; -- o Roadway não deve atravessar o Geometry de forma a causar tremores; -- navios longos podem precisar ser divididos em segmentos ou child P3Ds, cada um com geometria e roadway válidos; -- proxies visuais não substituem automaticamente a geometria física do objeto principal. +### LODs físicos, dano e visibilidade -Use as [Ships Config Guidelines](https://community.bohemia.net/wiki/Arma_3%3A_Ships_Config_Guidelines) junto com a inspeção dos P3Ds reais. Packing ou binarização não provam que flutuação, colisão, roadway ou ocupantes estão corretos. +| LOD | Responsabilidade | Regras práticas e riscos | +|---|---|---| +| Geometry | Colisão quando pelo menos um objeto não é PhysX; por exemplo, contato soldado-veículo | use `ComponentXX` consecutivos, componentes fechados e convexos, massa válida e espessura física suficiente; a engine usa massa e distribuição para inércia | +| Geometry PhysX | Malha de simulação física do veículo | mantenha muito simples, triangulada e coerente com o centro de massa; não a trate como cópia de alta fidelidade do visual | +| Geometry Buoyancy | Volume de deslocamento para embarcações e anfíbios | poucos componentes convexos, fechados, triangulados e sem interseções; volume e posição alteram a flutuação | +| Fire Geometry | Impacto de balas, foguetes e penetração | componentes fechados/convexos, material de dano/penetração aplicado, complexidade baixa; se ausente, a engine recorre a View Geometry e depois Geometry | +| View Geometry | Oclusão visual e linha de visão da IA | deve representar volumes que realmente bloqueiam visão; se ausente, Geometry é usada como fallback | +| Hit-points | vértices nomeados não conectados que localizam partes destruíveis | nomes, posição e espaçamento devem corresponder a `HitPoints` da classe e ao Fire Geometry | +| LandContact | vértices únicos de contato com solo | cada ponto precisa apoiar o veículo conforme sua simulação; não confunda com flutuação naval | + +Para Geometry e Fire Geometry, a validação de convexidade não é opcional. O Object Builder pode gerar `ComponentXX` por `Structure > Topology > Find Components`; valide antes de inserir proxies. A BIKI também recomenda manter o Geometry LOD dentro do limite de tamanho: a referência histórica aponta instabilidade em torno de 50–60 m a partir da origem para a geometria, com variação por contexto. Não use esse número como limite garantido; trate-o como gatilho para testar e, quando necessário, dividir a composição. + +Fire Geometry requer atenção adicional: + +- inclua proxies de motorista e passageiros nesse LOD quando a tripulação deve receber dano; sem eles, ocupantes podem se tornar invulneráveis; +- aplique material físico de dano/penetração, não apenas o `.rvmat` visual; +- mantenha faces e componentes simples; a referência BIKI cita menos de 3.500 pontos como orientação; +- evite placas de Fire Geometry quase sobrepostas: o passo de simulação do projétil pode ignorar a segunda camada. + +View Geometry não é decoração. Ela impede jogador e IA de enxergarem através do objeto. `canocclude` e `canbeoccluded` são propriedades de Geometry/View Geometry para casos específicos de oclusão; use-as somente quando a forma de oclusão não representar a forma visível, como vegetação perfurada. A página de [Named Properties](https://community.bohemia.net/wiki/Arma_3%3A_Named_Properties) deve prevalecer sobre valores copiados de outro modelo. + +### Memory, Roadway, Paths e proxies + +| LOD/elemento | Uso | Contrato de integração | +|---|---|---| +| Memory | pontos de arma, escapamento, fumaça, luz, efeito de água, entrada/saída, carga, câmera, PIP, eixo e ação | o texto em `memoryPoint*`, `memoryPoints*`, posição de User Action, torre ou efeito deve ser o nome da seleção do Memory LOD | +| Eixo no Memory | dois vértices com uma seleção nomeada formam eixo de rotação/translação | `axis =` de `model.cfg` deve apontar para essa seleção quando `memory = 1`; com `memory = 0`, o eixo pertence ao LOD do modelo | +| Roadway | superfície onde unidades ficam em pé e caminham | não pode sobrepor Geometry, ou o personagem oscila; é necessário abaixo de pontos de escada; textura da superfície também influencia o efeito sonoro de passos | +| Paths | rede de navegação de IA em interiores/estruturas | malha conectada, `posXX` para paradas e `inXX` para entradas; deixe folga de paredes e mantenha os caminhos cerca de 10 cm acima da superfície caminhável | +| Proxy | referência a outro P3D, ocupante, arma ou acessório | inclua-o nos LODs visuais em que deve aparecer e nos LODs físicos que realmente exigem sua presença; proxy visual não garante colisão, Roadway, dano ou PhysX | + +O Roadway torna uma superfície caminhável para unidades. Não deixe Roadway e Geometry ocuparem o mesmo volume; isso causa oscilação. A BIKI relata instabilidade para componentes do Roadway a aproximadamente 36 m da origem, variando com mapa/célula, e limite menor quando o Roadway contém elementos animados. Para plataformas, pontes e navios extensos, teste cada segmento e prefira uma composição de P3Ds menores quando a superfície exceder esse comportamento estável. + +Memory LOD é também a origem de muitas falhas aparentemente "de configuração". No BRAF, a classe de VLPV, por exemplo, aponta para pontos de efeito de água e motor, carga sling e entrada de piloto/carga. Um nome ausente ou em outra grafia resulta em efeito, entrada ou interação ausente. Partículas e certos pontos de arma podem ignorar deslocamento animado e usar a posição padrão do Memory LOD; confirme no jogo, não apenas no Buldozer. + +### `model.cfg`, esqueleto e animações + +| Elemento | Papel | +|---|---| +| `CfgSkeletons` | declara ossos e hierarquia pai/filho em `skeletonBones[]`; o filho acompanha a transformação do pai | +| `CfgModels` | associa o modelo ao `skeletonName`, declara `sections[]`/`sectionsInherit` e contém `class Animations` | +| `selection` | parte móvel ou osso/seleção existente no P3D | +| `axis`, `begin` e `end` | eixo local ou pontos que definem direção da animação; normalmente um eixo de dois pontos no Memory LOD | +| `source` | controlador nativo ou fonte declarada em `AnimationSources` no `config.cpp` | +| `memory` | informa se o eixo está no Memory LOD; o padrão documentado é verdadeiro | +| `minValue`, `maxValue`, `angle0`, `angle1` | mapeiam entrada do controlador para fase, rotação ou deslocamento | +| `sourceAddress` | define como entrada fora do intervalo é tratada, como loop, clamp ou espelhamento | + +Os tipos usuais são `rotation`, `rotationX/Y/Z`, `translation`, `translationX/Y/Z`, `hide` e `direct`. Para uma porta, torre, leme, hélice ou trem de pouso, confirme na sequência: seleção existe no LOD visível; a seleção física acompanha a animação quando necessário; eixo está no lugar e orientação corretos; `model.cfg` aponta para ambos; a fonte existe em `AnimationSources` ou é um controlador nativo; a ação, script ou sistema do veículo altera a mesma fonte. + +Se uma animação muda colisão ou proteção, copie a seleção para os LODs físicos atingidos, especialmente Geometry e Fire Geometry. Para animações de personagem, não trate `model.cfg` como substituto de `.rtm`, `CfgMoves` e `CfgGestures`: a referência de [Animations – Arma 3](https://community.bohemia.net/wiki/Arma_3%3A_Animations) separa animações simples de modelo das animações de estado de personagens. + +### Propriedades nomeadas + +Named Properties pertencem ao LOD, não à classe de veículo. Adicione somente uma propriedade com comportamento conhecido e aplicável ao tipo de asset. + +| Propriedade | LOD usual | Uso correto | +|---|---|---| +| `LodNoShadow = 1` | Resolution | controla contribuição de sombra da Resolution LOD; não pertence a Shadow Volume | +| `Forcenotalpha = 1` | Geometry | correção específica para artefato de sombra ambiente através de material alfa | +| `canocclude` / `canbeoccluded` | Geometry e View Geometry | ajusta participação na oclusão; útil apenas para formas cuja oclusão não representa o objeto visível | +| `buoyancy = 1` | **Geometry**, não Geometry Buoyancy | habilita o uso de Geometry Buoyancy para barcos e anfíbios | +| `autocenter` | Geometry, quando o tipo de modelo exigir | altera referência/origem física; nunca defina `0` ou `1` por cópia, nem use como solução genérica de flutuação | +| `aicovers`, `sbsource`, `reversed` e outras | somente no LOD e caso documentados para o asset | mantenha a semântica existente e confirme na BIKI/vanilla antes de introduzir | + +Não existe conjunto universal de properties para todos os modelos. Em especial, propriedades de origem e massa podem ter efeitos opostos entre acessórios, veículos terrestres, aeronaves, barcos e estruturas. Uma alteração de `autocenter`, `buoyancy`, material físico ou componentes de Geometry exige inspeção do P3D real e teste no jogo. + +### Embarcações, anfíbios e navios + +Para `braf_boat`, `braf_ships` e qualquer veículo anfíbio: + +- coloque `buoyancy = 1` no **Geometry LOD**, não no Geometry Buoyancy; +- modele Geometry Buoyancy com poucas faces, componentes convexos e fechados, triangulação válida e sem volumes internos, interseções ou contatos desnecessários entre componentes submersos; +- faça a forma e o volume do LOD de buoyancy se aproximarem do casco que desloca água; massa e centro de massa do Geometry precisam ser coerentes com esse deslocamento; +- mantenha Geometry PhysX separado da geometria visual e teste massa, estabilidade, contato, inclinação e dano em água; +- mantenha efeitos de motor abaixo da linha d'água quando a configuração do veículo assim exigir; pontos de água, propulsão e esteira também são Memory points que precisam coincidir com a configuração; +- não use LandContact como evidência de que o navio flutua: o comportamento na água depende de Geometry, PhysX e Buoyancy; +- trate cada seção de uma embarcação modular como unidade física própria. Proxies podem resolver a aparência, mas não substituem Geometry, Fire Geometry, View Geometry ou Roadway válidos em cada área onde esses comportamentos são necessários. + +A documentação de [Ships Config Guidelines](https://community.bohemia.net/wiki/Arma_3%3A_Ships_Config_Guidelines) alerta que navios grandes pressionam limites de tamanho, vértices, luzes, PhysX e Roadway. Como orientação, uma embarcação acima de aproximadamente 100 m pode exigir divisão em P3Ds/componentes menores. Isso não é uma licença para fragmentar qualquer modelo: primeiro defina a responsabilidade de cada seção, suas origens, LODs físicos e critérios de teste. Nunca conclua que uma composição funciona apenas porque o visual aparece. + +### Diagnóstico por sintoma + +| Sintoma | Camada a investigar primeiro | +|---|---| +| modelo aparece, mas pessoa atravessa ou colide de forma errada | Geometry, componentes convexos, massa, Geometry PhysX e tamanho/origem | +| bala atravessa blindagem ou ocupante não recebe dano | Fire Geometry, material de penetração, proxies de ocupante, Hit-points e configuração de dano | +| jogador ou IA enxerga através do objeto | View Geometry, `canocclude`/`canbeoccluded` e LOD de visão da posição afetada | +| personagem cai, vibra ou não caminha no convés | Roadway, sobreposição com Geometry, distância da origem, escadas e Paths | +| porta, torre, leme ou hélice não anima corretamente | seleção, eixo, `memory`, `CfgSkeletons`, `CfgModels`, `AnimationSources` e fonte usada pela classe | +| luz, fumaça, entrada, arma ou efeito de água está ausente | seleção no Memory LOD e string exata da propriedade `memoryPoint*`/`memoryPoints*` | +| barco afunda, inclina ou muda comportamento após dano | `buoyancy = 1`, Geometry Buoyancy, massa/distribuição, Geometry PhysX, volumes intersectados e configuração naval | +| textura variante não troca | seleção no P3D, `sections[]` do `model.cfg`, `hiddenSelections[]`, material e caminho real do asset | + +### Validação mínima antes de considerar um modelo pronto + +1. **Mapa de contratos:** confirme caminho do P3D, classe `CfgModels`, `skeletonName`, seções, seleções, eixos, proxies, `AnimationSources`, `memoryPoint*`, hitpoints e materiais. +2. **Object Builder:** revise LOD por LOD, named properties, massa, componentes, faces e topologia. Valide Geometry e Fire Geometry antes de inserir proxies. +3. **Buldozer:** percorra Resolution, todas as câmeras internas, sombras, materiais, proxies e cada fase de animação. +4. **Jogo:** teste colisão soldado/veículo, impacto e dano da tripulação, linha de visão da IA, assentos, torres, portas, efeitos, hitpoints, Roadway, Paths e, quando aplicável, PhysX, água e flutuação. +5. **Relato honesto:** diferencie checagem textual, validação estrutural no Object Builder, prévia no Buldozer e evidência no jogo. Binarização, packing ou geração de PBO não provam nenhum desses comportamentos — e não são executados como validação neste repositório. + +Referências oficiais: [Object Builder](https://community.bohemia.net/wiki/Object_Builder), [LOD](https://community.bohemia.net/wiki/LOD), [LOD resolutions](https://community.bohemia.net/wiki/LOD_resolutions), [Model Config](https://community.bohemia.net/wiki/CfgModels), [Animations – Arma 3](https://community.bohemia.net/wiki/Arma_3%3A_Animations), [Named Properties – Arma 3](https://community.bohemia.net/wiki/Arma_3%3A_Named_Properties), [Validating Geometries](https://community.bohemia.net/wiki/Validating_Geometries) e [Ships Config Guidelines](https://community.bohemia.net/wiki/Arma_3%3A_Ships_Config_Guidelines). ## Texturas, materiais, sons e caminhos