 | | |
| Colisão entre modelos .fbx |
|
|
Ola a todos, eu estou com uma duvida,... estava lendo sobre como detectar colisões e até entendi como funciona o bouldingbox, porem não entendi como vou saber quais são as coordenadas de cada objeto que tem no meu mapa??, ..
Eu fiz uma cidade no Blender e a exportei em fbx, então como farei para que verifique cada colisão?? |
|
|
|  |  | | |
| Re: Colisão entre modelos .fbx |
|
|
Opa tudo bom? cara para tu detectar colisão entre vários objetos, eles vão ter de ser representados por primitivas ( boxes, spheres, etc.. ), um jeito seria associar a cada mesh do modelo uma primitiva com a mesma orientação e posição da mesh. para meshes estáticas é possível criar colisão com elas ( pelo o que eu li , porém não testei isso ainda ) . Se tu quizer, existe uma biblioteca de física preparada para isso já, a jiglibx . Dá uma olhada, recomendo tu usar ela, caso tu não queira implementar a tua. e ela é free também.
Jiglibx:
http://www.codeplex.com/JigLibX
Fórum de ajuda sobre ela:
http://jiglibx.wikidot.com/
|
|
|
|  |  | | |
| Re: Colisão entre modelos .fbx |
|
|
Olá amigo, blz?
O negócio é o seguinte, trabalhei em um projeto em que utilizei elementos 3D (fbx's feitos no XSI Mod Toll) estáticos, sem bones nem nada...
Para fazer as colisões, atribuí bounding spheres para cada um deles, deixando sempre o centro da bounding sphere na mesma posição do objeto.
As coordenadas 3D são meio loucas, mesmo. Existe em algum lugar o ponto (0, 0, 0), de onde partem as coordenadas.
Pra se achar, eu creio que seria negócio colocar qualquer objeto no ponto (0,0,0) e utilizá-lo como referência, sei lá...
Espero ter ajudado.
boa sorte!! Marcos Dobrowolski |
|
|
|  |  | | |
| Re: Colisão entre modelos .fbx |
|
|
Dobrowolski escreveu
Olá amigo, blz?
O negócio é o seguinte, trabalhei em um projeto em que utilizei elementos 3D (fbx's feitos no XSI Mod Toll) estáticos, sem bones nem nada...
Para fazer as colisões, atribuí bounding spheres para cada um deles, deixando sempre o centro da bounding sphere na mesma posição do objeto.
As coordenadas 3D são meio loucas, mesmo. Existe em algum lugar o ponto (0, 0, 0), de onde partem as coordenadas.
Pra se achar, eu creio que seria negócio colocar qualquer objeto no ponto (0,0,0) e utilizá-lo como referência, sei lá...
Espero ter ajudado.
boa sorte!!
|
No XNA, por padrão, o ponto (0, 0, 0) começa no centro da Tela.
Quando se está renderizando objetos através de SpriteBatch, por padrão, o ponto (0, 0) fica no canto superior esquerdo da tela.
Se tratando de modelos, eles são renderizados a partir de seu centro, ou seja, o centro do modelo vai servir como ponto de partida para rotação, posicionamento no mundo, etc. Administrador do SharpGames. |
|
|
|  |  | | |
| Re: Colisão entre modelos .fbx |
|
|
Desculpe, talvez eu tenha sido infeliz na observação sobre o ponto de referência 3D, ou esteja enganado mesmo...
mas pelo que observei, existe um ponto zero no centro da tela. Essa será a referência para todo o resto do jogo, inclusive, posso construir o mapa inteiro em coordenadas positivas, só precisando mover a câmera para enquadrá-lo.
Os objetos, por sua vez, têm como ponto de posicionamento o seu centro, que, para movimento, deve ser relativo à posição original do mundo.
Posso ter uma nave em (50, 50, 50) por exemplo.
Por padrão, começo com a câmera apontando para o ponto Zero, mas creio que se apontá-la para o (50,50,50), estaria vendo a minha nave....
Por favor, posso estar fazendo confusão, me corrijam se eu estiver errado....
Vlws!!
Marcos Dobrowolski |
|
|
|
|  |