Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Curso basAR e Clicks

57 views

Published on

Tutorial

Published in: Education
  • Be the first to comment

  • Be the first to like this

Curso basAR e Clicks

  1. 1. Clicks Curso basAR Christopher Shneider Cerqueira – christophercerqueira@gmail.com Claudio Kirner – ckirner@gmail.com https://sites.google.com/site/christophercerqueira/projetos/ear/basar http://www.ckirner.com/basar 1
  2. 2. Requisitos • Windows • basAR – Download: • https://sites.google.com/site/christophercerqueira/proj etos/ear/basar • http://www.ckirner.com/basar • Alguns modelos 3D em VRML • Editor de texto simples, como o Bloco de Notas. basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/ 2
  3. 3. Roteiro • Introdução: Metas • basAR • Criando infraestrutura, estrutura e conteúdo • Criando comportamento de click. – Conceitos: • Mudança de estado • Mudança de atributos – Comandos – Alterando comandos – Atividade 3 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  4. 4. Introdução • Criar um cenário de Realidade Aumentada. – Dois pontos de seleção e um ponto de exibição • Utilizar o software basAR. • Entender a construção do cenário. • Entender os conceitos de mudança de estado e mudança de atributos 4 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  5. 5. basAR 5 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  6. 6. basAR: Behavioral Authoring System for Augmented Reality • Meta-ferramenta de autoria de ambientes inteligentes de realidade aumentada . – Estrutura de comportamento baseada em pontos de ação – Cross-Reality • COMPORTAMENTO DINÂMICO entre PONTOS DE AÇÃO Comportamento Pontos de ação Hardware Externo basAR 6 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  7. 7. • Infraestrutura: especificar a área de trabalho (workspace) da aplicação • Estrutura: os posicionamentos dos pontos de ação sobre a infraestrutura. • Contexto: modelos, sons e outros objetos definidos na estrutura. • Atuação: método de interação com a estrutura. • Comportamento: regras de interação entre os atuadores e a estrutura. Aplicação em camadas 7 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  8. 8. Hierarquia de objetos basAR Behavior Base Actuator point1 ... pointK app_pointM1 m1.dat m1.wrl ... ... ... Feedback Feedback Feedback Click1.mp3 Error.mp3 Turn real motor ON ... app_pointK m1.dat m1.wrl m2.dat M2.wrl 8 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  9. 9. Hierarquia de arquivos config_basAR config_behavior config_base config_actuator app_pointM1 m1.dat m1.wrl app_arduino app_pointK m1.dat m1.wrl m2.dat M2.wrl 9 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  10. 10. INFRAESTRUTURA, ESTRUTURA, CONTEÚDO E ATUAÇÃO Criando 10 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  11. 11. Sistema config_basAR config_behavior config_base config_actuator app_pointM1 m1.dat m1.wrl app_arduino app_pointK m1.dat m1.wrl m2.dat M2.wrl 11 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  12. 12. • Configura: – a primeira interligação dos objetos; – modo de exibição da janela; – objetos padrões. • Arquivo: {basAR}/Data/config_basAR Sistema 12 #config_basAR basAR WINDOWED VRML wrl/action/ballBlue.dat VRML Wrl/Action/ballGreen.dat VRML Wrl/Action/ballRED.dat VRML Wrl/action/tampa.dat Audio/explosion.wav 0.5 Audio/backTrack.mp3 LOOP 0.3 Audio/bell.wav ONCE 0.5 Data/config_behavior # Rule Machine # Bases 1 Data/config_base1 # Actuators 1 ARTKSM Data/config_transport basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  13. 13. Infraestrutura config_basAR config_behavior config_base config_actuator app_pointM1 m1.dat m1.wrl app_arduino app_pointK m1.dat m1.wrl m2.dat M2.wrl 13 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  14. 14. • correlação entre o mundo real e o mundo virtual • Definição de base • Arquivo: {basAR}/Data/config_base Infraestrutura #config_base1 # This file contains the setup for a workspace BASE1 # Single ARToolKit Marker configuration ARTKSM Data/Markers/base.patt 53.0 0.0 0.0 USE_DEFAULT # Workspace Sounds Audio/bell.wav ONCE 0.5 # Visible Sound Audio/explosion.wav 0.5 # Error sound wrl/action/status.dat 14 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  15. 15. Estrutura config_basAR config_behavior config_base config_actuator app_pointM1 m1.dat m1.wrl app_arduino app_pointK m1.dat m1.wrl m2.dat M2.wrl 15 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  16. 16. • Pontos do espaço virtual com esferas de ação, modelos associados e comportamento. • Localização, orientação e escala dos objetos virtuais. • Arquivo: {basAR}/Data/config_base … Pen # Point Name DEFAULT_IPOINT # Action Model File Data/app_pen # OBJECT Model File 20.0 20.0 0.0 # Translation 0.0 0.0 0.0 # Rotation 1.0 1.0 1.0 # Scale 900.0 # Action radius … Estrutura 16 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  17. 17. Exemplo com 3 pontos … 3 Ponto1 DEFAULT_IPOINT NO_OBJECT 100.0 100.0 25.0 0.0 0.0 0.0 1.0 1.0 1.0 300.0 Ponto2 DEFAULT_IPOINT NO_OBJECT 100.0 -100.0 25.0 0.0 0.0 0.0 1.0 1.0 1.0 300.0 pontoVisual DEFAULT_IPOINT Data/App/app_obj 100.0 0.0 25.0 0.0 0.0 0.0 1.0 1.0 1.0 0 {basAR}/Data/config_base 17 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  18. 18. Arquivo config_base completo _p1 BASE1 ARTKSM Data/Markers/base.patt 53.0 0.0 0.0 USE_DEFAULT Audio/bell.wav ONCE 0.5 Audio/explosion.wav 0.5 wrl/action/status.dat 3 Ponto1 DEFAULT_IPOINT NO_OBJECT 100.0 100.0 25.0 0.0 0.0 0.0 1.0 1.0 1.0 300.0 18 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  19. 19. Arquivo config_base completo _p2 Ponto2 DEFAULT_IPOINT NO_OBJECT 100.0 -100.0 25.0 0.0 0.0 0.0 1.0 1.0 1.0 300.0 pontoVisual DEFAULT_IPOINT Data/App/app_obj 100.0 0.0 25.0 0.0 0.0 0.0 1.0 1.0 1.0 0 19 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  20. 20. Conteúdo config_basAR config_behavior config_base config_actuator app_pointM1 m1.dat m1.wrl app_arduino app_pointK m1.dat m1.wrl m2.dat M2.wrl 20 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  21. 21. • objetos 3D e áudios que são utilizados. • Arquivos: {basAR}/Data/App/app_obj {basAR}/Wrl/quad.dat {basAR}/Wrl/triang.dat {basAR}/Wrl/quad.wrl {basAR}/Wrl/triang.wrl #app_obj 2 # Number of objects MODEL3D VRML Wrl/quad.dat MODEL3D VRML Wrl/triang.dat Conteúdo #quad.dat quad.wrl 0 0 0 0 90 0 0 0 0 21 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/ # triang.dat triang.wrl 0 0 0 0 90 0 0 0 0
  22. 22. Atuação config_basAR config_behavior config_base config_actuator app_pointM1 m1.dat m1.wrl app_arduino app_pointK m1.dat m1.wrl m2.dat M2.wrl 22 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  23. 23. • Interação do usuário com o sistema #config_tranport ARTKSM1 # Single ARToolKit Marker configuration Data/Markers/shovell.patt # Marker 37.0 # Width(mm) 0.0 0.0 # Central USE_DEFAULT # Marker cover VRML wrl/Action/ssd.dat # Symbolic model # Collision point DEFAULT_IPOINT # Point model 20.0 0.0 0.0 # Translation (x,y,z) (mm) 400.0 # Action radius of the point Atuação 23 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  24. 24. COMPORTAMENTO DE CLICKS Criando 24 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  25. 25. Comportamento? • Controle do feedback do sistema ao receber estimulo do usuário. • Baseado em máquina de estados (grafo de cena). • Ações  Comandos • Estados  Blocos de comandos 25 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  26. 26. Exemplo de estado • Inicia estado • Ponto 1 estático, exibe tudo • Ponto 1 estático, exibe tudo • Ponto 1 estático, exibe tudo • Finaliza estado • Outros comandos vide manual do basAR! BEGIN_STATE 1 1 STAT BOTH 2 STAT BOTH 3 STAT BOTH END_STATE 26 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  27. 27. O que é click? • Seleção  Ação  Liberação • Selecionar um ponto onde a ação é alterar o fluxo de execução para outro estado, onde as ações e atributos dos pontos podem ser alterados. 27 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  28. 28. Mapa de atitudes: • Clicando um ponto – Configuração do sistema • Modelos do ponto • Posicionamento do ponto – Animações simuladas • Matrizes de posicionamento 28 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/Collision between actuator and action point Move action point System Controlled User controlled Release point Test relseaseAttract point Repels point Reactive zone: collision of the moving point with others action points SelectionManipulationRelease Point selected If selectable Configure System Release point
  29. 29. Mudança de estado • A mudança de estado pode ser realizada pelo sucesso dos comandos de movimentação (Vide tutorial sobre movimentação) ou utilizando um ponto com uma ação de mudança de estado. • Com o click do atuador no ponto de mudança de estado é possível mudar os atributos e reconfigurar a atitude e exibição do ambiente. 29 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  30. 30. Tipos de estados Estado de trabalho • Este tipo de estado espera uma ação ser completada para que ocorra mudança de estado BEGIN_STATE 4 1 ... 2 ... END_STATE Estado de configuração • Este tipo de estado, após aplicar as alterações de comportamento, altera automaticamente o estado. BEGIN_STATE 4 1 ... 2 ... END_STATE GO_TO 5 30 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  31. 31. Comando que habilita mudança de estado • Mudar estado (Change State) – CHGST • 1 CHGST ONLY_OBJECT 4 31 Point ID CHGST Audio OverplayNextStateShowMode basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  32. 32. Mudanças de modelos • Podem ser alterados os modelos na lista de objetos. • Escolhas possíveis: – Escolha de modelo específico – Próximo modelo da lista (lista circular) 32 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  33. 33. Comando que muda modelo • Mudar modelo (Change active object) – CHGM • 1 CHGM 4 33 Point ID CHGM ModelToChange basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  34. 34. Comando que muda para o próximo modelo • Mudar para o próximo modelo (Change to next model) – CHGNM • 3 CHGNM 34 Point ID CHGNM basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  35. 35. Posicionamento do ponto • O posicionamento do ponto pode ser mudado no decorrer da aplicação. • É possível mudar a: – Translação – Rotação – Escala 35 +z +y +x basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  36. 36. Comando de mudança de translação • Transladar (Translate). Incrementa a posição atual em milimetros. – TRA • 2 TRA 100 0 0 • 2 TRA 0 50 100 10 100 36 Point ID TRA X Y Z Time Step basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  37. 37. Comando de mudança de rotação • Rotacionar (Rotate). Incrementa a rotação atual em graus. – ROT • 2 ROT 90.0 0.0 0.0 • 2 ROT 0.0 0.0 360.0 60 1000 37 Point ID ROT X Y Z Time Step basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  38. 38. Comando de mudança de escala • Alterar Escala (Scale). Incrementa a escala do valor atual multiplicando pelo valor inserido. – SCL • 1 SCL 0.5 0.5 0.5 • 1 SCL 2.0 2.0 2.0 1 50 38 Point ID SCL X Y Z Time Step basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  39. 39. Matrizes de posicionamento • Para auxiliar o controle dos pontos, cada ponto possui 3 matrizes de posicionamento em referencia ao marcadore de base (infraestrutura) – Matriz inicial. (Start) – Matril última. (Last) – Matriz atual. (Actual) 39 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  40. 40. Matrizes de posicionamento • Matriz inicial (Start) é a matriz que é carregada no início do programa, no arquivo de configuração da base (config_base) • Matriz última (Last) é a matriz que localiza o início de um movimento. • Matriz atual (Actual) é a matriz atual do movimento e a final após a liberação do ponto. 40 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  41. 41. Comandos sobre as matrizes • É possível copiar uma matriz para a outra, de forma a alterar o comportamento. Especialmente usado para alterar o comportamento padrão das ações de atração, repulsão e depósito. • Os comandos copiam: – Actual  Start e Actual  Last – Start  Actual e Last  Actual 41 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  42. 42. Comandos sobre as matrizes • Salva actual em start (Set Start) – SETS • Salva actual em last (Set Last) – SETL • Salva start em actual (Get Start) – GETS • Salva last em actual (Get Last) – GETL 42 Point ID SETS Point ID SETL Point ID GETS Point ID GETL basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  43. 43. Comandos sobre as matrizes 43 Start Last Actual SETS SETL GETS GETL basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  44. 44. Comportamento config_basAR config_behavior config_base config_actuator app_pointM1 m1.dat m1.wrl app_arduino app_pointK m1.dat m1.wrl m2.dat M2.wrl 44 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  45. 45. Comportamento de atração • Exemplo 1. Criar 2 pontos de ação, e 1 ponto estático para receber as alterações de atributos. • Arquivo de comportamento: {basAR}/Data/config_behavior • Ponto 1 move ponto 3 para esquerda, Ponto 2 move o ponto 3 para a direita. 45 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  46. 46. Arquivo de Comportamento BEGIN_STATE 1 1 CHGST ONLY_BALL 2 2 CHGST ONLY_BALL 3 3 STAT ONLY_OBJECT END_STATE BEGIN_STATE 2 1 STAT ONLY_BALL 3 TRA 0 -5 0 END_STATE GO_TO 1 BEGIN_STATE 3 2 STAT ONLY_BALL 3 TRA 0 5 0 END_STATE GO_TO 1 46 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  47. 47. ALTERAR COMPORTAMENTO Atividade: 47 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  48. 48. Translação • Mudar para movimento vertical. • Mudar no estado 2 o comando para ir para cima: – 3 TRA -5 0 0 • Mudar no estado 3 o comando para ir para baixo – 3 TRA 5 0 0 48 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  49. 49. Rotação • Rotacionar o ponto em dois eixos • Mudar no estado 2 o comando para rotacionar no eixo X: – 3 ROT 5 0 0 • Mudar no estado 3 o comando para rotacionar no eixo Y – 3 ROT 0 5 0 49 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  50. 50. Escala • Variar a escala do objeto do ponto • Mudar no estado 2 o comando para aumentar o tamanho do modelo. – 3 SCL 1.25 1.25 1.25 • Mudar no estado 3 o comando para diminuir o tamanho do modelo. – 3 SCL 0.75 0.75 0.75 50 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  51. 51. Mudar modelo • Alterar o modelo. • Mudar no estado 2 o comando para chamar o modelo 2 da lista. – 3 CHGM 2 • Mudar no estado 3 o comando para chamar o próximo modelo da lista. – 3 CHGNM – END_STATE GO_TO 1 AFTER 1 51 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  52. 52. Animação Simulada • Com um botao o modelo move e com o outro faz o modelo rotacionar. • Mudar no estado 2 o comando para acionar o movimento: – 3 TRA 1 1 0 0 2 20 – END_STATE GO_TO 1 AFTER 2 • Mudar no estado 3 o comando para acionar a rotação: – 3 ROT 360 0 0 2 20 – END_STATE GO_TO 1 AFTER 2 52 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  53. 53. RESUMO 53 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  54. 54. Resumo comandos utilizados –STAT: [PointID] STAT [ShowMode] <AUDIO> <OVER?> –CHGST: [PointID] CHGST [ShowMode] [NextState] <AUDIO> <OVER?> –TRA: [PointID] TRA [X] [Y] [Z] <Time> <Step> –ROT: [PointID] ROT [X] [Y] [Z] <Time> <Step> –SCL: [PointID] SCL [X] [Y] [Z] <Time> <Step> –CHGM: [PointID] CHGM [ModelToChange] –CHGNM: [PointID] CHGNM –SETS: [PointID] SETS –SETL: [PointID] SETL –GETS: [PointID] GETS –GETL: [PointID] GETL 54 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  55. 55. Ajuda online • Videos exemplificando cada comportamento disponível e os arquivos utilizados neste tutorial estão disponíveis em: https://sites.google.com/site/christophercerquei ra/projetos/ear/basar/cursos 55 basAR: Clicks sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  56. 56. Clicks Curso basAR Christopher Shneider Cerqueira – christophercerqueira@gmail.com Claudio Kirner – ckirner@gmail.com https://sites.google.com/site/christophercerqueira/projetos/ear/basar http://www.ckirner.com/basar 56

×