Props · 4 min de leitura
Prop do FiveM sem colisão? Por que os jogadores atravessam
Ler em: English · Español · Français · Deutsch · Italiano · Polski · Türkçe · Русский

Você spawna seu prop personalizado e atravessa andando. Ou carros passam por ele, balas o atravessam, ou ele fica flutuando a uma mão do chão. Tudo isso se resume à colisão do prop: a forma invisível que o jogo usa para a física, separada do modelo que você vê.
Onde fica a colisão de um prop
Um prop que você spawna com CreateObject carrega sua colisão dentro do próprio modelo, o .ydr (ou .yft). É assim que os props do jogo fazem: dos 11.410 props do jogo cujo archetype nomeia um dicionário de física, 11.352 têm a colisão dentro do modelo. Um .ybn é outra coisa: é assim que mapas e MLOs carregam a colisão fixa deles, a de um mapa em coordenadas do mundo, a de um interior no lugar onde o interior é posicionado.
Então, quando um prop personalizado não tem colisão, costuma ser uma destas causas:
- O modelo não tem. Foi exportado sem ela (comum em modelos convertidos de outros jogos ou feitos direto no Blender).
- O
.ytypnão a nomeia. O archetype tem umphysicsDictionary; sem ele o jogo desenha o prop mas não usa a colisão dele. - Ela não bloqueia o que você espera. Cada parte da colisão diz com o que ela colide. Em 8.000 props do jogo que analisamos, 7.176 partes de colisão estão configuradas para parar só tiros e a câmera. Pelas flags delas, uma colisão feita só de partes assim deixa jogadores e carros passarem.
- É o formato errado. Uma envoltória convexa não pode ter buracos: ela preenche o espaço embaixo de uma mesa ou dentro de um arco.
Por que um prop flutua ou afunda
O CreateObject coloca a origem do prop nas coordenadas que você informa. Se a origem estiver no meio do modelo, metade dele fica abaixo do chão; se a colisão descer abaixo do modelo, o prop se apoia nela e parece flutuar. Um prop sem nenhuma colisão cai através do chão se não estiver congelado.
Veja a colisão primeiro
Arraste o .ydr (ou .yft) com o .ytd para o Model Inspector e ative Collision: ela é desenhada sobre o modelo, colorida por superfície, ao lado do ped freemode. A seção do modelo diz qual colisão ele tem, ou "none inside" (nenhuma dentro), e onde fica a origem dele: embaixo, em cima ou alguns metros acima da base. É grátis e não altera nada.
Adicione ou corrija
Abra o prop no Prop Collision Editor: arraste o .ydr ou .yft, com o .ytd para ver as texturas e o .ytyp se você tiver. Ou escolha um prop do jogo pelo nome para começar a partir dele.
- Fit to the model (ajustar ao modelo) para um encaixe rápido, ou adicione partes à mão: + Box (caixa), + Sphere (esfera), + Capsule (cápsula), + Cylinder (cilindro). Mova, gire e dimensione cada uma sobre o modelo.
- Para uma parte só do modelo (o tampo de uma mesa, uma perna), use Pick triangles (escolher triângulos) e depois Fit to the picked triangles (ajustar aos triângulos escolhidos).
- Dê a cada parte uma Surface (o som dela, as marcas e a poeira ao ser atingida) e defina What hits it (o que a atinge): Everything (tudo) para um prop sólido, ou Shots and camera only (só tiros e câmera), Not vehicles (não veículos) e os outros se quiser menos.
- Baixe. Se você também arrastar o
.ytyp, recebe um.zipcom o modelo e o.ytyp, cuja caixa cresce para abrigar a colisão se ela sair para fora.
As partes que você não tocou voltam exatamente como estavam. Num .yft (um prop quebrável ou uma peça de veículo) você pode mover e redimensionar as peças que ele tem, mas não adicionar ou remover nenhuma, nem mudar o que elas atingem.
Está fazendo o prop você mesmo?
Se o prop vem de um .glb, defina a colisão na hora de criá-lo: o GLB to Prop tem Fitted (convex hull), Its own triangles para props e pisos por onde se anda, Box around it e None, e escreve o .ytyp com o dicionário de física. (A conversão completa.)
Perguntas
- Posso simplesmente pôr um .ybn ao lado do meu prop?
- Um
.ybné colisão fixa para um mapa ou interior, colocada onde o mapa está. Um prop que você spawna se move com a própria colisão, que fica dentro do.ydrou.yftdele. - Meu prop tem colisão, mas os carros passam por ele. Por quê?
- Quase sempre as partes dele estão configuradas para não colidir com veículos. No Prop Collision Editor, defina What hits it como Everything.
- Por que não consigo passar embaixo da minha mesa?
- Uma envoltória convexa é uma única forma fechada sem buracos. Use caixas separadas para o tampo e as pernas, ou Its own triangles no GLB to Prop.

A ferramenta para isso
Prop Collision Editor
Arraste seu prop e modele a colisão sobre ele: caixas, esferas, cápsulas e cilindros, cada um com a superfície e o que ele para.
Abrir Prop Collision EditorTambém útil aqui: Model Inspector · GLB to Prop


