|
 | | |
|
| |  |   |  |  | |  |  | |  |  | |  |  | |  | |
 | | | |
Tem como rotacionar um Rectangle, ou Bounding Box, Sphere etc?
Se sim, como? Mee objetivo é verificar colisão com um objeto inclinado.
FLW E VLW! Meu site com Video-Aulas de Tutoriais: www.devtuts.com.br |
|
|
|  |  | | | |
O jogo é em 2D? Porque se for em 3D você rotaciona seu boundingbox junto com o objeto..não tem nada diferente.
Se for em 2D, você até pode rotacionar os vértices de seu retângulo (lembra das aulas de trigonometria?), mas nesse caso o melhor é você implementar a colisão por pixel, que vai testar a colisão pela intersecção de pixeis entre os dois sprites. Dá uma olhada nesse artigo aqui no Sharpgames e veja se a técnica não pode lhe ajudar. Tem um outro excelente no Creators Club que você deve dar uma olhada.
Se mesmo assim quiser usar boundingbox, esse outro artigo pode te ajudar. Microsoft Most Valuable Professional e Administrador do Sharpgames.
 |
|
|
|  |  | | | |
Hum. O jogo vai ser em 2D mas pode ser 3D.
Mas como assim rotacionar? Pode dar um trecho de código?
Porque a estrutura boundingBox aceita só o Min e Max. Não vi nada relacionado a rotação =.="
Mas posso estar cego. Ajuda ae por favor!
FLW E VLW! Meu site com Video-Aulas de Tutoriais: www.devtuts.com.br |
|
|
|  |  | | | |
Antes vamos ver se estamos falando a mesma coisa. Já viu esse artigo aqui no Sharpgames?
Agora, se for 3D, você vai criar um boundingbox como abaixo:
BoundingBox b = BoundingBox.CreateFromPoints(vertexs);
Onde vertexs é a sua lista de vértices.
Sendo simplista, ..se você vai rotacionar seu objeto (rotacionando os vértices), você altera também o boundigbox a cada rotação, recriando o boundingbox a partir dos vértices rotacionados. Isso não é o mais eficiente, mas é o mais simples.
Outra alternativa é usar um BoundingSphere, aí você nem precisa se preocupar em rotação, apenas nas translações.
Esse exemplo aqui também é legal porque usa uma biblioteca para testes de colisão mais precisa (baseada em triângulos).
Isso tudo só vale se você sabe rotacionar um objeto 3D. Se não sabe então sugiro fortemente que você procure fazer algo mais básico antes de tentar testar colisões. Colisões em 3D é uma das partes mais complexas em qualquer engine. Microsoft Most Valuable Professional e Administrador do Sharpgames.
 |
|
|
|  |  | | | |
Valeu mesmo cara.
Então eu rotaciono o vertice com o Matrix.CreateRotationX e talz certo,, igual ao modelo?
Pode deixar, eu trabalho pouco mas sei o básico do 3D =P
FLW E VLW! Meu site com Video-Aulas de Tutoriais: www.devtuts.com.br |
|
|
|
|  |  | |  |  | |  |  | |  |
|
|
| | |
|
|
|  |
 |  |
|