Slides - WRVA 2014

Download Report

Transcript Slides - WRVA 2014

Realidade
Aumentada e
Unity3D
Allan Oliveira
Começando...(veja a
apresentacao em tela cheia)
 Abram
a Unity3D
 Criem um projeto novo
 Importem o Vuforia 3.0 para o novo projeto


vuforia-unity-android-ios-3-0-9.unitypackage
Caso não tenha procure por Unity Extension Vuforia v3.0, cadastre no site e faça o
download
 Baixem
projetos conceitos para olharmos se
sobrar tempo

https://developer.vuforia.com/resources/sampl
e-apps/features
Vamos criar nossos próprios
marcadores?
 Acessem
o site
https://developer.vuforia.com/resources/
dev-guide/target-manager-user-guide
 Registre-se caso ainda não tenha feito
 Clique no menu superior “Target
Manager”
 Criem um novo Database
 Add new Target
Meu modelo de Target
Criando os próprios
marcadores
 No
gerenciador de Targets, é possivel explorar
cada Target criado e ver quao rastreavel ele é
em estrelas de 1 a 5
O
site tmb da dicas de como melhorar o seu
marcador ou que tipo de marcador criar, e na
opcao Show Features é possivel ver o seu Target
pelo algoritmo de reconhecimento de padroes
do Vuforia
Com o Target criado...
 Baixe
o Target para seu computador, e
importe ele no projeto da Unity
Hora de começar a
diversão!
Revisao rapida de Unity

Interface da Unity


Oque é um Transform?
Oque é um Gameobject?
Oque é uma Camera?

Começando:



Delete a Main Camera na cena
Coloque na cena o Prefab ARCamera


Path: Qualcomm Augmented Reality\Prefabs\ARCamera
Do manual: “The ARCamera is responsible for rendering the
camera image in the background and manipulating scene
objects to react to tracking data”
Configurando a Webcam do
PC
 Como
o tempo é curto, vamos fazer os
testes no PC. Porem o plugin foi feito para
Android e iOS
Configurando o marcador
(Target)
Criando um simples objeto 3D
para ser renderizado
 Crie
um cubo
 Coloque ele como filho do ImageTarget
 Ajuste sua posição e tamanho
O gerenciador de rastreamento:
TrackableEventHandler


The Default Trackable Event Handler
(DefaultTrackableEventHandler) is a script
component of the Image Target that causes the
cube you just drew to appear or disappear
automatically – an automatic reaction to the
appearance of the target in the video.
You can override this default behavior – one could
also imagine playing a fade-out animation, showing
an info screen or playing a sound for example. For a
more detailed description of
the ITrackableEventHandlerinterface, please
see 'Responding to Tracking Events' in here:

https://developer.vuforia.com/resources/devguide/special-options-unity
Se tivermos tempo...
Vamos criar botões virtuais!!!
 Importe
 Abre

o projeto VirtualButtons
a cena Vuforia-VirtualButtons
Path: Qualcomm Augmented
Reality\Scenes\Vuforia-VirtualButtons
Fazer as trocas necessárias
para usar o marcador de
escolha
 Ou
somente salve a imagem do
marcador desse projeto no seu celular e
mostra para a câmera.

\Editor\QCAR\ImageTargetTextures\Stone
sAndWood\wood_scaled
Restrições



Virtual buttons work only with image targets, and not with
frame markers or multi-targets.
Virtual buttons need to cover an area of the target that
includes detectable features.
Create a new virtual button for a given image target at
runtime by calling the CreateVirtualButton member function on
the corresponding instance of your ImageTargetBehaviour.


Note: The position and size arguments are defined in the local
image target space.
Destroy a virtual button by calling DestroyVirtualButton, which is
also defined inImageTargetBehaviour.

Note: Because of swappable databases, the database must be
deactivated before creating a virtual button.
Código de exemplo para criar
um botão novo em runtime
// Deactivate the current data set
ImageTracker imageTracker = (ImageTracker)
TrackerManager.Instance.GetTracker<ImageTracker>();
//Here we assume that the first active data set contains the image target
DataSet dataSet = imageTracker, GetActiveDataSets().First();
imageTracker.DeactivateDataSet(myDataSet);
// Create a virtual button
ImageTargetBehaviour itb = GetComponent<ImageTargetBehaviour>();
VirtualButtonBehaviour vbb = itb.CreateVirtualButton("mybutton",
new Vector2(0, 0),
new Vector2(0.1f, 0.1f));
// Register an event handler
// Here we assume this class extends IVirtualButtonEventHandler
vbb.RegisterEventHandler(this);
// Reactivate the dataset
imageTracker.ActivateDataSet(myDataSet);