Unreal Engine - Colisões

Por: SERPA  

Em: 19/05/2019 16:35

Fiz uma planta de uma casa no Revit e importei para o Unreal via FBX com colisão ligada pois minha intenção era de que depois eu pudesse definir por onde meu personagem poderia entrar no passeio virtual da maquete. Seria apenas pelas aberturas das portas.

Como eu faço isso? Como eu configuro para que eu entre na casa apenas pela abertura das portas?
Oi Serpa, tudo bem?

Eu não sei como funciona no Revit, mas se você exporta através de FBX é para funcionar exatamente igual a uma exportação do 3ds max ou de qualquer outro Soft 3D.

Parece uma questão simples, mas no Unreal é cheio de detalhes porque a colisão é muito importante e influi no desempenho.

1- Se quiser apenas testar é fácil, basta abrir a janela de edição do Mesh e mudar para Use Complex Collision as Simple no Collision Complexity, como mostra a imagem 1.
Vai funcionar, mas desta forma vai usar o próprio Mesh do objeto como colisor e isso é muito pesado, se o objeto for denso vai dar problema.

A colisão do Mesh atualmente vem habilitada por padrão, você pode ver clicando no ícone do Collision e habilitando o Complex Collision, dai as Edges da malha ficam azuis indicando que a colisão da malha está ligada.

2- O mais correto é criar colisores primitivos que são muito mais econômicos e tem duas formas de fazer.
A primeira é criar na própria janela de edição do Mesh clicando no menu Collision > Add Box Simplified Collision ou qualquer outra das opções disponíveis conforme a sua necessidade.

Neste caso é bom desabilitar a colisão pelo Mesh no menu LOD > Sections > Enable Collision, como mostra a imagem 2.
Também precisa voltar o Collision Complexity para Project Default se tiver mudado para Use Complex Collision as Simple.

3- Depois que criar o colisor simples, é só selecionar para aparecer os ícones do Move, Rotate e Scale para ajustá-lo de acordo com as aberturas das portas, dai pode criar outros colisores conforme precisar.
Na janela de edição do Mesh você pode trocar para outras vistas e tal, mas é limitada e chata de trabalhar perto dos Softs 3D.

4- O ideal é criar os colisores no programa 3D que modelou o projeto, essa parte eu não sei como funciona no Revit, mas o Unreal vai pelo nome do objeto no FBX, então, é para funcionar igual no Max.
Por exemplo, se tenho uma parede no Max igual a mostrada na imagem 4 com o nome de "parede_teste" e quero criar os colisores para ela.

5- Ligo o Snap Vertex e crio dois Boxes deixando a passagem da porta, como mostra a imagem 5.
Dai coloco o nome num dos Boxes de "UCX_parede_teste_01" e no outro Box de "UCX_parede_teste_02".
Retiro a parede do Hide, seleciono a parede, os dois Boxes colisores e uso o Export Selected para salvar o FBX.

6- Na importação no Unreal eu desmarco o Auto Generate Collision e marco o One Convex Hull Per UCX, como mostra a imagem 6.

7- Pronto, quando abrir a janela de edição do Mesh e habilitar a visualização das colisões simples, vai mostrar os dois Boxes que importou como colisores igual na imagem 7.
Não precisa desmarcar a colisão do Mesh porque com o Collision Complexity no Project Default ele desconsidera a colisão do Mesh, mas é melhor desmarcar para evitar problemas!

Abração e tudo de bom.

André Vieira

Faça o login para poder comentar

Usuários conectados

Total de mensagens publicadas pelos membros da comunidade: 707510.

Total de membros registrados: 135169

Últimos membros registrados: scvzxcvzxcvxcvz, Fastburndiets, Neesaun, qdsakhba, Shishui026, vsdfvasdf, jvmferreira, THIAGO BARCELLOS.

Usuário(s) on-line na última hora: 631, sendo 10 membro(s) e 621 visitante(s).

Membro(s) on-line na última hora: Carlos E. Nogueira, Daniel Monteiro, Alex Bastos , Sergio1987, Willmitnick, Junior, scvzxcvzxcvxcvz, emersonforentin, mastermax, TadeuB79.

Legenda: Administrador, Especial, Moderador, Parceiro .

3D1 © Três D1 © 1999-2024. Todos direitos reservados.