getModelCollision
Lê a colisão que um modelo usa no momento — a dele, uma definida com setModelCollision, ou uma substituta carregada com engineLoadCOL — como uma tabela de formas.
Sintaxe
Seção intitulada “Sintaxe”table getModelCollision ( number/string modelo )Parâmetros
Seção intitulada “Parâmetros”| Nome | Tipo | Descrição |
|---|---|---|
modelo | number/string | Modelo a ler. Ao contrário de setModelCollision, não fica restrito a modelos de objeto: o que volta é a colisão que o modelo tem carregada. |
Retorno
Seção intitulada “Retorno”Uma tabela com o mesmo layout que setModelCollision recebe:
| Chave | Conteúdo |
|---|---|
spheres | Uma tabela por esfera: position (3 números), radius, material, day, night, brightness. |
boxes | Uma tabela por caixa: min, max, material, day, night, brightness. |
lines | Uma tabela por linha: start, startSize, stop, stopSize. |
vertices | Uma tabela de 3 números por vértice. |
triangles | Uma tabela por triângulo: os três índices de vértice nos campos 1, 2 e 3 (contando a partir de 0, dentro de vertices), mais material, day, night. |
shadow | A malha de sombra: vertices e triangles nas mesmas formas de cima. |
bounds | min, max, center (3 números cada) e radius do volume delimitador do modelo. |
false, com o motivo escrito no console de debug, quando o modelo é desconhecido ou não tem colisão carregada.
As coordenadas dos vértices ficam guardadas comprimidas dentro da colisão, então os valores podem voltar levemente arredondados.
Exemplo
Seção intitulada “Exemplo”local colisao = getModelCollision(1223)if colisao then outputDebugString("caixas: " .. #colisao.boxes .. ", raio: " .. colisao.bounds.radius)endVeja também
Seção intitulada “Veja também”setModelCollision— Dá a um modelo uma colisão construída a partir de uma tabela de formas.engineLoadCOL— Carrega um arquivo de colisão.engineReplaceCOL— Troca a colisão de um modelo.engineRestoreCOL— Devolve a colisão original de um modelo.