Your SlideShare is downloading. ×
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect

4,979

Published on

Tutorial apresentado no SBGames 2011. …

Tutorial apresentado no SBGames 2011.
Link relacionado: http://www.brunocampagnolo.com/tutorialkinect2011/

Published in: Technology
1 Comment
2 Likes
Statistics
Notes
No Downloads
Views
Total Views
4,979
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
114
Comments
1
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • + Dados (http://www.lukew.com/ff/entry.asp?1348): 2,5 milhões em 30 dias; 2/3 dos donos de XBOX americanos compraram um Kinect; Ganhou o MacRober Award. 11/11/11
  • 11/11/11
  • http://veja.abril.com.br/noticia/vida-digital/%E2%80%9Cdesenvolvi-o-primeiro-prototipo-em-dois-meses%E2%80%9D-diz-criador-do-kinect "Ao acordar um dia, percebi que não havia qualquer dispositivo eletrônico ao meu redor e gostei daquela sensação. Então, pensei que seria bom jogar games daquela maneira, sem fios ou controles: decidi dar fim aos botões” http://www.engadget.com/2009/06/03/microsofts-project-natal-roots-revealed-3dv-systems-zcam/ 11/11/11
  • http://jogos.uol.com.br/videos/player.jhtm?mediaId=entrevista-com-alex-kipman-04029B3560D0B98307 11/11/11
  • Fonte: http://www.wired.com/magazine/2011/06/mf_kinect/all/1 11/11/11
  • Imagem original: - http://blogs.msdn.com/b/eternalcoding/archive/2011/06/13/unleash-the-power-of-kinect-for-windows-sdk.aspx 11/11/11
  • Ilustração do design de referência da PrimeSense, parceira da Microsoft no desenvolvimento do Kinect Retirado de: http://readwriteweb.com.br/2010/11/09/um-cientista-explica-o-microsoft-kinect/ Fonte da 2ª imagem: http://www.wired.com/gadgetlab/2010/11/kinect-teardown-reveals-ir-projector-fan/ 11/11/11
  • Figura original em: http://www.mattcutts.com/blog/open-kinect-contest/ Veja também o video em: http://www.youtube.com/watch?v=nvvQJxgykcU 11/11/11
  • Ver mais sobre como hackear um dispositivo USB: http://www.ladyada.net/learn/diykinect/ 11/11/11
  • left_arm_up 5 key_hold x left_arm_up 5 mouse_hold left_button
  • Transcript

    • 1. Kinect Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect Bruno C. de Paula
    • 2. Quem sou eu? Bruno Campagnolo de Paula brunodepaula@gmail.com http://www.brunocampagnolo.com http://twitter.com/bcp
    • 3. Material deste tutorial
      • www.brunocampagnolo.com/tutorialkinect2011
    • 4. Por que estou aqui? 11/11/11 Centro de Engenharia de Sistemas Inteligentes
    • 5. Por que estou aqui?
      • PUCPR ;
      • Professor dos cursos de jogos e do curso de Sistemas de Informação;
    • 6. Resumo
      • Vamos aprender o que é o Kinect;
      • Arquitetura básica ;
      • Falar sobre o princípios de funcionamento ;
      • Usar o FAAST para prototipação rápida de aplicativos com o Kinect;
      • Demonstrar ferramentas de desenvolvimento e o SDK oficial.
      • Comentar sobre aplicações e projetos.
    • 7. Público-alvo da palestra
      • Pessoal da computação em geral ;
      • Interessados em robótica ;
      • Desenvolvedores de jogos;
      • Pesquisadores e desenvolvedores interessados no futuro dos sistemas de informação ;
      • Educadores ( gesture based learning ).
      11/11/11
    • 8. PARTE 1 O que é o Kinect?
    • 9. O que é o Kinect?
      • Dispositivo de interação natural ;
      • Microsoft;
      • XBOX 360 ( jogos );
      • Lançamento: 4/11/2010 ;
      • 8 milhões vendidos em 60 dias ( recorde );
      • 10 milhões até março de 2011;
      11/11/11
    • 10. Motivação para criação do Kinect
      • Sucesso do Wii;
      11/11/11
    • 11. Wii / Kinect não são tão pioneiros! Dispositivos de interface natural
      • Trabalhos de Myron Krueger (Video Place);
      • Problemas sempre foram: performance e reconhecimento facial.
      11/11/11
    • 12. Wii / Kinect não são tão pioneiros! Dispositivos de interface natural
      • Activator, EyeToy, Track IR
    • 13. Wii / Kinect não são tão pioneiros! Dispositivos de interface natural
      • Não faça com o Kinect o que uma câmera normal resolve!
      • Exemplo de projeto final.
    • 14. Kinect não é o único dispositivo moderno de interface natural atual
      • Wavi Xtion da Asus
      11/11/11
    • 15. Kinect não vai ser o único dispositivo futuro de interface natural
      • Windows 8/9;
      • iOs 6;
      11/11/11
    • 16. Projeto Natal - Origem
      • Forte P&D;
      • Alex Kipmann - Diretor de incubação da Microsoft;
      • PrimeSense ;
      • 3DV Systems.
      11/11/11
    • 17. History is about to be rewritten. This time human beings will be at the centre -- and the machines will be the ones that adapt . (apresentação do Kinect 2010 )
    • 18. 11/11/11 Se você sabe mover-se você sabe usar o Kinect
    • 19. 11/11/11 Qualquer tecnologia suficientemente avançada é indistinguível de magia. Arthur C. Clarke
    • 20. Arquitetura do Kinect 11/11/11
    • 21. Arquitetura do Kinect 11/11/11 Projetor de Luz Infravermelha (invisível) Câmera RGB (“comum”) Câmera infravermelha Conjunto de microfones Motor
    • 22. Arquitetura do Kinect 11/11/11
    • 23. Arquitetura do Kinect Image Stream
      • Cada pixel representa uma cor;
      • 640x480 (30 fps) OU
      • 1280x1024 ( máximo 15 fps);
      11/11/11
    • 24. Arquitetura do Kinect Depth Stream
      • Cada pixel representa a distância em relação ao objeto;
        • 11 bits de precisão ( 2048 níveis de sensibilidade);
        • 1.2 a 3.5 metros;
      • 640x480 (30 fps – sem informação do jogador) e 320x240 (30 fps – com informação do jogador);
      11/11/11
    • 25. Arquitetura do Kinect Audio Stream
      • 4 microfones;
      • Anula ruído e eco.
      • Permite gravação de audio;
      • Excelente reconhecimento de fala (em inglês );
      11/11/11
    • 26. Arquitetura do Kinect Motor
      • 27 graus para cima ou para baixo;
      • Não chamar com muita freqüencia;
      • SDK, por exemplo, limita em 15 vezes a cada 20 segundos.
      11/11/11
    • 27. Sensor de profundidade 3d do Kinect 11/11/11 Projetor de Luz Infravermelha Câmera infravermelha Sensor de Profundidade 3D
    • 28. Princípio de funcionamento do sensor de profundidade 3D
      • Medição de um “ padrão ” invisível projetado no corpo;
      11/11/11 Observação: não é uma câmera estereoscópica !
    • 29. Informações de esqueleto dos jogadores
      • Detecta até 6 jogadores ;
      • Obtém informação de esqueleto de 2 jogadores ;
      • Dá para obter a qualidade da captura;
      • Este é o grande destaque do Kinect na área de Machine Learning .
      11/11/11
    • 30. Informações de esqueleto dos jogadores
    • 31. O que dá para fazer com tudo isto?
      • Vídeo sobre Os 5 primeiros meses do Kinect;
      • Antes do lançamento do SDK Oficial!!
      11/11/11
    • 32. Desenvolvendo para o Kinect
      • Drivers abertos ( Open Kinect ):
        • Windows XP, Vista, 7;
        • MacOS X;
        • Linux;
        • Open Source;
      • OpenNI (PrimeSense):
        • Windows, Linux, Mac OS X;
      • Kinect SDK :
        • Oficial da Microsoft;
        • Apenas para Windows 7 ;
      11/11/11
    • 33. Desenvolvendo para o Kinect Drivers abertos
      • Após o lançamento foi “hackeado” em poucos dias ;
      • Ele é um dispositivo USB não criptografado !
      • Microsoft já estava prevendo usos fora do XBOX;
      • Open Kinect Contest
        • US$ 3.000,00;
      11/11/11
    • 34. Desenvolvendo para o Kinect OpenNI
      • Wrappers para linguagens diversas:
        • C, C++, Processing, Java, Scratch;
      • Fácil de integrar com o FAAST ;
      • O FAAST permite a criação de programas para o Kinect sem saber programar para o Kinect.
      11/11/11
    • 35. Desenvolvendo para o Kinect SDK oficial
      • 13/junho/2011
      • Windows 7;
      • 2GB RAM;
      • DirectX 9.0c;
      • Dual Core 2.66 GHz;
      • Versão Beta ;
      • Licença não-comercial ( cuidado !!) ;
      11/11/11
    • 36. PARTE 2 Prototipação rápida para o Kinect usando o FAAST
    • 37. FAAST
      • Flexible Action and Articulated Skeleton Toolkit;
      • University of Southern California;
      • Permite o mapeamento de movimentos do corpo em ações de dispositivos tradicionais de interação (mouse e teclado);
      • Também faz o streaming via VRPN (Virtual Reality Peripheral Network);
      • Elimina a necessidade de programação;
      • Adequado para prototipação rápida .
    • 38. Instalação
      • Usar o Zigfu Dev Bundle ;
      • OU:
        • Instalar OpenNI;
        • Instalar NITE;
        • Instalar sensores.
      • Veja mais detalhes no texto do tutorial.
    • 39. Tela inicial do FAAST
    • 40. Configuração do sensor
      • Full Body : o corpo todo é considerado;
      • Upper Body : apenas a parte superior do corpo;
      • Lower Body : apenas a parte inferior;
      • Hands Only : apenas as mãos, pode utilizar um focus gesture para habilitar o reconhecimento das ações;
      • Smoothing factor : suavização da perturbação do movimento. 0.07~0.08 para controle de mouse preciso.
    • 41. Calibração
      • Pose de psi ;
      • Essencial em aplicação baseada em OpenNI.
    • 42. Controle de mouse
      • Associação da mão esquerda ou direita à posição do mouse;
      • Controle absoluto : posição do mouse determinada a partir da posição dentro do bounding rectangle ;
      • Controle relativo : velocidade do mouse determinada a partir da distância até o bounding rectangle ;
    • 43. Controle do mouse
      • Forward Threshold : distância que a mão deve ser extendida à frente para ativar o controle do mouse.
      • Movement Threshold : valor mínimo em pixels necessário para alterar a posição do mouse;
      • Speed : no movimento relativo, velocidade máxima nos limiares.
    • 44. Mapeamento de ações em eventos
      • nome_ação : nome da pose ou gesto;
      • limiar : mínimo de ativação, depende da ação;
      • tipo_evento : tipo de evento que será gerado;
      • nome_evento : evento específico que será gerado.
      • Ver tabelas 1, 2 e 3 no texto do tutorial!
    • 45. Exemplo 1
      • lean_left 20 key_hold left_arrow
      • lean_right 20 key_hold right_arrow
      • jump 2 key_press space
    • 46. Exemplo 2
      • lean_left 20 key_hold a
      • lean_right 20 key_hold d
      • lean_forwards 15 key_hold w
      • lean_backwards 15 key_hold s
    • 47. Atividade!
      • Crie controles para os seguintes jogos:
        • Canabalt;
        • Muulti-Muu.
        • Angry Birds;
    • 48. PARTE 3 Programando para o Kinect Exemplos em: Processing SDK Oficial
    • 49. Usando o Processing
      • Processing é uma linguagem voltada para desenho , animação e interação ;
      • Bastante adequada para prototipação rápida de jogos .
    • 50. Exemplos de uso da biblioteca SimpleOpenNI
      • exemplo1;
      • exemplo2;
      • Estudo de caso: 3dpht.
    • 51. DEMOS do QuickStart do Kinect http://channel9.msdn.com/Series/KinectSDKQuickstarts /
      • 1)Instalação do Sensor / Download do SDK ;
      • 2) Configurando o ambiente ;
      • 3) Criando um projeto Kinect no Visual Studio;
      • 4) Exibindo a imagem da câmera ;
      • 5) Alterando o ângulo de elevação da câmera;
      • 6) Trabalhando com a informação de profundidade ;
      • 7) Obtendo informações do esqueleto
      • 8) Reconhecimento de fala.
      11/11/11
    • 52. 1)Instalação do Sensor
      • O Kinect que vem no Bundle do XBOX não tem o cabo de energia (pode ser comprado a parte );
      • Não coloque 2 Kinects ou 2 câmeras no mesmo hub USB;
      • Verifique a versão do Windows (64 / 32 bits).
      11/11/11
    • 53. 2) Configurando o ambiente
      • Instalar Visual Studio (pode ser o Express );
      • Instalar DirectX SDK – Junho 2010 ;
      • Instalar Runtime do DirectX ;
      • Se quiser usar o reconhecimento de voz:
        • Speech Runtime 10.2 ;
        • Kinect Speech Platform ;
        • Speech SDK ;
      11/11/11
    • 54. 3) Criando um projeto Kinect no Visual Studio 11/11/11
    • 55. 3) Criando um projeto Kinect no Visual Studio 11/11/11
    • 56. 3) Criando um projeto Kinect no Visual Studio 11/11/11 *
    • 57. 4) Exibindo a imagem da câmera
      • Ver eventos VideoFrameReady e DepthFrameReady ;
      11/11/11
    • 58.  
    • 59. 5) Alterando o ângulo de elevação da câmera
      • nui.NuiCamera.ElevationAngle = (int)slider1.Value;
      • Máximo de 15 mudanças em 20 segundos;
      • -27 a +27 graus;
      11/11/11
    • 60. 6) Trabalhando com informação de profundidade
      • Cálculo da distância em milímetros:
        • Depth Image Type;
          • Bitshift o segundo byte por 8;
          • Distância = (int) Bits[0] | Bits[1] << 8 ;
        • DepthAndPlayerIndex Type:
          • Bitshift do primeiro por 3 e do segundo por 5;
          • Distância = (int) Bits[0] | Bits[1] << 5 ;
      • O Player Index indica o jogador que está contido naquele ponto;
      • Máximo de 6 jogadores;
      11/11/11
    • 61. 7) Obtendo informações do esqueleto
      • Evento SkeletonFrameReady .
      11/11/11
    • 62. 7) Obtendo informações do esqueleto
      • Cada joint retorna:
        • X – Posição horizontal entre -1 e 1
        • Y – Posição vertical entre -1 e 1
        • Z – Distância até o Kinect em metros
      • Cada joint tem um estado associado:
        • Tracked;
        • Not Tracked: raro ;
        • Inferred: oclusão, cortado, baixa confiança.
      11/11/11
    • 63. PARTE 4 Aplicações
    • 64. Kinect Effect
      • http://www.xbox.com/en-US/kinect/kinect-effect?uid=150260184&tid =
    • 65. Aplicações e possibilidades do Kinect
      • Controle de dispositivos através das mãos (Minority Report);
      11/11/11
    • 66. Aplicações e possibilidades do Kinect
      • Controle robótico:
        • Kits que eram $28.000 agora são $500;
        • Exemplo com quadricóptero ;
      11/11/11
    • 67. Aplicações e possibilidades do Kinect
      • Mocap baratíssimo!
      11/11/11
    • 68. Aplicações e possibilidades do Kinect
      • Video conferência 3D ;
      11/11/11
    • 69. Aplicações e possibilidades do Kinect
      • Scanner 3D (melhor ainda se integrado com uma impressora 3D);
      11/11/11
    • 70. Aplicações e possibilidades do Kinect
      • Kinect + Realidade Aumentada
      11/11/11
    • 71. Aplicações e possibilidades do Kinect
      • Kinect Shopping
      11/11/11
    • 72. Aplicações e possibilidades do Kinect
      • Trocar canal da TV;
      • Adaptação de jogos normais para Kinect;
      • Ensino de idiomas;
      • Ensino em geral;
      • Sistema de navegação para carros;
      • Música;
      • Aplicações médicas;
      • Controle de Apresentação (PowerPoint);
      • COLOQUE A SUA IDEIA AQUI!!!!
      11/11/11
    • 73. Mas, não precisa usar o Kinect para tudo...
      • Cliente Twitter usando o Kinect;
      11/11/11
    • 74. Links Recomendados
      • Kinect Hacks:
        • http://kinecthacks.net/
        • Portal que centraliza aplicativos e testes com o Kinect.
      • Kinect Education:
        • http://www.kinecteducation.com/
        • Usos do Kinect na educação;
      11/11/11
    • 75. Links Recomendados
      • Kinect SDK:
        • http://research.microsoft.com/en-us/um/redmond/projects/kinectsdk/
        • Portal oficial da Microsoft sobre desenvolvimento para o Kinect;
      • Coding4Fun Kinect Toolkit:
        • http://c4fkinect.codeplex.com/
        • Bibliotecas extras úteis para uso com o SDK.
      11/11/11
    • 76. Links Recomendados
      • OpenKinect:
        • http://openkinect.org/wiki/Main_Page
        • Download dos drivers open source - libfreenect;
      • OpenNI:
        • http://www.openni.org/
        • Download dos drivers da PrimeSense.
      11/11/11
    • 77. Material Extra e Referências
      • http://blogs.msdn.com/b/uk_faculty_connection/archive/2011/06/21/kinect-for-windows-sdk-event.aspx
      • http://readwriteweb.com.br/2010/11/09/um-cientista-explica-o-microsoft-kinect/
      • http://www.kinecteducation.com/
      • http://www.wired.co.uk/magazine/archive/2010/11/features/the-game-changer?page=all
      11/11/11
    • 78. Obrigado!! brunodepaula@gmail.com http://www.brunocampagnolo.com http://twitter.com/bcp www.brunocampagnolo.com/tutorialkinect2011

    ×